遗传算法整合talib技术分析算子做因子挖掘,比如ADX, 阿隆指标等

news2024/11/14 15:04:13

 原创内容第631篇,专注量化投资、个人成长与财富自由

七年实现财富自由

七年,经过十万小时刻意练习,足矣在任何领域成为专家。 七年,成为自己的财富管理专家。 七年,实现财富自由。

1512篇原创内容

公众号

星球本周重点计划如下:

遗传算法整合talib技术分析算子,比如CCI, 阿隆指标等。

通过大模型生成遗传算法的初代因子。

01

技术指标与遗传算法因子挖掘

传统技术分析有图表分析,模式识别和技术指标

图表分析主要是K线上,模式识别如“头肩顶”,“五浪“之类的。

这两者有一个缺点,就是主观性较强。

同一个模式,不同的人看,结果可能不同,这种就不好量化。

技术指标相对更加客观和可量化。

技术指标本身也是因子函数。

图片

封装talib的代码比较简单,主要就是调用相应的函数:

@calc_by_symbol
def ta_dema(X, d):
    X.ffill(inplace=True)
    y = talib.DEMA(X, d)
    return y


@calc_by_symbol
def ta_ma(X, d):
    X.ffill(inplace=True)
    y = talib.MA(X, d)
    return y


@calc_by_symbol
def ta_kama(X, d):
    X.ffill(inplace=True)
    y = talib.KAMA(X, d)
    return y


@calc_by_symbol
def ta_ema(X, d):
    X.ffill(inplace=True)
    y = talib.EMA(X, d)
    return y


@calc_by_symbol
def ta_linearreg_angle(X, d):
    X.ffill(inplace=True)
    y = talib.LINEARREG_ANGLE(X, d)
    return y


@calc_by_symbol
def ta_linearreg_slope(X, d):
    X.ffill(inplace=True)
    y = talib.LINEARREG_SLOPE(X, d)
    return y


@calc_by_symbol
def ta_linearreg_intercept(X, d):
    X.ffill(inplace=True)
    y = talib.LINEARREG_INTERCEPT(X, d)
    return y


@calc_by_symbol
def ta_midpoint(X, d):
    X.ffill(inplace=True)
    y = talib.MIDPOINT(X, d)
    return y

注意参数个数需要对齐:

比如ts_beta是双序列的,需要搁到binary_rolling.py这个文件里

@calc_by_symbol
def ts_beta(x, y, d):
    x.ffill(inplace=True)
    y.ffill(inplace=True)
    z = talib.BETA(x, y, d)
    return z

加上技术指标之后的因子挖掘结果:

图片

另外还有几个指标:

比如AROONOSC,也是两个序列参数,但这个序列是确定的(high, low),这就不能让遗传直接生成。

给遗传算法的格式,应该是无序列参数,但有一个rolling容器参数d。

比如ta_arronosc(d:int)

def add_period_ops(pset):
    from datafeed.expr_functions import expr_period_only
    for func in expr_period_only:
        pset.addPrimitive(dummy, [int], Expr, name=func)

中间需要做一个转换:

if 'ta_aroonosc' in f:
    pattern = r'ta_aroonosc\((\d+)\)'
    # 替换函数,将匹配的数字替换为high,low,数字
    replacement = r'ta_aroonosc(high,low,\1)'
    # 执行替换
    new_string = re.sub(pattern, replacement, f)

    new_features.append(new_string)

这样把表达式改写成确定的:

@calc_by_symbol
def ta_aroonosc(high, low, d):
    high.ffill(inplace=True)
    low.ffill(inplace=True)
    ret = talib.AROONOSC(high, low, d)
    return ret

运行正常:

图片

从学习量化的角度,从技术指标切入做量化策略,最直接。

因此,在专栏里,我会从CTA技术分析策略切入。

图片

如何开发一个稳定盈利的交易系统?

AI量化实验室——2024量化投资的星辰大海

02

吾日三省吾身

今天听万维钢的访谈,他给自己的身份定位是科学作家。

区别于科普作家,他是连接大众与前沿科学,当然主要是社会科学的前沿成果。

