阅读源码金融数据分析包——TuShare鸟瞰图总结

TuShare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,TuShare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然,如果您习惯了用Excel或者关系型数据库做分析,您也可以通过TuShare的数据存储功能,将数据全部保存到本地后进行分析。应一些用户的请求,从0.2.5版本开始,TuShare同时兼容Python 2.x和Python 3.x,对部分代码进行了重构,并优化了一些算法,确保数据获取的高效和稳定。——摘自官网

第一部分:数据存储格式

数据存储模块主要是引导用户将数据保存在本地磁盘或数据库服务器上,便于后期的量

化分析和回测使用,在以文件格式保存在电脑磁盘的方式上,调用的是pandas本身自

带的方法,此处会罗列常用的参数和说明,另外,也会通过实例,展示操作的方法。在

存入DataBase方面,也提供了简单的处理方式,本文将给出简单的python代码。

 

  • 保存为csv格式 to_csv('c:/day/000875.csv')
  • 保存为Excel格式 to_excel('c:/day/000875.xlsx')
  • 保存为HDF5文件格式 to_hdf('c:/day/hdf.h5','000875')
  • 保存为JSON格式 to_json(orient='records')
  • 存入MySQL等关系型数据库 to_sql('tick_data',engine)
  • 存入NoSQL数据库  conn.db.tickdata.insert(json.loads(df.to_json(orient='records')))

 

第二部分:宏观经济数据

宏观经济数据提供国内重要的宏观经济数据,目前只提供比较常用的宏观经济数据,通

过简单的接口调用可获取相应的DataFrame格式数据,大项主要包括以下类别:

  • 金融信息数据
  • 国民经济数据
  • 价格指数数据
  • 景气指数数据
  • 对外经济贸易数据

 

已有的函数方法:

  1. 存款利率 get_deposit_rate()
  2. 贷款利率 get_loan_rate()
  3. 存款准备金率 get_rrr()
  4. 货币供应量          get_money_supply()
  5. 货币供应量(年底余额)   get_money_supply_bal()
  6. 国内生产总值(年度)      get_gdp_year()
  7. 国内生产总值(季度)      get_gdp_quarter()
  8. 三大需求对GDP贡献    get_gdp_for()
  9. 三大产业对GDP拉动    get_gdp_pull()
  10. 三大产业贡献率           get_gdp_contrib()
  11. 居民消费价格指数        get_cpi()
  12. 工业品出厂价格指数     get_ppi()

 

第三部分:交易数据

交易类数据提供股票的交易行情数据,通过简单的接口调用可获取相应的DataFrame

格式数据,主要包括以下类别:

  • 历史行情数据 get_hist_data('600848')
  • 复权历史数据 get_stock_basics()
  • 实时行情数据 get_today_all()
  • 历史分笔数据 get_tick_data('600848',date='2014-01-09')
  • 实时报价数据 get_realtime_quotes('000581')
  • 当日历史分笔 get_today_ticks('601333')
  • 大盘指数列表 get_index()

 

第四部分:基本面数据

基本面类数据提供所有股票的基本面情况,包括股本情况、业绩预告和业绩报告等。主

要包括以下类别:

  • 沪深股票列表
  • 业绩预告
  • 业绩报告(主表)
  • 盈利能力数据
  • 营运能力数据
  • 成长能力数据
  • 偿债能力数据
  • 现金流量数据

 

已有的函数方法:

  1. 股票列表          get_stock_basics()
  2. 业绩报告(主表)get_report_data(2014,3)
  3. 盈利能力 get_profit_data(2014,3)
  4. 营运能力 get_operation_data(2014,3)
  5. 成长能力 get_growth_data(2014,3)
  6. 偿债能力 get_debtpaying_data(2014,3)
  7. 现金流量 get_cashflow_data(2014,3)

 

第五部分:股票分类数据

分类数据提供股票的分类信息数据,从股票类型的不同角度进行数据分类,在一些统计

套利方法的应用中,时常会以股票的分类来做切入,比如对某些行业或概念进行阶段统

计来决定近期的交易策略等。TuShare提供的分类数据主要包括以下类别:

  • 行业分类 get_industry_classified()
  • 概念分类 get_concept_classified()
  • 地域分类 get_area_classified()
  • 中小板分类 get_sme_classified()
  • 创业板分类 get_gem_classified()
  • 风险警示板分类 get_st_classified()
  • 沪深300成份股及权重 get_hs300s()
  • 上证50成份股 get_sz50s()
  • 中证500成份股 get_zz500s()
  • 终止上市股票列表 get_terminated()
  • 暂停上市股票列表 get_suspended()

 

第六部分:投资参考数据

投资参考提供一些可能会影响股票价格走势的信息数据,为投资者在做投资决策时提供

数据参考,亦可作为量化策略模型的事件因子纳入模型的计算。TuShare提供的参考数

据主要包括以下:

  • 分配预案     profit_data(top=60)
  • 业绩预告     forecast_data(2014,2)
  • 限售股解禁 xsg_data()
  • 基金持股    fund_holdings(2014, 4)
  • 新股上市    new_stocks()
  • 融资融券(沪市)    sh_margins(start='2015-01-01', end='2015-04-19')
  • 融资融券(深市)    ts.sh_margin_details(start='2015-01-01', end='2015-04-19', '000581')

 

第六部分:新闻事件数据

新闻事件接口主要提供国内财经、证券、港股和期货方面的滚动新闻,以及个股的信息

地雷数据。目前主要包括以下类别:

  • 即时财经新闻     get_latest_news()
  • 个股信息地雷     get_notices()
  • 新浪股吧新闻     guba_sina()

 

第七部分:参考资料:

资料1(GitHub of tushare):https://github.com/waditu/tushare

资料2(DataYes):https://www.datayes.com/index.html?lang=zh-CN

通联数据(DataYes)是国内目前最大的开放金融数据平台,整合了包括股票、基

金、期货、期权和港股方面的全品类金融数据。从数据的多样性、质量性和稳定性的角

度考虑,遵从TuShare一贯的开放、简单易用的特点,TuShare为用户集成了绝大部分

通联数据的接口。

资料3(优矿-大数据时代量化投资):https://uqer.io/home/

资料4(RiceQuant米筐量化交易平台):https://www.ricequant.com/

资料5(JoinQuant聚宽量化交易平台):https://www.joinquant.com/

tushare项目源码阅读本地地址:E:\Python_jingrong_waditutushare\tushare-master

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: