zoukankan      html  css  js  c++  java
  • 量化分析:把Tushare数据源,规整成PyalgoTrade所需格式

    量化分析:把Tushare数据源,规整成PyalgoTrade所需格式

    分析A股历史数据,首先需要确定数据来源。如果只想做日k线、周k线的技术分析,可以用PyalgoTrade直接从yahoo、google等下载数据,用不着Tushare。但是,如果想做分钟k线的技术分析,或者想了解基本面和消息面的数据,就用得着Tushare了。

    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
     
    1. import tushare as ts  
    2. import pandas as pd  
    3.   
    4. # 得到15分钟数据(股票300336,始于2016-01-01,止于2016-05-24,15分钟数据)  
    5. data = ts.get_hist_data('300336','2016-01-01','2016-05-24','15')  
    6. # 数据存盘  
    7. data.to_csv('15-300336-2016.csv')  
    8. # 读出数据,DataFrame格式  
    9. df = pd.read_csv('15-300336-2016.csv')  
    10. # 从df中选取数据段,改变段名;新段'Adj Close'使用原有段'close'的数据  
    11. df2 = pd.DataFrame({'Date Time' : df['date'], 'Open' : df['open'],  
    12.                     'High' : df['high'],'Close' : df['close'],  
    13.                     'Low' : df['low'],'Volume' : df['volume'],  
    14.                     'Adj Close':df['close']})  
    15. # 按照Yahoo格式的要求,调整df2各段的顺序  
    16. dt = df2.pop('Date Time')  
    17. df2.insert(0,'Date Time',dt)  
    18. o = df2.pop('Open')  
    19. df2.insert(1,'Open',o)  
    20. h = df2.pop('High')  
    21. df2.insert(2,'High',h)  
    22. l = df2.pop('Low')  
    23. df2.insert(3,'Low',l)  
    24. c = df2.pop('Close')  
    25. df2.insert(4,'Close',c)  
    26. v = df2.pop('Volume')  
    27. df2.insert(5,'Volume',v)  
    28. # 新格式数据存盘,不保存索引编号  
    29. df2.to_csv("15-1.csv", index=False)  
  • 相关阅读:
    pyQt5新手教程 (二)开始你的旅程-编写
    未来写作
    电脑使用问题
    cad学习问题
    chm制作
    github学习之路
    python解决实际问题
    英语学习
    经济学
    通过playgrounds程序学习swift语言及思想
  • 原文地址:https://www.cnblogs.com/zhanglong8681/p/7569165.html
Copyright © 2011-2022 走看看