万维钢的成长经历很有意思。

他本身是一位物理学者,生活在美国。

早年就开始写文,早在2008年的博客时代。

那时候的写文,只能说是纯粹的爱好。web2.0的年代,ugc是赚不到钱的。

内容是没有办法变现。

直到逻辑思维也就是后来的《得到》平台崛起,赶上平台的红利,行业的红利,成为头部的知识大V。

科学作家,思想者。

我相信,比他原本规划的做一名物理学家,更符合他的诉求。

给我们什么启发呢?

人生规划肯定是会变的。

写文原本只是他的爱好,他的学历,主业本身是物理学家。

但科研是需要天赋,要做冷板凳的,能做出真正的成果的人,凤毛麟角。

做一名科学作者,知识网红。

精神自由外加财富自由,做着自己的喜欢。

我们能学习到什么呢?

阅读和写作,不需要创新、发明、特别的天赋。——知识的搬运工。

素材,资源无穷多。

并不是说,人人都能成为万维钢。

这需要机遇、运气、勤奋、积累。

但人人都可以且应该开始写作,阅读,深度思考,产出作品。

——用万维纲给《以自我为中心的写作者》作的序里的一段作结果:

研究者是现代社会最酷的身份之一,因为你要探索未知,你要生产知识。当人们发生争论的时候,他们会重点参考你的结论。你的名字可能会跟一个新发现一起被人记住。这不比在某个小单位拥有一点小权力、吃过很多美食、去过很多地方旅游高级多了吗?

新人优惠券:

图片

提前续费享5折优惠:

图片

图片

量化投资276

知识星球989

以交易为生67

因子挖掘150

deap6

量化投资 · 目录

上一篇如何开发一个稳定盈利的交易系统?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2075218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎样恢复微信聊天记录?4个巧妙方法,速来学习!

微信不仅是我们的通讯工具,更是情感的载体,每一句“早安”与“晚安”都藏着不为人知的温柔。但有时候这些珍贵的聊天记录却会离家出走。怎么恢复微信聊天记录?就成为我们需要解答的难题。 别担心,今天,小编我将化身为…

PostgresSQL--基于Kubernetes部署PostgresSQL

基于docker 拉取镜像,这个镜像是我自己的阿里云镜像,拉取的国外的镜像。 docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/postgres:latest创建 dolphinscheduler 命名空间,本文命名空间是使用的dolphinscheduler 使用 kubectl…

基于元神操作系统编写(FPU)数学计算程序

1. 背景 数学计算已经成为计算机的主要工作之一,尤其是实数运算,在人工智能时代更是普遍存在,神经网络中的绝大部分参数都用的实数。 2. 方法 (1)FPU运算 计算机中的实数运算是通过数学协处理器FPU完成的&#xff…

黑神话悟空配置要求:CPU/内存/显卡/存储和系统最低限制

玩《黑神话:悟空》对电脑配置有什么要求?至少需要i5处理器、16G内存、GTX 1060显卡、130G空闲磁盘空间,没有高配电脑怎么办?码笔记整理详细配置如下: CPU处理器:64位处理器,CPU选择Intel Core …

数据防泄密知识集锦丨八个实用数据防泄露软件,你知道吗

数据已成为企业的核心资产。 然而,随着网络威胁的日益严峻,数据泄露事件频发,给企业带来了巨大的经济损失和声誉风险。 为了有效保护企业数据的安全性和保密性,各种数据防泄露软件应运而生。 本文将为您介绍八个实用的数据防泄露…

ROS机器人专用云台相机防抖摄像头

【告别模糊】机器人专用摄像头,为您的视觉算法保驾护航 产品概述 Autolabor C1专为机器人设计的高性能摄像头,即使在没有减震装置或不平坦的路面上,也能提供清晰稳定的图像。它拥有先进的主动式机械防抖和数字ISP防抖技术,图像效…

基于太阳能供电的水情监测站设计(论文+源码+图纸)

1.总体方案设计 根据水情监测站系统的实际应用需求,从硬件电路以及软件程序两个方面展开系统设计。按照系统设计功能以及功能选型的结果,制定了如图2.11所示的系统总体框图。系统采用STM32单片机作为控制器,在传感器检测模块中包括的DS18B20…

