[准确率:68%]基于日指标使用LSTM预测股价是否上涨(完善版)-ris指标
最近因为(财务自由需要)个人项目需要,在研究一些股票预测的算法,试过PEG的估值,也试过其他一些估值方法,但是效果都不是很好,今天我们来试一下用LSTM进行上涨预测。请注意,这只是一次具有学习性质的尝试,我也不会用这个模型进行实质性的操作。(以下的“天”指交易日)
如何提取上涨特征?
单纯使用开盘价、收盘价的上涨特征是毫无意义的,因为这样的特征不明显,和赌博没有区别。研究历史日线数据时,我们应该让模型学习到某一天之后的x天上涨y%的原因,这样才能使用当前交易日的数据预测未来x天是否会上涨。
然而这个原因是比较复杂的,当前行情、财务报告、市场情绪等各方面都对其有影响。在我们这次实验中,我们使用下方两个表格的指标进行训练,除了股票代码编号和该交易日日期,其余全部参与训练。为了简化问题,我们将是否上涨视为二分类问题。
选取标准:若自当前交易日起未来十天内,该股票平均上涨大于4%,则将当日以下指标数据(合并为一条,以空格区分开)纳入上涨训练集。否则纳入不上涨训练集。
每日行情:
open 开盘价 high 最高价 low 最低价 close 收盘价 pre_close 昨收价 pre2_close 2天前收盘价 pre3_close 3天前收盘价 pre4_close 4天前收盘价 pre5_close 5天前收盘价 change 涨跌额 pct_chg 涨跌幅 vol 成交量 (手) amount
成交额 (千元)
每日基本面指标:
turnover_rate 换手率(%) turnover_rate_f 换手率(自由流通股) volume_ratio 量比 pe 市盈率(总市值/净利润) pe_ttm 市盈率(TTM) pb 市净率(总市值/净资产) ps 市销率 ps_ttm 市销率(TTM) total_share 总股本 (万股) float_share 流通股本 (万股) free_share 自由流通股本 (万) total_mv 总市值 (万元) circ_mv 流通市值(万元)
随机提取25000条上涨训练集和35000条不上涨训练集进行训练,以空格隔开相关数据,如下:
训练后各随机提取
1000条上涨/不上涨测试集进行测试,结果如下:
虽然召回率很低,但是预测上涨的准确率为0.684,这是可以接受的水平。也就是说,只要该模型预测要上涨的股票,其都有68%的可能性上涨。
检验测试结果:
603214.SH,2019-02-25,
X=[3.24700e+01 3.38900e+01 3.20500e+01 3.36900e+01 3.24700e+01 3.11800e+01
2.98400e+01 3.13900e+01 3.16500e+01 1.22000e+00 3.76000e+00 1.10053e+04
3.67124e+04 4.40210e+00 4.40210e+00 1.15000e+00 5.98774e+01 5.40339e+01
5.39450e+00 7.98970e+00 7.96910e+00 1.00000e+04 2.50000e+03 2.50000e+03
3.36900e+05 8.42250e+04], Predicted=1, real=1
2019-02-25十个交易日后是2019-03-11,未来平均收盘价相较2019-02-25的收盘价涨4%以上,确实预测成功。
类似的还有
601111.SH, 2019-03-28
603909.SH, 2016-11-01
600781.SH, 2018-10-17
等等,大家可以自行校验。
当然,模型的准确性还可以进一步提高,比如删除某些无效指标
,或增加一些强指标(比如特朗普发送关于中文的推特时间离该交易日的距离等)。总之,这个模型还可以进一步进行研究。
即便如此,这些模型最多也只能作为投资的参考,最重要的还是投资人的经验。
以上就是关于《[准确率:68%]基于日指标使用LSTM预测股价是否上涨(完善版)-ris指标》的全部内容,本文网址:https://www.7ca.cn/baike/60434.shtml,如对您有帮助可以分享给好友,谢谢。