处理Tushare数据源,统一PyalgoTrade格式
2017-01-05 13:10
459 查看
分析A股历史数据,首先需要确定数据来源。如果只想做日k线、周k线的技术分析,可以用PyalgoTrade直接从yahoo、google等下载数据,用不着Tushare。但是,如果想做分钟k线的技术分析,或者想了解基本面和消息面的数据,就用得着Tushare了。
PyalgoTrade使用的基本数据格式有两种,一是Yahoo格式,二是NinjaTrader格式。
Yahoo格式的数据分段为:
Tushare提供的数据格式,日k线、分钟线均为:
把Tushar数据转换成Yahoo格式,原本很简单。但我对Pandas不熟,只好找来相关pdf书,加上Baidu,在Jupyter Notebook中,边学边练,实验多次,最终搞定。
[python] view plain copy
在CODE上查看代码片派生到我的代码片
PyalgoTrade使用的基本数据格式有两种,一是Yahoo格式,二是NinjaTrader格式。
Yahoo格式的数据分段为:
日线数据:Date,Open,High,Low,Close,Volume,Adj Close 分钟数据:Date Time,Open,High,Low,Close,Volume,Adj Close
Tushare提供的数据格式,日k线、分钟线均为:
date:日期 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:换手率[注:指数无此项]
把Tushar数据转换成Yahoo格式,原本很简单。但我对Pandas不熟,只好找来相关pdf书,加上Baidu,在Jupyter Notebook中,边学边练,实验多次,最终搞定。
[python] view plain copy
在CODE上查看代码片派生到我的代码片
import tushare as ts import pandas as pd # 得到15分钟数据(股票300336,始于2016-01-01,止于2016-05-24,15分钟数据) data = ts.get_hist_data('300336','2016-01-01','2016-05-24','15') # 数据存盘 data.to_csv('15-300336-2016.csv') # 读出数据,DataFrame格式 df = pd.read_csv('15-300336-2016.csv') # 从df中选取数据段,改变段名;新段'Adj Close'使用原有段'close'的数据 df2 = pd.DataFrame({'Date Time' : df['date'], 'Open' : df['open'], 'High' : df['high'],'Close' : df['close'], 'Low' : df['low'],'Volume' : df['volume'], 'Adj Close':df['close']}) # 按照Yahoo格式的要求,调整df2各段的顺序 dt = df2.pop('Date Time') df2.insert(0,'Date Time',dt) o = df2.pop('Open') df2.insert(1,'Open',o) h = df2.pop('High') df2.insert(2,'High',h) l = df2.pop('Low') df2.insert(3,'Low',l) c = df2.pop('Close') df2.insert(4,'Close',c) v = df2.pop('Volume') df2.insert(5,'Volume',v) # 新格式数据存盘,不保存索引编号 df2.to_csv("15-1.csv", index=False)
相关文章推荐
- 量化分析:把Tushare数据源,规整成PyalgoTrade所需格式
- 量化分析:把Tushare数据源,规整成PyalgoTrade所需格式
- 量化分析:把Tushare数据源,规整成PyalgoTrade所需格式
- tushare数据格式转为PyalgoTrade所需格式
- asp.net webapi 404/或无效控制器/或无效请求 截取处理统一输出格式
- Spring MVC 全局异常处理-RESTAPI接口返回统一JSON格式-自定义异常处理--404异常捕捉
- springmvc 通过异常增强返回给客户端统一格式 springmvc请求参数异常处理
- J2EE搭建WAP站点时图片发布统一格式处理解决方案(原创)
- spring boot - cloud (二) 规范响应格式以及统一异常处理
- PyAlgoTrade 学习笔记(一)
- [Web API] 如何让 Web API 统一回传格式以及例外处理
- PyAlgoTrade.eventprofiler.py 注释
- J2EE搭建WAP站点时图片发布统一格式处理解决方案
- pyalgotrade教程4--broker设置:交易费用,滑点模型
- pyalgotrade教程5--多标的策略
- spring boot / cloud (二) 规范响应格式以及统一异常处理
- RxJava Retrofit2 网络请求,返回数据格式统一的数据报文处理方法
- Tushare + pyalgotrade + pandas 环境搭建(MAC环境)
- Tushare + pyalgotrade + pandas 环境搭建(MAC环境)
- pyalgotrade教程2--第一笔交易