netty编程之使用ChannelOutboundHandler对write出去的消息做不同处理

写在前面 源码 。 在进行网络编程的时候,不可避免的需要对write出去的消息做一些处理,比如脱敏,增加统一数据等。而netty提供了ChannelOutboundHandler来允许我们拦截消息从而可以对消息进行处理。对应的接口是io.netty.channel.ChannelHand…

Python:win10下一种不用编译,直接下载二进制依赖的方法

python依赖的安装,在win环境下, 有些包还是比较麻烦, 经常编译失败, 我曾发帖讨论过多次,有帖为证!点此进入! https://blog.csdn.net/weixin_62598385/article/details/135945383 win下的Pyth…

基于vue.js和node.js的酒坊销售网站的设计与实现---附源码98047

目 录 摘要 1 绪论 1.1研究背景与意义 1.3研究内容 1.4论文结构与章节安排 2 酒坊销售网站分析 2.1 可行性分析 2.2系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例…

实战分享:利用两大在线平台实现自动化数据采集的技巧

本文将深入探讨如何运用两大主流在线平台,通过实战案例分享,揭示自动化数据采集的高效技巧。无需编程基础,也能快速掌握跨平台数据抓取秘籍,助力企业和个人提升市场竞争力与决策效率。 正文 在大数据时代背景下,信息…

ESP8266通过WiFiManager实现Web配网

背景 一个项目中使用到了一款压力传感器,需要通过单片机实现数据的采集并发送到远程的服务器上,单片机采用的时ESP8266,通过WiFiManager实现局域网配置,以及远端服务器IP地址和服务端口的配置。发布此文章记录一下使用WiFiManager实现配网的方法。 程序流程图 示例代码 …

如何下载GB2312字体,免费

因为写文章需要用到,然后wps里面这个是收费的,所以我就去找了免费的,现在分享给大家。 因为我看网上很多都是给一个网址,有些网址已经坏了,所以我这里给一下我的链接 链接:https://pan.baidu.com/s/1wiyF…

如何用Java SpringBoot+Vue构建高效的产品订单管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

python 爬虫,东方网 上海新闻, 简单数据分析

起因: 本来想去市区玩玩,结果搜到一些相关的新闻,所以就想爬取新闻网站… 1. 爬虫部分 import os import csv import time import requests""" # home: https://sh.eastday.com/ # 1. 标题, url, 来源,时间 &qu…

SQL进阶技巧:近距离有效的缺失值填充问题【last_value实现版】

目录 0 场景描述 1 数据准备 2 问题分析 3 小结 0 场景描述 场景:现在有一张商品入库表,包括商品id、商品成本和入库日期3个字段,由于某些原因,导致部分商品的成本缺失(为0或者没有值都是缺失),这样不利于我们计算成本。所以现在要把缺失的商品进价补充完整,补充的…

Redis远程字典服务器(12)—— 使用C++操作Redis

目录 一,环境配置 1.1 介绍 1.2 安装hiredis 1.3 安装redis-plus-plus 1.4 连接服务器 二,使用通用命令 2.0 StringView,和OptionalString类型 2.1 set,get, 2.2 exists,del 2.3 keys 2.4 expi…

【秋招笔试】8.25拼多多秋招-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…

【测试】JMeter从入门到进阶

本文参考 Jmeter自动化测试工具从入门到进阶6小时搞定,适合手工测试同学学习_哔哩哔哩_bilibili JMeter介绍 JMeter 是 Apache 组织使用 Java 开发的一款测试工具: 1、可以用于对服务器、网络或对象模拟巨大的负载 2、通过创建带有断言的脚本来验证程序…

C3-80螺栓介绍及其特性

C3-80 螺栓作为马氏体不锈钢高强度紧固件的一员,在工程应用中扮演着重要角色。它不仅具有较高的强度,还拥有良好的耐腐蚀性能,适用于多种恶劣环境下的工业应用。 C3-80螺栓概述 C3-80螺栓是一种马氏体不锈钢材质的高强度紧固件,其…