“ 原创内容第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技术分析策略切入。
02
—
吾日三省吾身
今天听万维钢的访谈,他给自己的身份定位是科学作家。
区别于科普作家,他是连接大众与前沿科学,当然主要是社会科学的前沿成果。
万维钢的成长经历很有意思。
他本身是一位物理学者,生活在美国。
早年就开始写文,早在2008年的博客时代。
那时候的写文,只能说是纯粹的爱好。web2.0的年代,ugc是赚不到钱的。
内容是没有办法变现。
直到逻辑思维也就是后来的《得到》平台崛起,赶上平台的红利,行业的红利,成为头部的知识大V。
科学作家,思想者。
我相信,比他原本规划的做一名物理学家,更符合他的诉求。
给我们什么启发呢?
人生规划肯定是会变的。
写文原本只是他的爱好,他的学历,主业本身是物理学家。
但科研是需要天赋,要做冷板凳的,能做出真正的成果的人,凤毛麟角。
做一名科学作者,知识网红。
精神自由外加财富自由,做着自己的喜欢。
我们能学习到什么呢?
阅读和写作,不需要创新、发明、特别的天赋。——知识的搬运工。
素材,资源无穷多。
并不是说,人人都能成为万维钢。
这需要机遇、运气、勤奋、积累。
但人人都可以且应该开始写作,阅读,深度思考,产出作品。
——用万维纲给《以自我为中心的写作者》作的序里的一段作结果:
研究者是现代社会最酷的身份之一,因为你要探索未知,你要生产知识。当人们发生争论的时候,他们会重点参考你的结论。你的名字可能会跟一个新发现一起被人记住。这不比在某个小单位拥有一点小权力、吃过很多美食、去过很多地方旅游高级多了吗?
新人优惠券:
提前续费享5折优惠:
量化投资276
知识星球989
以交易为生67
因子挖掘150
deap6
量化投资 · 目录
上一篇如何开发一个稳定盈利的交易系统?