任何没有数据回测的策略都是耍流氓

发布于: iPhone转发:2回复:7喜欢:10

基于机器学习排序模型的高收益选股策略

每个主动择股的策略模型都是为了在市场中选出较强的个股,以期获得超过市场的超额收益。那么,选股问题便可以转化成排序问题,即:通过指标设定,策略选择,通过机器学习等技术对市场上个股强弱进行排序,从而把回归问题转换为了排序问题。类似于之前本公众号文章所论及的“基于弹性网络的机器学习选股策略”。

指标选择:2007年以来所有A股的一些基本面和技术面因子,共计60个,主要包括:1.估值类:市盈率、市净率、市现率、市销率;2.成长类:净利润增长率、收益增长率;3.盈利类:ROA、ROE;4.质量类:流动比率、产权比率;5.技术类:均线、RSI、BIAS、波动率、收益率等。

模型的目标:通过对数据的清洗和转换,选出未来60日内表现最佳的10只个股。

算法:使用梯度提升决策树GBDT,将历史数据由前向后进行滚动训练和测试,以2007年到2012年的数据作为训练数据,对2012-2018年的数据做滚动训练和测试,取测试集预测出的强势个股进行交易回测,即每周买入预测最强的股票进行轮动,持有60个交易日后卖出。为考验组合在不同市场状况的表现,分以下3个时段进行回测。红色表示选股组合、蓝色表示中证流通、黄色表示组合超额收益。

1、201301—201501(如下图)

2、201501—201701(如下图)

3、201701—201802(如下图)

从以上三个时间段看,策略组合的年化收益率:

201301—201501回测年化收益率达到96.81%

201501—201701回测年化收益率达到55.23%

201701—201802回测年化收益率达到25.57%

均大幅战胜中证流通指数,夏普率均大于1,表现出较好的风险调整收益,贝塔均小于1,显示波动小于中证流通指数。

PS:阿尔法(alpha): CAPM模型表达式中的残余项。表示策略所持有投资组合的收益中和市场整体收益无关的部分,是策略选股能力的度量。

贝塔(beta): CAPM模型中市场基准组合项的系数,表示资产收益对市场整体收益波动的敏感程度。

夏普率(sharpe ratio): 衡量策略相对于无风险组合的表现,是策略所获得风险溢价的度量——即如果策略额外承担一单位的风险,可以获得多少单位的收益作为补偿。

用数据说话。欢迎关注我的公众号,guanshizhe2006

全部讨论

2019-02-23 01:07

我和诸葛巴彼心有同样的问题!是需要从股票软件中获取数据、编程加工吗?

2018-10-03 01:22

美女,你的回测是怎么弄的?我用Excel列出20只股票及其仓位,如何回测过去10年数据,望赐教

2019-02-23 01:04

好文!谢谢

2019-01-19 19:10

如果此数据为真实,且可以操作,那比市盈率选股法要强的多。

2018-12-28 20:20

写的好