白嫖 A 股行情数据!Tushare 超详细使用教程,Python 量化必备
前言
做 A 股量化分析、金融数据研究的小伙伴,肯定都遇过找靠谱行情数据的难题:商业接口收费高,小众数据源格式不兼容,手动爬取又耗时耗力。今天给大家分享一款面向 Python 生态的免费 / 积分制金融数据神器 ——Tushare,覆盖股票、指数、基金、宏观经济等全品类数据,返回 pandas DataFrame 格式,无缝对接各类分析框架,个人研究、机构小团队使用都超合适,手把手教你快速上手!告别 VIP 付费!通达信免费行业实时行情获取指南,Python 一键实现
一、Tushare 是什么?
Tushare 是主打 A 股的免费 / 积分制金融数据接口与社区平台,核心提供标准化金融数据 API,专为 Python 量化分析、金融数据分析和研究打造,从早期开源工具升级为如今的 Tushare Pro 数据开放平台,是国内超火的金融大数据社区。
核心特点
- 高人气高认可度:非盈利开源社区,已服务超 30 万个人用户 + 600 家机构,稳定性和口碑有保障;
- Python 生态无缝对接:以 Python API 为核心,返回 pandas DataFrame 格式数据,无需额外做格式转换,直接适配 pandas/numpy/matplotlib 等分析工具;
- 积分制灵活权限:基础数据可免费调取,高阶数据采用积分制管理,免费获取积分的方式多样,兼顾个人免费用户和专业机构用户需求;
- 数据更新及时:行情、财务、宏观等数据更新同步市场,满足量化回测、实时分析的需求。
二、Tushare 核心数据覆盖
Tushare 的数据源覆盖A 股相关全品类,一个平台就能搞定大部分金融数据需求,不用来回切换各类数据源,效率拉满:
- 股票数据:基础信息、日线 / 分钟级行情、财务报表、分红送转、龙虎榜、资金流向、增减持等;
- 指数数据:沪深 300、中证 500 等主流宽基指数,行业 / 主题指数,成分股及权重数据;
- 基金 / 债券 / 期货:公募基金净值、债券行情、期货主力合约及连续合约数据;
- 宏观经济数据:GDP、CPI、PPI、市场利率、汇率、货币供应量(M0/M1/M2)等宏观核心指标。
三、环境准备与安装
使用 Tushare 的前提是安装 Python 环境(建议 3.7 及以上版本),之后直接通过 pip 命令安装即可,步骤超简单:
安装命令
打开 CMD / 终端 / PyCharm 终端,执行以下命令:
pip install tushare
若安装速度慢,可使用国内镜像源加速:
pip install tushare -i https://pypi.tuna.tsinghua.edu.cn/simple
四、获取 Tushare Token(关键步骤)
Tushare 所有数据接口的调用都需要Token 令牌做身份验证,Token 可免费获取,步骤如下:
- 访问Tushare 官网,完成个人账号注册;
- 登录后进入个人中心,找到Token 令牌板块,复制专属的 Token 字符串(一串字母 + 数字组合),保存好备用。
注意:Token 是个人专属凭证,不要随意分享给他人,避免数据调用权限被占用。
五、实战:Python 调用 Tushare 获取数据
以调取上交所交易日历数据为例,手把手教你完成从导入库到获取数据的全流程,零基础也能看懂。
完整代码示例
# 导入tushare库
import tushare as ts
import pandas as pd
# 1. 设置个人Token
ts.set_token('your_token_here') # 替换为你复制的真实Token
# 2. 初始化Pro接口
pro = ts.pro_api()
# 3. 调用接口获取数据
# 调取上交所2018-09-01至2018-10-01的交易日历
df = pro.trade_cal(
exchange="SSE", # 交易所:SSE上交所,SZSE深交所,BSE北交所
start_date=20180901, # 开始日期,格式:YYYYMMDD
end_date=20181001, # 结束日期,格式:YYYYMMDD
fields='exchange,cal_date,is_open,pretrade_date' # 返回字段
)
# 4. 打印查看数据
print(df)
数据返回结果
执行代码后,会返回 pandas DataFrame 格式数据,示例如下:
| exchange | cal_date | is_open | pretrade_date | |
|---|---|---|---|---|
| 0 | SSE | 20180901 | 0 | 20180831 |
| 1 | SSE | 20180902 | 0 | 20180831 |
| 2 | SSE | 20180908 | 0 | 20180907 |
| ... | ... | ... | ... | ... |
| 11 | SSE | 20181001 | 0 | 20180928 |
字段说明:
- exchange:交易所代码
- cal_date:日期
- is_open:是否开市(0 休市,1 开市)
- pretrade_date:上一个交易日
核心注意点
- 日期参数格式必须为YYYYMMDD,不能带横杠;
- 接口调用的参数可在官网文档中查询,部分接口有必选 / 可选参数之分;
- DataFrame 格式数据可直接进行筛选、清洗、可视化等后续分析操作。
六、Tushare 官网文档使用技巧
上面的交易日历只是入门示例,Tushare 的所有数据接口都有详细的官方文档,这是解锁全功能的关键,官网文档包含以下核心信息:
- 接口名称:如获取股票基础信息的接口为
stock_basic,获取日线行情的接口为daily; - 权限要求:部分接口需要指定积分才能调用(如
stock_basic需要 2000 积分起),基础信息类接口建议调取一次后保存到本地,避免重复调用; - 输入参数:支持按股票代码、市场类别(主板 / 创业板 / 科创板 / 北交所)、上市状态、交易所等条件筛选数据;
- 输出参数:明确接口返回的所有字段及说明,提前规划数据处理逻辑;
- 在线调试:官网提供数据工具调试功能,无需写代码即可在线调用接口、查看返回结果,确定参数后再编写代码,大幅提升效率。
股票基础信息接口stock_basic示例:
# 获取沪深A股上市股票基础信息
df_stock = pro.stock_basic(
exchange='',
list_status='L', # L=上市,D=退市,P=暂停上市
fields='ts_code,symbol,name,industry,list_date'
)
# 保存到本地CSV
df_stock.to_csv('A股股票基础信息.csv', index=False, encoding='utf-8-sig')
七、Tushare 积分制说明
很多小伙伴关心积分问题,其实 Tushare 的基础数据积分要求极低,且免费获取积分的方式多样,完全能满足个人研究和小体量量化分析的需求:
免费获取积分的方式
- 完成个人实名认证(基础积分);
- 每日登录官网签到;
- 社区内容分享、回答问题;
- 邀请好友注册 Tushare。
积分使用说明
- 不同接口的积分消耗不同,基础查询类接口单次消耗积分极少;
- 积分有有效期,可在官网查看积分明细和有效期;
- 机构用户或需要高频调取高阶数据的用户,可通过平台正规渠道升级积分。
八、常见问题与解决
- 安装失败:检查 Python 版本是否兼容,升级 pip 后重新安装(
python -m pip install --upgrade pip); - Token 验证失败:确认 Token 是否复制正确,是否存在空格,若失效可在官网重新生成;
- 接口调用报错:查看报错信息,确认参数格式是否正确(如日期、交易所代码),是否满足接口积分权限;
- 数据返回为空:检查查询条件是否合理(如查询非交易日的行情、不存在的股票代码)。
总结
Tushare 是 Python 量化分析、金融数据研究的宝藏工具,凭借免费、数据全、Python 友好、格式兼容等优势,成为国内超多人的首选金融数据接口。无论是做个股量化回测、指数分析,还是结合宏观数据做市场研判,Tushare 都能一站式满足需求,不用再为找数据、转格式折腾。
只要掌握基础的 Python 操作,跟着本文步骤走,5 分钟就能上手调用数据,赶紧去官网注册试试,实现 A 股行情数据的 “白嫖自由” 吧!
推荐收藏,后续做量化分析时随时查阅,也欢迎在评论区交流 Tushare 的使用技巧和问题~
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)