原创文章第448篇,专注“AI量化投资、个人成长与财富自由"。
昨天咱们把因子表达式重构了,现在可以完美支持world quant101,?qlib的Alpha158的这样的因子库。因子表达式完美重构 | Qlib Alpha158因子库复现 (代码+数据)
今天咱们使用上周的lightGBM树模型,Quantlab3.4代码发布 | lightGBM排序轮动 | 29个行业机器学习合成因子轮动策略(代码+数据+模型下载)对A股29个重要行业,做因子筛选。
top 20的因子如下:
代码在如下位置:把因子重要性打印出来:
import matplotlib.pyplot as plt lgb.plot_importance(lgb_ranker, importance_type="gain", figsize=(8, 6), max_num_features=20,title="LightGBM Feature Importance (Gain)") plt.show() #idx = list(lgb_ranker.feature_importances_) importances = lgb_ranker.feature_importances_ indices = np.argsort(importances)[::-1] for f in range(len(feature_cols)): print("%2d) %-*s %f" % (f + 1, 30, feature_cols[indices[f]], importances[indices[f]])) print(feature_cols)
对于“明天”的收益率的预测。
60日动量竟然很重要,然后是交易额,5天价量相关系数。可以看出来交易额对于短期的收益表达非常重要。
接下来我们给单因子做分析,分的IC/IR值,进行对比,以及因子之间的相关性的分析,进一步论证其有效性。
使用咱们的“单因子分析工具”,对因子进行分析:
IC达到0.04,还可以:
VOLUME2,因子表达式为:shift(volume, 2)/(volume+1e-12):
就是过去2天的交易额与当前交易额的比值,或者说交易额的“动量”。
第三个因子: CORD5(corr(close/shift(close,1), log(volume/shift(volume, 1)+1), 5)),5个收盘价与成交额背离(相关系数)
分层收益没有明显的单调性,这个因子不好。
更多的因子分析,大家可以自己从星球取代码,试试看,找找感觉。
找好的因子,肯定不容易。——这就意味着策略,就是钱呀。
因些更需要科学的工具,咱们星球就是用科研的方式,如何科学的,流水线工厂的方式来挖掘因子。
后续的工作就是找到那些高ic的因子,同时在模型里能有不错的表现的因子集。
(持续给大家写代码的,交付最前沿AI量化技术和策略的星球)
历史文章:
Quantlab3.3代码发布:全新引擎 | 静待花开:年化13.9%,回撤小于15% | lightGBM实现排序学习
创业板指布林带突破策略:年化12.8%,回撤20%+| Alphalens+streamlit单因子分析框架(代码+数据)
去掉底层回测引擎,完全自研,增加超参数优化,因子自动挖掘,机器模型交易。
飞狐量化——AI驱动的量化。(持续给大家写代码的,交付最前沿AI量化技术和策略的星球)AI量化实验室——2024量化投资的星辰大海
关于我:CFA,北大光华金融硕士,十年量化投资实战。?/?CTO,全栈技术,AI大模型?。——应该是金融圈最懂技术的男人。