同花顺-圈子

请广大用户注意风险,切勿加入站外群组或添加私人微信,如因此造成的任何损失,由您自己承担。
人工智能对指数涨跌预测
0人浏览 2019-01-25 17:09

  

  导读:北京时间 1 月 25 日凌晨 2:00 ,Deep Mind公布了其录制的 AI 在《星际争霸 2》中与2位职业选手的比赛过程,最终结果是人类1:10输给AI!自AI在围棋界横扫人类后,首次在游戏界大展身手。本篇文章以AI为中心,运用9种常见的机器学习算法,预测A股上证50指数明日涨跌,让我们看看AI是否靠谱? 各种机器学习算法预测股市指数涨跌的表现如何?

  1.哪些数据可能会影响指数明日涨跌?

  在AI预测指数涨跌的这事儿上,我们首先来想个问题:哪些数据会影响指数明日涨跌?

  - 大晴天?紫外线强度?PM2.5?

  - 不不不,“种瓜得瓜,种豆得豆”,咱们考虑点靠谱的

  - 指数的高、开、低、收、成交量、成交额?

  - 开始靠谱起来~

  “哪些数据会影响指数明日涨跌”的这个问题非常重要!留给大家想象空间

  那么本文主要收集了三项数据:

  1.指数成份股内净上涨股票数占比:(当日上涨数-当日下跌数)/当日指数成分股总数

  2.指数成份股平均涨跌幅:当日所有指数成份股的涨跌幅均值

  3.指数成份股平均资金净流入率:当日所有指数成份股的资金净流入率均值

  2.单日数据获取

  以上证50指数,2019年1月23日为例,我们获取上述三项数据

  moneyrate%

  netuprate%

  meanofupdown%

  20190123

  -4.998

  -0.02

  -0.088

  数据表 - 2019年1月23日上证50指数

  该项数据打上标签,now up代表当日涨跌幅,now label代表当日标签,1为上涨,-1为下跌,next up代表下一个交易日涨跌幅,label代表下一个交易日标签,1为上涨,-1为下跌。

  nowup

  nowlabel

  nextup

  label

  20190123

  -0.1742

  -1

  0.6054

  1

  标签表 - 2019年1月23日上证50指数

代码展示(文末获取完整代码)   

  3.多维数据获取及展示

  根据单日获取方式,我们获取上证50指数,从2014年1月1日至2019年1月23日的所有数据,并以标签分为2类,即:次日上涨(红点)和次日下跌(绿点),以2D、3D图的形式展示,以便进行数据观察:

  ps:注意使用当日标签会产生未来函数,因此要用次日标签

指数涨跌分类下的数据空间分布-3D展示图   

  从指数成份股平均资金净流入率分析,数值大于20%时,次日标签基本为-1,即绿色下跌,在数值小于-20%时,次日标签基本为1,即红色上涨,分析:单日指数成份股平均资金净流入率较高时,往往导致次日指数下跌,反之,导致次日指数上涨。

指数涨跌分类下的资金净流入数据-平面图   

指数涨跌分类下的净上涨数占比数据-平面图   

指数涨跌分类下的平均涨幅数据-平面图   

  4.机器学习算法训练并测试,以KNN为例

  获取整个时间序列的数据后,我将数据分割成两段,前一段用于模型训练,后一段用于模型测试,后一段数据长度为近250个交易日,以KNN为例,我们进行模型训练和测试,其其中KNN模型的n_neighbors参数设置为30。

  模型训练和测试时的成功率分别:56%与55%

代码展示(文末获取完整代码)   

  虽然我们的训练出来的模型在测试时,成功率不高,但是在指数择时上,是否能躲避大跌的交易日是影响择时效果的重要因素,因此我们将KNN模型写成模拟策略:当KNN预测明日上涨,则尾盘集合竞价买入,预测明日下跌,则尾盘集合竞价卖出,绘制KNN预测收益走势图:

  从结果分析:KNN策略全年净值达到1.1344,收益率达到13.44%,同期上证50指数净值下滑到0.7941,KNN不仅获取超额收益,而且还在熊市行情取得正收益~

KNN收益走势图(日频)-预测上证50指数   

  KNN模型在预测时,不仅会返回明日涨跌标签,而且返回涨跌概率,我们以上涨概率作为买入仓位,即明日上涨概率为66%,则买入66%的仓位,如果判断下跌,则卖出,以此我们来绘制仓位版的KNN预测收益走势图:

  从结果分析:仓位版对风险有更好的把控,在2018年上半年,仓位版亏损较少,但是在下半年,仓位版的获利能力明显减弱。

KNN收益走势图(仓位版)-预测上证50指数   

代码展示(文末获取完整代码)   

  5.武林大会至之机器学习算法PK

  最后,激动人心的时候到了,我们把常见的机器学习算法都拿来预测指数涨跌,其采用上文的数据和时间戳,分别对tree、KNN、SVM、XGBClass等九大算法进行训练和测试,并将收益走势图绘制与同一画板上,大会比赛过程资料:

九大算法“肉搏”-收益走势图   

  ps:“肉搏”:算法均为默认参数

  收益率段位
SVM17.1%最强王者
KNN13.4%至尊黑曜
RandomForest3.4%永恒钻石
tree0.0%尊贵铂金
KMeans-3.4%荣耀黄金
XGBClass-6.9%秩序白银
GBM-7.1%绝强青铜
Logistic-7.1%挂机
GaussianNB-10.4%送头人

  九大算法成绩公示

  

  结束语:回归正题,从AI预测上证50指数这事儿看,我们可以初步判断:不同的AI算法,其预测的效果有明显差异,因此我们在考虑使用AI预测指数上涨下跌的时候,可以从不同的算法角度出发,筛选出更适合预测指数涨跌的算法,而不仅仅局限于用一种算法进行参数拟合。

  参考文献

-基于多机器学习的股票预测方法及系统黄双喜,杨天祺-股票价格预测中机器学习的应用喻永生

  MindGo量化研究所精选文章

  熊市中的摇钱“树”

  从资金数据中挖掘市场超额收益【附策略】

  资金流动强度与风格投资

  

更多
· 推荐阅读
0
1
扫码下载股市教练,随时随地查看更多精彩文章
  • TOP
本文纯属作者个人观点,仅供您参考、交流,不构成投资建议!
请勿相信任何个人或机构的推广信息,否则风险自负