原创文章第569篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 lightGBM在训练完成之后,树模型是可以筛选特征的,我们可以把特征按重要性排序,筛选最有效的特征(因子)。
feat_importances = pd.Series(model.feature_importances_, index = X_train.columns).sort_values(ascending = False) print(feat_importances.head(20)) 然后把这些筛选出来的因子,整理到一个小的因子集里: from abc import abstractmethod
from datafeed.factor import AlphaBase
class AlphaLit(AlphaBase): def get_fields_names(self): fields = [] names = []
fields += ["std(close, 30)/close"] names += ["STD30"]
fields += ['(high-greater(open, close))/open'] names += ['KUP']
fields += ['std(abs(close/shift(close, 1)-1)*volume, 60)/(mean(abs(close/shift(close, 1)-1)*volume, 60)+1e-12)'] names += ['WVMA60']
fields += ['std(abs(close/shift(close, 1)-1)*volume, 30)/(mean(abs(close/shift(close, 1)-1)*volume, 30)+1e-12)'] names += ['WVMA30']
fields += ["std(close, 60)/close"] names += ["STD60"]
fields += ['(less(open, close)-low)/open'] names += ['KLOW']
fields += ['sum(greater(close-shift(close, 1), 0), 60)/(sum(abs(close-shift(close, 1)), 60)+1e-12)'] names += ['SUMP60']
fields += ["std(close, 20)/close"] names += ["STD20"]
fields += ['ts_min(low, 30)/close'] names += ['MIN30']
fields += ['shift(close, 30)/close'] names += ['ROC30']
return fields, names
回测看一下效果,如上图。 代码按惯例是每周五更新,发布和迭代。 【研报复现】年化27.1%,人工智能多因子大类资产配置策略之benchmark
AI量化实验室——2024量化投资的星辰大海
吾日三省吾身 最近读了一些名人传记。 多读历史和人物传记是好的。尤其是有大量真实细节的。
老外写书有一个特点,就是细节描述特别多,归纳得少。
读起来有点费劲,但读完后,自己可以建立起感知,而不是别人给出的“结论”。
读完拿破仑传,你会发现,尽管他从小爱幻想,喜欢古罗马历史人物,数学很好,但小时候,最大的梦想也没有超过他的科西嘉岛。
他到军校学校时一样迷茫,生于乱世,不知道有哪里找机会。
开始几年折腾,差点把他自己和家族都给搭上。
后来一步步,成为第一执政,终身执政,征服欧洲。
同样是一天天各种纠结,与兄弟的关系,与妻子的关系。 你也会看到,这么厉害的人,也时常陷入情绪化的反应。 时代的大势,个人的努力,创造一段传奇。 但“成也萧何,败也萧何”。那些让你成功的品质,有时也未把你带到未知。
对于普通人有什么启发呢?
你要有一技之长,长板,对别人特别有价值。比如拿破仑精于计算,排兵布阵,打战特别厉害,同时非常努力。 这是他成功的一切的基础,什么对于人性的把握或者其他,赢得别人的尊重,都是构建在这些基础之上。
这个世界是基于价值交换的。
你的财富是世界给你的“欠条”。你价值越大,世界就会给与你更多。 历史文章:
年化16.6%,全球大类资产使用lightGBM预测轮动——数据缓存提升效率
当下最重要的事情是“自动化因子挖掘”,基于强化学习和Gplearn以及大模型LLM。
AI量化实验室——2024量化投资的星辰大海
|