基于深度学习的股价外因推断模型

发布时间:2022-06-25 17:45:32


  背景介绍

  随着财富增长,家庭资产的组合一般是基金、股票、保险、现金等,用来实现资产的保值增值功能,以及满足流动性需求。就股票来说,“初生牛犊不怕虎,一无所知是真虎”形容了想在股市暴富,实际羊入虎口的“不劳而获”心理,这也包括曾经的自己,须引以为戒。

  股市有风险,但是股市也提供了可研究的素材,可供分析。尤其是想知道价格信息到底是否可靠:价格本身是否包含了足够的信息使得可以充分预测未来价格。而本模型就以这个问题作为出发点做了一次非线性近似模拟和分析。

  模型介绍

  假设:价格本身包含了足够的信息使得可以充分预测未来价格。那么这个意思就是说未来价格和之前的价格之间存在某种关系,用数学的语言来说,就是存在一个函数关系,满足

1

  如果我们可以找到这个函数f,就可以预测未来的价格。但是这个函数是非线性的,不是一目了然能看出来的,也不是可以通过尝试就能随意试出来的,于是基于深度学习的非线性函数近似功能发挥了作用,为我们提供了一种近似手段。

  假设我们通过深度学习的非线性近似找到了这个函数联系,然后能用来做什么呢?

  (1)内因分析:在假设的前提下,给出未来价格的评估影响,价格可能升高,也可能降低。

  (2)外因分析:如果发现实际和模型差距较大,说明有外因作用于价格,可供继续分析定位。

  这里的外因是以相对的视角看待的,例如,如果价格和波动是内因,然后未知的其他因素就是外因;当某个外因被探测到之后,就会被归类于内因。

  为什么要考察上面两个结果?因为当股票价格变化很大的时候,仅从表面现象,我们是无法区分出这种变化来源于价格或其他内因的变化,还是来源于外因的变化。如果无法正确归因,那么“对症下药”也是不可能了。

  上面的考察也提供了如何区分内因和外因:当实际价格处于模型预测价格时,那么价格受内因影响,否则受外因影响。这其中的标准就是模型,如果模型错了,结果自然也会错。但是在该问题中,其实我们并不关心模型是否真的合理,我们只是主动选择了一个模型,然后以该模型为标准,给内因和外因做一个辨别,作为一种探查的手段。

  总结就是:模型提供了区分内因和外因的判断标准。

  模型效果

  下表是训练好模型后,模型预测值和真实值之间的差距。(数据取自招商银行)

2

  误差百分比来源于两部分,一个是价格自身的波动,一个是外因的驱动,这个界限从观察来看,认为日波动在2%以内还比较让人接受。

  模型总结

  首次尝试结合深度学习和股价分析,能这么做的理由是基于有效市场理论:所有的信息最终都会体现在价格上,也就是说价格本身已经包含了充分的信息。基于此,深度学习才有可能学习到价格中隐含的潜在规律。

  从模型效果来看,虽然个别误差较大,但是直觉差异似乎还可以,至于能否用来区分内因外因,还要继续实验和观察。

  从模型的应用来看,首先我们不应该依赖预测价格来做一些严肃的决策,但是可以允许预测价格给我们一个反馈:假如价格处在这个不理想的位置,我们要做什么。所以从应用来看,模型的其中一个功能是“打破不切实际的幻想”,从这一点来看,它还是有价值的。

  深度学习模型学习心得

  深度学习是一种万能非线性近似,使用它的一个好处就是不用各种特殊建模,虽然特殊建模能带来更加清晰的认识,能更助于发现相关和因果关系,可是很麻烦。本文也是首次尝试,在深度学习这一领域还没有深刻的认识,于是把深度学习模型的关键点记录下来,供以后查阅。模型仅是个人研究使用,可能会存在错误。

  模型分层

  为什么这样分层?没有指导,全凭感觉和实验反馈。输入训练样本shape=(4871,30,1),含义:共有4871个训练样本,每个样本有30个时间步,每个时间步的特征数是1,即价格。本模型使用30天序列作为样本来预测下一期,每次只预测一期,因此是一个短期模型。

3

  LSTM理解

  整个循环神经网络组合成一个大网络,然后通过反向传播算法对整个大网络求梯度,因此这要求序列是有限的,否则梯度无法计算。遇到的其他问题:

  (1)在建模中,总把序列中的单步网络看成是最终的网络模型,这是不对的,所有时间步组成的网络才是最终的网络,因此使用模型预测时,输入必须仍然是一个时间序列。

  (2)模型的训练样本必须符合神经网络指定的数据结构,例如输入shape=(4871,30,1)。在把CSV文件转换成对应的数据结构时,由于对神经网络结构的错误认识(单步网络:错误,组合网络:正确),导致花费了不少功夫调研应把什么样的数据结构喂给网络模型。

4



下一篇:B股账户的开通流程和问题解答(个人经历)

上一篇:如何做好家庭资产配置?