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

我们的目标是实盘,从ETF开始。

ETF的数据维度来对股票少,基本面的数据可以算,但比较麻烦;比之可转债更少。

应用机器学习比较容易陷入过拟合,那就没有办法了嘛?不会,简单的,也可以是有效的。

动量轮动+分散=骑最快的马。

图片

图片

etfs = [
    '510300.SH',  # 沪深300ETF
    '159915.SZ',  # 创业板
    '518880.SH',  # 黄金ETF
    '513100.SH',  # 纳指ETF
    '159985.SZ',  # 豆柏ETF
    '511880.SH',  # 银华日利ETF
]

我选择了A股的大小盘,纳指,商品,黄金,货币这样的低相关性的资产进行动量轮动。

我的实盘逻辑:暂定10个策略组合,一个策略分配仓位10%,比如50万的本金,当前这个策略5万。

代码已经提交至星球:

图片

dataloader作了升级——对齐交易日历,比如大类资产,不同国家交易日历不一样,在回测时可能会有日期缺失,我们使用reindex+ffill前向填充数据,确保数据可以正常计算:

def _reset_index(self, dfs: list):
    trade_calendar = []
    for df in dfs:
        trade_calendar.extend(list(df.index))
    trade_calendar = list(set(trade_calendar))
    trade_calendar.sort()

    dfs_reindex = []
    for df in dfs:
        df_new = df.reindex(trade_calendar, method='ffill')
        df_new['return_0'] = df_new['close'].pct_change()
        dfs_reindex.append(df_new)

    return dfs_reindex

我们是AI+量化的投资系统,我们也一直在关注前沿AI技术的进展。

今天介绍一个AutoML的框架——AutoGluon

亚马逊开源的AutoML框架 – autogluon,只需要几行代码就可以轻松实现数据预处理、模型融合、择优参数以及模型选择等。autoGluon除了处理表格数据外,还可以处理图像和文本等多模态数据。

支持结构化数据、时间序列数据,这个还真挺适合量化投资的,所以我们必须来关注一下。关于模型实现、参数优化,如果不是资深的算法工程师,自己还未必能调得一手好参。

图片

pip install autogluon

依赖的包不少,但是安装还是很顺利的。

图片

from autogluon.tabular import TabularDataset, TabularPredictor

train_data = TabularDataset('train.csv')
test_data = TabularDataset('test.csv')

train_data.to_csv('train.csv')
test_data.to_csv('test.csv')

print(train_data)

predictor = TabularPredictor(label='class').fit(train_data=train_data)
predictions = predictor.predict(test_data)

如下代码,除了数据加载之外,就是直接指定label后使用fit直接训练。

按传统的机器学习,我们要对数据进行预处理,然后做特征工程,作数据集划分,选择适当的模型,然后对参数进行优化,最后自己对模型进行评估,这些都不需要了。

模型自动推断出这是一个“二分类”问题。

图片

对数据自动进行预测处理:

图片

图片

对数据调用11个模型进行训练:

图片

选择最优的模型是:集成学习。

图片

代码和数据在这里,请前往星球下载

图片

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/104022
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 29 日
下一篇 2024 年 7 月 29 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注