keras量化分析之路(1)--获取历史交易数据

tushare提供方法,方便获取某只股票的历史交易数据

方法名称:get_hist_data

1。获取某只股票全部交易数据

import tushare as ts

ts.get_hist_data('600848') #一次性获取全部日k线数据

输出结果:

是一个DataFrame结构的数据,index就是交易日期,也就是每个交易日 共有15列;说明如下:

date:日期 —index列 open:开盘价 high:最高价 close:收盘价 low:最低价 volume:成交量 price_change:价格变动 p_change:涨跌幅 ma5:5日均价 ma10:10日均价 ma20:20日均价 v_ma5:5日均量 v_ma10:10日均量 v_ma20:20日均量 turnover:换手率[注:指数无此项]

可以自主选择交易范围,即交易日期可以自由设置 例如这样:

df=ts.get_hist_data('601857',start='2016-06-15',end='2017-11-06')

接下来如果不想要那么多列,可以自由选择列表,即是对DataFrame数据结构的一个操作, 例如这样:

dd=df[['open','high','low','close']]

得到子项 open high low close date 2018-04-20 42.93 43.65 41.71 41.89 2018-04-19 41.88 43.18 41.37 42.96 2018-04-18 42.82 43.24 41.00 41.89 2018-04-17 43.74 43.95 42.29 42.79 2018-04-16 42.80 44.70 42.59 43.72 2018-04-13 43.61 44.25 42.28 42.55 2018-04-12 43.72 44.65 43.38 43.61 2018-04-11 43.04 44.45 42.75 43.72 2018-04-10 41.98 43.24 41.26 43.10 2018-04-09 41.70 43.00 41.08 42.00 2018-04-04 42.52 43.47 41.69 42.48

接下来顺道说下,对交易数据的排序动作:

上面得到的dd,获取的数据顺序,从日期上来看,是倒序的,就是越晚的交易数据,越在前面 你可以换,逆序排列下:

dd1=dd .sort_index()

接下来对数据的处理有:

如:将df数据结构转换为一维数据结构:

dd2=dd1.values.flatten()

得到个格式,就是将上面排序之后的数据,从最后一个向最前一个,全部放在一维数组里面: [ 40.2 41.99 40.2 40.85 40.35 42.22 40.25 42.08 42.52 43.47 41.69 42.48 41.7 43. 41.08 42. 41.98 43.24 41.26 43.1 43.04 44.45 42.75 43.72 43.72 44.65 43.38 43.61 43.61 44.25 42.28 42.55 42.8 44.7 42.59 43.72 43.74 43.95 42.29 42.79 42.82 43.24 41. 41.89 41.88 43.18 41.37 42.96 42.93 43.65 41.71 41.89]

这步操作实际对交易流水的行为就是:从交易开始日期到交易结束日期的数据,根据选择的特征,例如:开盘价,最高价,最低价,收盘价;四个一节段,平接在一起,存放在一个一维数组里面;

可以继续将上面的数组进行逆序,获取的结果将是从收盘当日往前推若干个日期的交易数据:

g1=dd2[::-1]

结果就是这样的: [ 41.89 41.71 43.65 42.93 42.96 41.37 43.18 41.88 41.89 41. 43.24 42.82 42.79 42.29 43.95 43.74 43.72 42.59 44.7 42.8 42.55 42.28 44.25 43.61 43.61 43.38 44.65 43.72 43.72 42.75 44.45 43.04 43.1 41.26 43.24 41.98 42. 41.08 43. 41.7 42.48 41.69 43.47 42.52 42.08 40.25 42.22 40.35 40.85 40.2 41.99 40.2 ]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券