一、数据获取需求

        在金融类的数学建模问题中,历史行情数据是构建模型的基础。无论是时间序列预测、波动率建模还是多因子策略研究,都需要获取以下核心数据:

  • 每日价格数据(开盘价、收盘价、最高价、最低价)

  • 成交量数据(用于流动性分析)

  • 复权价格(用于长期回测)

  • 股票基本信息(行业分类、上市日期等)

        以沪深300成分股的多因子模型为例,通常需要整合近5年的日线行情数据与季度财务数据,数据量级可达百万行。虽然从同花顺等平台可以下载历史数据,但手工下载方式效率低下,而Tushare提供了完美的解决方案。

二、Tushare简介

        Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程。

  1. 打开官网Tushare数据并注册;
  2. 注册成功后可以在个人主页获取【接口TOKEN】;
  3. 下载并安装最新版Tushare SDK Tushare数据;
  4. 获取数据需要积分(注册100积分,修改个人信息20积分),积分越高可获取数据的频次也越高,其他获取积分方式见Tushare数据

三、数据获取代码

安装Tushare(安装慢可用清华源)

pip install tushare

导入并查看版本(这里需要版本大于1.2.10)

import tushare as ts
print(tushare.__version__)

初始化接口(这里需要用到个人主页的接口TOKEN)

pro = ts.pro_api('your token')

数据获取(以A股日线为例)

函数pro.daily()

  • 输入参数
名称 类型 必选 描述
ts_code str N 股票代码(支持多个股票同时提取,逗号分隔)
trade_date str N 交易日期(YYYYMMDD)
start_date str N 开始日期(YYYYMMDD)
end_date str N 结束日期(YYYYMMDD)
  •  输出参数
名称 类型 描述
ts_code str 股票代码
trade_date str 交易日期
open float 开盘价
high float 最高价
low float 最低价
close float 收盘价
pre_close float 昨收价【除权价,前复权】
change float 涨跌额
pct_chg float 涨跌幅 【基于除权后的昨收计算的涨跌幅:(今收-除权昨收)/除权昨收 】
vol float 成交量 (手)
amount float 成交额 (千元)
  • 查询单个数据
df = pro.daily(ts_code='000001.SZ,600000.SH', start_date='20200701', end_date='20200718')
  • 查询多个数据
df = pro.daily(ts_code='000001.SZ,600000.SH', start_date='20200701', end_date='20200718')
  • 查询单日全部数据
df = pro.daily(trade_date='20200810')
  • 单日全部数据运行结果

Logo

更多推荐