首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python Tushare自动化金融数据分析

Python Tushare自动化金融数据分析

作者头像
用户11081884
发布2026-07-20 18:39:31
发布2026-07-20 18:39:31
480
举报

1. Tushare

Tushare是一个基于Python的金融数据接口库,提供了全面的中国金融市场数据。它覆盖了A股、港股、期货、基金、债券、外汇等各类金融产品数据,甚至包括行业大数据和数字货币行情。TushareAPI设计简洁,返回数据直接是Pandas DataFrame格式,便于后续分析处理。虽然部分高级功能需要积分或VIP权限,但基础数据已能满足大多数研究需求。

核心特点:

  • 数据全面:覆盖A股、港股、美股、基金、期货等市场。
  • 接口简单:几行代码即可获取所需数据。
  • 专业可靠:数据来源权威,更新及时。
  • 社区活跃:拥有庞大的用户群体和开发者社区。

2. 安装Tushare

使用pip一键安装:

代码语言:javascript
复制
pip install tushare

如果需要使用完整功能,建议注册获取API token

代码语言:javascript
复制
import tushare as ts
ts.set_token('你的token')  # 设置token
pro = ts.pro_api()  # 初始化接口

3. Tushare核心功能详解

3.1 获取股票数据

获取A股实时行情数据

代码语言:javascript
复制
import tushare as ts
# 获取实时行情数据
df = ts.get_realtime_quotes('000001')  # 平安银行
print(df)

输出示例:

代码语言:javascript
复制
name    open pre_close   price    high     low     bid     ask     volume          amount  b1_v  ...   a2_v    a2_p   a3_v    a3_p  a4_v    a4_p  a5_v    a5_p        date      time    code    
0  平安银行  12.300    12.300  12.470  12.500  12.280  12.470  12.480  113207820  1405152349.430  2907  ...  12257  12.490  28402  12.500  7682  12.510  6068  12.520  2025-08-05  15:00:00  000001

获取股票历史数据

代码语言:javascript
复制
# 获取日K线数据
# 设置 token(只需一次)
ts.set_token('19ae98756rt91efwd39ia6ea3bb7a0f22bd9db22fd8a5383bec3b45622e')
pro = ts.pro_api()

# 拉取 000001.SZ 日线行情
df = pro.daily(ts_code='000001.SZ',start_date='20250101',end_date='20250801')

# 按日期升序排列
df = df.sort_values('trade_date')
print(df.head())

输出示例:

代码语言:javascript
复制
ts_code trade_date   open   high    low  close  pre_close  change  pct_chg         vol       amount
140  000001.SZ   20250102  11.73  11.77  11.39  11.43      11.70   -0.27  -2.3077  1819596.99  2102923.078
139  000001.SZ   20250103  11.44  11.54  11.36  11.38      11.43   -0.05  -0.4374  1154680.44  1320520.978
138  000001.SZ   20250106  11.38  11.48  11.22  11.44      11.38    0.06   0.5272  1085536.30  1234305.778
137  000001.SZ   20250107  11.42  11.53  11.37  11.51      11.44    0.07   0.6119   747862.88   858329.049
136  000001.SZ   20250108  11.50  11.63  11.40  11.50      11.51   -0.01  -0.0869  1062386.01  1223598.997

3.2 获取基金数据

获取公募基金列表

代码语言:javascript
复制
# 获取公募基金列表
df = pro.fund_basic(market='E')
print(df.head())

获取基金净值数据

代码语言:javascript
复制
# 获取基金净值数据
df = pro.fund_nav(ts_code='160119.OF')
print(df.head())

3.3 获取期货数据

获取期货合约列表

代码语言:javascript
复制
# 获取期货合约列表
df = pro.fut_basic(exchange='DCE')
print(df.head())

获取期货行情数据

代码语言:javascript
复制
# 获取期货日行情
df = pro.fut_daily(ts_code='CU2001.SHF', start_date='20250101', end_date='20250801')
print(df.head())

3.4 获取宏观经济数据

获取CPI数据

代码语言:javascript
复制
# 获取CPI数据
df = pro.cn_cpi()
print(df.head())

获取PMI数据

代码语言:javascript
复制
# 获取PMI数据
df = pro.cn_pmi()
print(df.head())

4. Tushare进阶玩法

4.1 结合Pandas进行数据分析

代码语言:javascript
复制
import pandas as pd
# 2. 拉取日线(示例用 2024 年数据)
df = pro.daily(ts_code='600519.SH',start_date='20240101',end_date='20240731')
# 3. 按日期升序
df = df.sort_values('trade_date')
# 4. 计算 20 日均线
df['ma20'] = df['close'].rolling(window=20).mean()
# 5. 把 pct_chg 转换成数值型(Pro 接口返回字符串)
df['pct_chg'] = pd.to_numeric(df['pct_chg'])
# 6. 筛选涨幅超过 5% 的交易日
big_up = df[df['pct_chg'] > 5]

print(big_up[['trade_date', 'close', 'pct_chg', 'ma20']])

4.2 数据可视化

代码语言:javascript
复制
import matplotlib.pyplot as plt
# 绘制K线图
df['trade_date'] = pd.to_datetime(df['trade_date'])
df = df.set_index('trade_date')

# 2) 列名改成 mplfinance 识别的 OHLC
df = df.rename(columns={'open': 'Open','high': 'High','low': 'Low','close': 'Close','vol': 'Volume'})

# 3) 只要需要的列
plot_df = df[['Open', 'High', 'Low', 'Close', 'Volume']]

# 4) 画蜡烛图 + 20 日均线
mpf.plot(plot_df,type='candle',mav=(20,),volume=True,title='600519.SH K-line & 20-day MA',style='yahoo',figsize=(12, 8))

5. Tushare金融数据分析:

  • 数据全面,覆盖多个金融市场。
  • 接口简单易用,学习成本低 。
  • 社区支持强大,文档完善。
  • Python直接返回 Pandas DataFrame,和数据分析无缝衔接。

“无他,惟手熟尔”!有需要的用起来。

如果你觉得这篇文章有用,欢迎点赞、转发、收藏、留言、推荐❤!😊

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Nicholas与Pypi 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Tushare
  • 2. 安装Tushare
  • 3. Tushare核心功能详解
    • 3.1 获取股票数据
    • 3.2 获取基金数据
    • 3.3 获取期货数据
    • 3.4 获取宏观经济数据
  • 4. Tushare进阶玩法
    • 4.1 结合Pandas进行数据分析
    • 4.2 数据可视化
  • 5. Tushare金融数据分析:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档