策略分享

【参赛】Deep Alpha-CNN卷积神经网络调参

由georgeyy创建,最终由iquant 被浏览 620 用户

更新

本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明

新版量化开发IDE(AIStudio):

https://bigquant.com/wiki/doc/aistudio-aiide-NzAjgKapzW

新版模版策略:

https://bigquant.com/wiki/doc/demos-ecdRvuM1TU

新版数据平台:

https://bigquant.com/data/home

https://bigquant.com/wiki/doc/dai-PLSbc1SbZX

新版表达式算子:

https://bigquant.com/wiki/doc/dai-sql-Rceb2JQBdS

新版因子平台:

https://bigquant.com/wiki/doc/bigalpha-EOVmVtJMS5

\

擂台赛背景

https://bigquant.com/wiki/doc/niandu-zhongbang-bao-DeepAlphaCNN-juanji-shenjingwangluo-qXe3iEgfRI

基准模型研究

保持原模型模型结构、因子特征、数据预处理方式,由于显存限制,模型训练仅能支持6年的训练数据,使用2012-2017年数据作为训练数据,2018年-2021.10作为回测数据测试克隆出来的基准模型:

训练标的 国内全市场股票
训练集时间 2012-01-01至2017-12-31
测试集时间 2018-01-01至2021-10-31
预测目标 未来5日收益率
批尺寸Batch_size 1024
特征featrue_map 128, 256
激活函数 Relu
kernel_size 3,5
优化器Optimizer Adam
神经元连接随机断开的比例Dropout 0.1
学习率Learning Rate 0.002
损失函数Loss_function Mean_Squared_Error

{w:100}{w:100}{w:100}{w:100}{w:100}{w:100}{w:100}{w:100}{w:100}{w:100}{w:100}多次训练回测结果有一定偏差:

累计收益率 年化收益率 最大回撤 夏普率
1 127.6% 25.02% 0.2588 0.81
2 67.18% 14.98% 0.2556 0.52
3 86.72% 18.48% 0.2824 0.65

参数和模型调整

尝试调整batchsize、optimizer、loss function、feature_map、kernel_size、learning rate等参数,训练结果如下

参数对照组 参数设置 总收益 年化收益 最大回撤 夏普比率
基准 127.6% 25.02% 0.2588 0.81
67.18% 14.98% 0.2556 0.52
86.72% 18.48% 0.2824 0.65
batch_size(基准1024) 512 116.06% 23.27% 0.2507 0.76
512 68.55% 29.9% 0.299 0.53
优化方法(基准adam) adamax 141.14% 27.0% 0.2107 0.86
adamax 76.88% 21.78% 0.2478 0.6
loss(基准MSE) huber 125.13% 21.78% 0.2699 0.83
huber 54.3% 12.5% 0.2626 0.46
featrue_map(基准128,256) 256,512 39.45% 9.45% 29.0% 0.35
64,128 77.39% 16.84% 27.06% 0.57
kernel_size对照(基准3,5) 5, 8 57.67% 13.16% 27.64% 0.48

回测结果表明不同的参数设置对回测结果略有影响,但总体影响不大,基准模型参数设置较为合理,batch size设为512效果更好可能是由于参数更新次数更为合理。另外发现训练epoch对回测结果影响较大。尝试增加drop out、batch norm优化模型。

参数对照组 参数设置 总收益 年化收益 最大回撤 夏普比率
基准 127.6% 25.02% 0.2588 0.81
67.18% 14.98% 0.2556 0.52
86.72% 18.48% 0.2824 0.65
+drop out 142.15% 21.78% 0.241 0.88
+batch norm 209.31% 35.88% 0.2829 1.11
219.32% 37.06% 0.2099 1.09
176.81% 31.85% 0.2434 1.02
275.6% 43.24% 0.232 1.26

https://bigquant.com/experimentshare/ae260a26baef43cc91f091fcdd344442

滚动回测

原文滚动回测结果:

训练时间 预测时间 收益率 年化收益率 基准收益率 超额收益率 夏普率 收益波动率 最大回撤
2011年1月1日 - 2013年12月31日 2014年1月1日-2014年12月31日 123.20% 128.38% 51.66% 76.72% 1.34 24.09% 11.68%
2012年1月1日 - 2014年12月31日 2015年1月1日-2015年12月31日 258.74% 274.08% 5.58% 268.50% 2.58 56.22% 53.55%
2013年1月1日 - 2015年12月31日 2016年1月1日-2016年12月31日 58.23% 60.63% -11.28% 71.91% 1.36 38.00% 20.60%
2014年1月1日 - 2016年12月31日 2017年1月1日-2017年12月31日 7.57% 7.83% 21.78% -13.95% 0.3 31.49% 22.32%
2015年1月1日 - 2017年12月31日 2018年1月1日-2018年12月31日 32.92% 34.33% -25.31% 59.64% 1.03 30.29% 18.32%
2016年1月1日 - 2018年12月31日 2019年1月1日-2019年12月31日 43.96% 45.69% 36.07% 9.62% 1.61 23.22% 17.61%
2017年1月1日 - 2019年12月31日 2020年1月1日-2020年12月31日 53.98% 56.47% 27.21% 29.26% 1.57 29.49% 11.20%
2018年1月1日 - 2020年12月31日 2021年1月1日-2021年10月31日 15.46% 20.07% -5.81% 25.88% 0.8 22.32% 12.56%
原模型回测 优化模型回测
预测时间 年化收益率 最大回撤 夏普率 年化收益率 最大回撤 夏普率
2014 119.92% 14.75% 3.04 125.48% 14.46% 3.16
2015 377.8% 50.29% 3.15 451.26% 49.08% 3.41
2016 30.24% 21.69% 0.83 106.54% 16.52% 2.13
2017 -16.89% 35.18% -0.46 -0.78% 21.09% -0.06
2018 -14.39% 35.53% -0.45 45.56% 19.06% 1.22
2019 22.17% 21.57% 0.8 41.06% 17.87% 1.34
2020 65.4% 13.46% 1.6 34.49% 12.89% 1.13
2021.1-2021.10 11.23% 11.53% 0.44 47.66% 11.94% 1.47
方差 1.30433714 0.135988098 1.396315944 1.450971568 0.120090096 1.138357212

研究结论

1、回测结果中7层的卷积神经网络普遍表现好于2层,更深的神经网络能够学习到复杂的市场特征。

2、kernel size、batch size、feature map等参数越小,模型表现越佳,可能原因是这样模型复杂度更低,更有利于模型稳定,避免过拟合。

3、滚动回测结果表明,相比DNN,CNN表现出了一些穿越熊牛特性。

4、优化后模型表现更加稳定,夏普率有7年超过1,滚动回测2014-2021年累积收益率超过100倍。

标签

卷积神经网络CNN
评论
  • 感谢分享!
  • 试着运行了一下,每次到 就自动停止了,没有输出结果也没有error提示。Any ideas?
  • CPU跟内存不够 加到3级会员
  • EPOCH会不会太少了?
{link}