TensorFlow练习26: AI操盘手

Deep Q-learning玩游戏玩的不错,使用类似的方法,本帖尝试使用强化学习训练一个 AI操盘手。这个AI可以决定一支股票什么时候买入,什么时候卖出,当然,终极目标是高回报。

我是小小程序猿,非金融玩家,本帖只是一点个人观点,纯属娱乐。如有错误,欢迎指正。

话说股票价格到底能不能预测

先来看一下<随机游走假说-Random Walk>。

随机游走假说(英语:Random walk hypothesis)是金融学上的一个假说,认为股票市场的价格,会形成随机游走模式,因此它是无法被预测的。(摘自wiki)

生成一个随机游走时间序列数据:

TensorFlow练习26: 使用AI替代操盘手-股价预测

上面生成的这个数据序列像不像股票走势,这个数据序列是无法有效预测的。难道股票价格真的无迹可寻吗?

不要忘了股票价格是受外界环境影响的,如公司、股人、大佬、政治、甚至太阳的活动周期等等。人是情感动物,一个人不好预测,大众的行为还是可预测的。当你的模型将所有的因素全都考虑进来,那么股价的预测是不是就可行了呢?从量子力学的角度来看,未来是测不准的,只能求出概率。记住,当你预判别人的同时,别人也在预判你(镜中镜)。

TensorFlow练习26: AI操盘手-股价预测

上图是比特币的近期走势图,这货在去年12月份经历了一次大涨,涨的过程像不像阶梯。媒体一看比特币涨了,就会大肆报道,这就吸引了投资者眼球(贪婪),如果你查这段时间的搜索趋势,你会看到比特币的搜索量明显增多了。

当然有涨就有跌,这货不可能一直涨,最后一根稻草一旦被压断,就会出现断崖式下跌(恐慌),随之而来又是一段稳定期。

比特币涨了,我该不该入手?(如果你是投资者)
比特币跌了,我该不该出手?
当你发现你问这两个问题时,就已经晚了。在金融市场,不先人一两步怎么能成。

AI操盘手

AI操盘手从复杂环境中学到交易规则,然后应用action(买、卖,憋着)反作用到环境,借助强化学习,这个AI操盘手会不断进化。

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2016-11-19-%e4%b8%8a%e5%8d%8810-09-08

Deep Q-learning可以从原始数据中进行端到端的学习策略。

本帖只是一个简单的示例,只是看看能不能把Deep Q-learning应用到股票交易。

首先获得一些股票数据:

TensorFlow练习26: AI操盘手
header

画出每天Open指标:

TensorFlow练习26: AI操盘手

代码(AI模拟交易;reward:最大化收益):

TensorFlow练习26: AI操盘手
代码还有点问题,容我在改改。

我只使用历史数据做为输入,这样是远远不够的。后续:添加更多影响股价的因素,如新闻、社交媒体、搜索趋势等等;添加多股票支持。

如要转载,请保持本文完整,并注明作者@斗大的熊猫和本文原始地址: http://blog.topspeedsnail.com/archives/11069

相关文章

《TensorFlow练习26: AI操盘手》有6个想法

  1. 1. 需要即时市场数据并累计历史数据以便做出分析
    2. 外界变量 例如新闻 需要即时更新,在此之前需要建模做分类并给每个新闻一个rank 【-1,1】
    3. 结合分析结果 判断是否盈利的概率,此处设置一个threshold 例如0.8,达到后立刻进行交易

  2. 也在想这方面的东西,感觉可以从简单入手不需要其他新闻信息什么的,但是数据只是日k的话可能不行。

发表评论

电子邮件地址不会被公开。 必填项已用*标注