900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 沪深300指数进行择时 看看能否获取超额收益

沪深300指数进行择时 看看能否获取超额收益

时间:2020-09-04 22:17:45

相关推荐

沪深300指数进行择时 看看能否获取超额收益

一 研究问题尝试对沪深300指数进行择时,看看能否获取超额收益。当模型预测到指数未来10个交易日的收益率大,则买入,否则持有现金。二 初步的结论沪深300指数的未来10个交易日的收益具有一定的预测性性,弱可预测。上图右边是样本内的预测效果。左边为样本外的预测效果。x轴--实际收益率,y--预测收益率训练数据为到的指数及宏观经济数据,样本外为最近3年的指数10日收益率上图是交易结果净值走势图交易胜率统计:outsample测试天数:895 模型持股天数678 模型持有现金天数217持股的678次预测中,预测对了434次,预测错了217次。持有现金的217次预测中,预测对了121,预测错了96次。

三 一些细节的经验试验中对使用了神经网络+强化学习模型、线性模型、随机森林、GBDT模型对比测试。以下为细节经验:

1 在股市这种充满噪声的数据中,线性模型作为一种简单的模型表现更鲁棒。神经网络设计更灵活,有强大的学习能力。可惜在历史上学的的经验,在未来的股市操作上没有用。这似乎也印证了股市是一个混沌系统,未来很难预测。

2 刚开始的神经网络为5层深度的网络,模型输出区分度和线性模型差不多,但输出值的重心不稳定。然后尝试减少网络深度,只留下一层隐层。模型在训练集上的表现反而非常好,比5层网络好。把5层的神经网络缩减到一个隐层,隐层中有16个节点。神经网络在训练集合上比线性模型有更好的学习能力。但是在测试集合上这些学习到的规律并没有用。

3 继续缩减神经网络的结构,隐层去掉,只剩下输入输出层,等效为一个线性模型。神经网络的表现和线性模型一致。两次训练的神经网络的输出基本一致,也有细微区别(参数随机初始化)。

4 测试了用sum(abs(out-Y))作为损失函数,效果更差。5 linearReg = linear_model.Lasso(alpha=0.001) #l1惩罚项 Lasso回归 效果不好6 linearReg = linear_model.Ridge(alpha=0.2=1) #l2惩罚项 0.1的惩罚系数 对效果有轻微提升。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。