分享

pycaret自动机器学习,自动调参:大类资产配置,样本外准确率57%。

 AI量化实验室 2023-10-12 发布于北京

原创文章第280篇,专注“个人成长与财富自由、世界运作的逻辑与投资"。

业余时间日更还是有一定的压力的,尤其是周末。

当然只要是有意义的事情,就需要坚持下去。

今天说说pycaret,前面我们介绍过autogruon。

首先,还是数据准备:

import sys
sys.path.append("../")
from engine.datafeed.dataloader import Hdf5Dataloader
from engine.config import etfs_indexes

etfs = [
'510300.SH', # 沪深300ETF
'159915.SZ', # 创业板
'518880.SH', # 黄金ETF
'513100.SH', # 纳指ETF
'159985.SZ', # 豆柏ETF
'511880.SH', # 银华日利ETF
]
symbols = etfs
loader = Hdf5Dataloader(symbols, start_date="20100101")
fields = ["roc(close,20)",
"bias(close,20)",
"std(volume,20)",
"ema(ta_obv(close,volume),7)",
"rank(roc_20)+rank(bias_20)",
"shift(close, -5)/shift(open, -1) - 1", "qcut(label_c, 2)"]
names = ["roc_20",
"bias_20",
"std_20",
"obv_7",
"rank_roc_bias",
"label_c", 'label']

df = loader.load(fields=fields, names=names)
df.dropna(inplace=True)
print(df)
df = df[names]
del df['label_c']
print(df)

使用pycaret预处理数据:

from pycaret.classification import *
s = setup(df, target = 'label', session_id = 123,index=False)

选择lightGBM模型:

model = create_model('lightgbm')

自动调参后,样本外准确率57.36%:

plot_model(model, plot = 'feature'),把重要特征绘制出来:

代码在:(已经在星球更新)

这里只是给了几个基础的因子,当前自动机器学习进化的方向看,重要的还是因子,有效的另类数据,多样化的因子。

生活总是充满这样那样的挑战,充满未知与不确定性,有惊喜,有时候也有惊吓。可能最有收获的事情是“有惊无险”。当然从书中学习更有广度。

解决问题的上上之策,是提高维度,让问题自行消失,而不是与问题死磕。比如你不喜欢一些同事,最优策略不是硬刚,也不是妥协与讨好。而是让你自己离得开它。你强大了,你就可以无视它。

这本书说,你要定1个亿的小目标——10倍法则:思考与行动

之前读完这本书,我们把目标从500万提升到半个小目标。10倍的视角看过去,确实人生就提升了一个维度,你可以设想下,如果你有房无贷,还有半个小目标的现金做投资组合。你现在所面对的困难,纠结,挑战,人际关系是不是都显得微不足道。

财富自由并没有大家想象中的那个远,什么1.9个亿的准入门槛。这个设定的基本逻辑错误是把钱看成是静态的东西,若真如此,1.9个亿也未必够。用好投资工具,500-5000个W足够。

在一线城市,通过工资、理财手段500个万是可能的。七年财务自由之路的逻辑。但半个小目标,这个着实有挑战,但总好过1.9个亿这般遥不可及。

近期文章:

基于streamlit的多策略多基准可视化分析(代码+数据下载)

年化29.3%,大类资产ETF动量轮动,添加商品与货币ETF,实盘跟进中(代码+数据下载)

知识星球与开源项目:万物之中,希望至美

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多