tf26: AI操盘手

原创 2017年01月24日 12:07:04

你要的答案或许都在这里小鹏的博客目录

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

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

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

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

import random
from matplotlib import pyplot
 
random_walk = [-1 if random.random() < 0.5 else 1]
 
for i in range(1, 1000):
	random_walk.append(random_walk[i -1] + (-1 if random.random() < 0.5 else 1))
 
pyplot.plot(random_walk)
pyplot.show()

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应用到股票交易。

首先获得一些股票数据:

from yahoo_finance import Share
import pandas as pd
 
share = Share("IBM")
stock_history = share.get_historical("1989-01-01", "2017-01-01")
ibm_df = pd.DataFrame(stock_history)
ibm_df = ibm_df.iloc[::-1]
 
ibm_df.to_csv("ibm_stock_data.csv", index=False)

TensorFlow练习26: AI操盘手header

画出每天Open指标:

TensorFlow练习26: AI操盘手

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

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

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


如果帮到你了,请赞赏支持:



版权声明:本文为博主原创文章,未经博主允许不得转载。有问题可以加微信:lp9628(注明CSDN)。 https://blog.csdn.net/u014365862/article/details/54706771

TensorFlow练习26: AI操盘手

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

tf5: Deep Q Network—AI游戏

原文链接: http://blog.topspeedsnail.com/archives/tag/tensorflow Deep Q Network是DeepMind最早(2013年)提出来的,是深...
  • u014365862
  • u014365862
  • 2016-12-25 09:58:50
  • 5513

AI - TensorFlow

2017-02-03@erixhao技术极客TechBooster AI(Artificial Intelligence)人工智能及机器学习(Machine Learning)最...
  • ErixHao
  • ErixHao
  • 2017-02-03 21:38:01
  • 1275

Tensorflow实现二次元图片的超分辨率

github上有一个很有意思的项目,waifu2x,原理是通过一个训练好的CNN,将低分辨率的图像放大2倍或更多,同时保留足够的细节,使放大后的图像不会过于模糊或失真。该项目是用lua+Touch写的...
  • AIchipmunk
  • AIchipmunk
  • 2016-12-17 15:56:26
  • 12240

Tensorflow实例:利用LSTM预测股票每日最高价(一)

RNN与LSTM这一部分主要涉及循环神经网络的理论,讲的可能会比较简略。什么是RNNRNN全称循环神经网络(Recurrent Neural Networks),是用来处理序列数据的。在传统的神经网络...
  • mylove0414
  • mylove0414
  • 2017-02-19 17:28:33
  • 52614

自创数据集,用TensorFlow预测股票教程 !(附代码)

来源:机器之心 本文长度为4498字,建议阅读8分钟 本文非常适合初学者了解如何使用TensorFlow构建基本的神经网络。 STATWORX 团队近日从 Google Finance ...
  • tMb8Z9Vdm66wH68VX1
  • tMb8Z9Vdm66wH68VX1
  • 2017-11-15 00:00:00
  • 4318

Tensorflow实例:利用LSTM预测股票每日最高价(二)

根据股票历史数据中的最低价、最高价、开盘价、收盘价、交易量、交易额、跌涨幅等因素,对下一日股票最高价进行预测。实验用到的数据长这个样子: label是标签y,也就是下一日的最高价。列C——I为输入特...
  • mylove0414
  • mylove0414
  • 2017-02-25 00:10:07
  • 21909

使用tensorflow:LSTM神经网络预测股票(三)

原始数据处理有朋友在qq群里分享了原始数据处理的想法,例如调整origin_data_row参数、添加一些大盘的数据作为新的特征等。所以这一篇我将原始数据以及原始数据的处理方法写下来,为方便大家验证、...
  • wlzzhcsdn
  • wlzzhcsdn
  • 2017-10-15 15:13:35
  • 4168

使用tensorflow:LSTM神经网络预测股票(一)

使用tensorflow:LSTM神经网络预测股票
  • wlzzhcsdn
  • wlzzhcsdn
  • 2017-10-11 15:15:30
  • 5351

使用tensorflow:LSTM神经网络预测股票(二)

与第一版相比的改进点 股票预测相关代码 数据部分 tensorflow 代码 数据部分 tf代码 交流及完整数据与第一版相比的改进点上一篇博客 直接预测收益,训练过程中通过观察预测值的变动,发现LST...
  • wlzzhcsdn
  • wlzzhcsdn
  • 2017-10-11 19:25:41
  • 2399
收藏助手
不良信息举报
您举报文章:tf26: AI操盘手
举报原因:
原因补充:

(最多只允许输入30个字)