年化26.8%,夏普1.28,单向做多螺纹钢的期货策略,Autogluon机器自主调参(策略+代码下载)。

继续“AI优化”的量化投资。

下面是Autogluon训练金融数据的基本流程

from autogluon.core import TabularDataset
import numpy as np
from autogluon.tabular import TabularPredictor

from config import DATA_DIR
from engine.engine_utils import load_data

fields = ['shift(close,-1)/close -1', 'roc(close,20)', 'corr(close/shift(close,1), log(volume/shift(volume, 1)+1), 30)']
names = ['label_c', 'roc_20', 'CORR30']
symbols = ['510300.SH']

df = load_data(fields, names, symbols, columns=None, start_date='20100101',
path=DATA_DIR.joinpath('etfs').resolve())

df['label'] = np.where(df['label_c'] > 0.0, 1, 0)
print(df['label'].value_counts())
del df['label_c']

split = int(len(df) * 0.8)
train = df.iloc[:split].copy()
test = df.iloc[split:].copy()
print('测试集日期', test.index[0])

label = 'label'
train_data = TabularDataset(train)
test_data = TabularDataset(test)

predictor = TabularPredictor(label=label, path='mymodel').fit(train_data)
print(predictor.leaderboard(test_data, silent=True)) y_pred = predictor.predict(test.drop(columns=[label])) print(y_pred) y_pred.to_csv('y_pred.csv')

训练集的准确率是:55.8%,目前我们仅引入了几个因子:

图片

测试集上最好的模型是:LightGBMLarge,准确率是52.1%。

图片

大家会觉得准确率不高,当然这里我们仅使用原始的价量数据是一方面,另外,胜率是一方面,还得看赔率。

我们使用期货——螺纹钢的历史日线数据来回测看下效果。

name = '机器择时'

[data]
start_date = '20100101'
test_start_date = '20210611'
end_date = ''
symbols = [
        # '510300.SH', # 沪深300ETF
         'RB0', # 螺纹钢
    ]
fields = ['shift(close,-1)/close -1','std(close, 20)/close','roc(close,20)','corr(close/shift(close,1), log(volume/shift(volume, 1)+1), 30)','corr(close/shift(close,1), log(volume/shift(volume, 1)+1), 30)']
names = ['label_c','std_20','roc_20','CORR30','CORR60']
data_folder = 'futures' # 数据在data下的目录
benchmark='RB0'

[model]
model_path='mymodel'
label=''
override=false

[[algos]]
name = 'SelectByModel'
model_path='mymodel'


[[algos]]
name = 'SelectBySignal'
rules=['buy']

[[algos]]
name = 'SelectBySignal'
rules=['sell']
exclude= true

[[algos]]
name = 'WeightEqually'

[[algos]]
name = 'Rebalance'

只做多,暂不考虑做空的情况:

图片

市场大跌的时候,策略没有发出信号:

图片

单向做多,年化26.8%,夏普1.28

图片

后续改进方向: 

1、更高频的数据,比如期货或者加密货币均可。

2、更大的因子集,以及自动化的因子挖掘。

3、多周期、多标的

4、时间序列模型。

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

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

相关推荐

发表回复

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