周五我抽空又尝试了一下基于CNN的选股方案,效果也不太好,就不放上来了。于是我想看看其他人实现的比较好的结果。然后我发现了其实很多量化策略平台都有自己的交流社区,交流社区上会有一些方案、研报和基础知识分享。如下图:
有需要的朋友可以收藏以下链接:
Bigquant社区:https://bigquant.com/community/
Ricequant社区:https://www.ricequant.com/community/category/all
Joinquant社区:https://www.joinquant.com/view/community/list?listType=1
Uqer社区:https://uqer.datayes.com/v3/community/list
同花顺mingo社区:http://quant.10jqka.com.cn/platform/html/community.html
掘金量化社区:https://bbs.myquant.cn/?lang=zh-CN&page=2
主要是以上这些社区,可能很多社区上分享的程序都是基于自己平台的,但是很多思路可以借鉴,除此之外研报和基础知识介绍也是值得一看的。
我个人比较关注的是机器学习上面的应用,贴一篇文章说一说自己对CNN、LSTM的用于选股的想法。
文章:基于一维CNN模型的智能选股策略
文章链接:https://bigquant.com/community/t/topic/154799/4
回测结果如下图:
我的分析:这篇文章发表在2019年5月份。虽然回测有一个比较好的效果但仔细看回测区间和最大回撤,回测区间在15年2月到16年12月(一个大牛行情,一个回调行情和一个反弹行情),作者没有放入后续的回测结果,猜想可能是后面又在持续回撤所以没放结果。我自己也尝试做过,CNN的效果比较难调,跟你的网络构建、训练方式和特征都有很大关系。总之我觉得CNN在选股上面优势不大吧,至少不如决策树(XGBoost,Lightgbm),当然我尝试的不多,至少目前是这么认为的。后续如果看到有效果很好的CNN,可能会推翻我目前的想法。LSTM我同样试过,效果一样遭。
那为什么CNN或LSTM效果在选股上效果不好呢?或者说为什么决策树之类的模型在选股上会好于CNN或LSTM呢?
首先,选股层面上往往需要输入多维度的特征,决策树更能模仿人类的判断模式去学习特征间的关系,而CNN和LSTM比较难去模仿这种判断,这两种模型很难学会特征间的相关性或者说很难学会特征间非线性的关系。
第二点,直接输入数值型特征神经网络很难学会,在一些论文中都有提到直接输入多类型的数值型特征的效果比较差(很多领域都是这样),一个比较好的办法就是利用embedding层,深度学习可以自动学习embedding的特征,自适应为网络输入需要的特征,所以在一些特征的输入中也可以尝试构造一些embedding特征。
第三点,就是学习方向的问题,我一直觉得机器学习应用在投资上首要的是模型如何构建,其次才是因子。比如在套利策略上,我可以预测价差是否能在一段时间内回归。我之前尝试的要么是预测涨跌、要么是预测具体涨幅,这个需要拟合的目标可能就不是特别的好,当然目前也没有想到更好的目标。
最后再补充一句,以上想法不一定正确,只是自己的理解,如果碰到好的CNN或LSTM结构可能会推翻我目前的想法。
对量化、数据挖掘、深度学习感兴趣的可以关注公众号,本人不定期分享有关这些方面的研究。
个人知乎:
https://www.zhihu.com/people/e-zhe-shi-wo/activities