原创文章第604篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。
在4.x的时候,咱们分享过deap遗传算法挖掘因子的代码和数据,今天我们来升级到5.x中。
源码发布Quantlab4.2,Deap因子挖掘|gplearn做不到的咱们也能做。(代码+数据)
Deap可以自由扩展你的基础因子库,比如除了传统的OHLCV,我加上了可转债的“转股溢价率”,“纯债溢价率”,“正股PB”等,你当然可以把基本面很多指标都加进来:
def add_factors(pset): pset.addTerminal(1, Expr, name='open') pset.addTerminal(1, Expr, name='high') pset.addTerminal(1, Expr, name='low') pset.addTerminal(1, Expr, name='close') pset.addTerminal(1, Expr, name='volume') pset.addTerminal(1, Expr, name='cb_over_rate') pset.addTerminal(1, Expr, name='pb') pset.addTerminal(1, Expr, name='bond_over_rate') # pset.addTerminal(1, Expr, name='AMOUNT') return pset
开始因子挖掘:
计算量确实挺大的,像如下这样的因子:
ts_argmin(abs(ts_argmin(low, 20))-ts_min(-60, 20)/roc(product(ts_rank(bond_over_rate, 5), 20), 40), 20)
这种就比较简单:zscore(pb+low, 60)
但难以解释。
这就是遗传算法或者深度学习因子挖掘的问题,它的表达式构造可能很复杂,计算量大,多数不好解释。
Deap遗传算法的代码已经整合到5.3了:
代码下载(每周五更新):AI量化实验室——2024量化投资的星辰大海
优惠券:
吾日三省吾身
01 暴雨中的打工人
今天的城市,雨特别大。
打算坐地铁去上班,出门就发现判断错误,雨太大了。
往前走吧,想着应该地铁人没有那么多,毕竟这么大的雨。
结果,还是误判。
地铁上的人流量并没有少多少。
不同的事,拿着各种伞,穿着洞洞鞋的,拖鞋的,被各种淋湿的人们。
也许,这就是打工人的现状吧。
这个城市不常下雨,所以,这种场景挺难遇见的。
更多的是晚上的末班地铁,挤满疲惫的打工族。
以前大家可能觉得,这就是奋斗,拼搏精神吧。
当然,更不容易的,白发的网约车司机,快递、外卖小哥们,这天如此的晒,雨如此的大。
02 允许一切发生
允许一切发生,是一种松弛感。
不是不作为,任由一切发生。
而是针对不可控的事情,计划外,不符合预期的事情发生。
发生就发生了,该反思就反思,调整工作方式就调整工作方式,自己可以做的事情,做到最好就行了。
不必纠结,焦虑,懊恼,生气,骂人,没必要也没有用,该发生的已经发生了,生气也没有用。
总结经验,下次不要掉进同一个坑里就好。
然后想办法补救。
改变能改变的,接受不能改变的,用智慧区分二者的差别。
03 等待
其实很多时候,我们都在等待。
等车来,等人来,等事情发生,等结果出现,等事情结束。
做事情本身的时间可能很短,但等待是漫长且默认的。
——真的能做到对于不可控之事情,允许一切发生,情绪稳定,那就内心真正强大了。
顺其自然,为所当为。
历史文章:
年化27.9%,最大回撤-13.6%的可转债因子策略,结合机器学习特征筛选(附python代码)
代码发布:quantlabv5.3,可转债所有数据及双低、动量因子策略,单因子分析框架
10年13倍(年化28.2%,夏普1.2)大类资产趋势轮动(python代码+数据)
可转债所有历史日线数据打包下载,含“双低”因子值——全历史年化22.8%。(含python代码)
AI量化实验室——2024量化投资的星辰大海