[准确率73%]向LSTM股价预测模型加入特朗普因子,准确率提升5%

发表于 干货, 技术原理, 机器学习, 神经网络及深度学习, 算法 2019-05-22 阅读数: 199

上一次推送中,我们使用LSTM基于26种日指标进行股票的预测,准确率达到68%(链接:[准确率:68%]基于日指标使用LSTM预测股价是否上涨(完善版)),今天我们准备再加一种指标,那就是特朗普指标,看看能否让准确率有所提升。

这个特征应该怎么表示呢?我们提取特朗普的推特中包含“中国”的所有推特,并对他们进行感情色彩分类,分类标准使用艾克曼的六种基本情绪,分别为:

Anger 1 生气

Disgust 2 恶心

Fear 3 害怕

Joy 4 开心

Sadness 5 伤心

Sur、prise 6 惊奇

其中,数字是我们将这些情感数字化后的特征。我们选取离那个交易日最近的包含中国关键词的特朗普推送的情感状态,作为那个交易日的特朗普因子特征。

特朗普推特

当然还会出现像下面这种情况,离我们发送推送的今天最近的推特里,特朗普那天发了9条推特,其中6条开心,1条害怕,2条生气,我们这个时候为了简化问题,取出现次数最多的一种情感作为特征。

此外,我们还需要一个时间戳作为特征,直接选取当时发推的时间即可。

将类似这样的特征放入到我们上一次的训练集的每一条的最后进行训练:

4 1467129600.0

训练100次,其实从损失和准确率曲线上看,还有继续训练的空间,但是为了和上一次形成对比,我们就训练100次吧:

训练过程

model lost

增加特朗普因子之后的测试结果如下:

增加因子

增加特朗普因子之前的测试结果如下:

没增加因子

我们可以发现准确率提升了5%,这是一个相当不错的改进了。

当然还可以进一步改进,比如说:

现在使用的是发推送时的时间作为一种特征,我们也可以选择发推送的时间和当前时间的差作为特征。

可以多增加一些特征,比如K线技术的harami、晨星线等等特征。

我们还没有去除无效和负面指标。

我们留着下次接着改进,敬请期待。

Add comment