Files
MyClaw AI 3e83cee039 feat: expand to 339+ curated skills (v0.3.0)
- Added 175 new high-quality skills across all categories
- 14 distinct categories: AI, Search, Productivity, Dev, Marketing, Media, Finance, Communication, Smart Home, Memory, Security, Data, Social, Other
- Updated all language READMEs and SKILL.md
- Weekly update by MyClaw.ai
2026-03-11 11:54:00 +00:00

4.6 KiB

Tushare API 快速参考

本文档提供最常用的 Tushare API 接口和代码示例。

作者: StanleyChanH

股票数据

获取股票列表

import tushare as ts
pro = ts.pro_api()

# 获取所有正常上市的股票
df = pro.stock_basic(list_status='L')

# 筛选特定交易所
df_sz = pro.stock_basic(exchange='SZSE')  # 深交所
df_sh = pro.stock_basic(exchange='SSE')   # 上交所

获取日线行情

# 单只股票
df = pro.daily(ts_code='000001.SZ', start_date='20241201', end_date='20241231')

# 多只股票
df = pro.daily(ts_code='000001.SZ,600000.SH', start_date='20241201', end_date='20241231')

# 某日所有股票
df = pro.daily(trade_date='20241231')

获取财务数据

# 利润表
df = pro.income(ts_code='600000.SH', start_date='20240101', end_date='20241231')

# 资产负债表
df = pro.balancesheet(ts_code='600000.SH', start_date='20240101', end_date='20241231')

# 现金流量表
df = pro.cashflow(ts_code='600000.SH', start_date='20240101', end_date='20241231')

# 财务指标
df = pro.fina_indicator(ts_code='600000.SH', start_date='20240101', end_date='20241231')

指数数据

获取指数列表

df = pro.index_basic(market='SSE')  # 上交所指数
df = pro.index_basic(market='SZSE') # 深交所指数

获取指数行情

# 上证指数
df = pro.index_daily(ts_code='000001.SH', start_date='20241201', end_date='20241231')

# 深证成指
df = pro.index_daily(ts_code='399001.SZ', start_date='20241201', end_date='20241231')

基金数据

获取基金列表

df = pro.fund_basic(market='E')  # 场内基金
df = pro.fund_basic(market='O')  # 场外基金

获取基金净值

df = pro.fund_nav(ts_code='000001.OF', start_date='20241201', end_date='20241231')

宏观经济

GDP 数据

df = pro.gdp(start_q='2020011', end_q='2024044')

CPI 数据

df = pro.cpi(start_date='20240101', end_date='20241231')

PMI 数据

df = pro.pmi(start_date='20240101', end_date='20241231')

利率数据

# Shibor
df = pro.shibor(start_date='20241201', end_date='20241231')

# LPR
df = pro.lpr(start_date='20241201', end_date='20241231')

港股美股

港股数据

# 港股列表
df = pro.hk_basic()

# 港股行情
df = pro.hk_daily(ts_code='00700.HK', start_date='20241201', end_date='20241231')

美股数据

# 美股列表
df = pro.us_basic()

# 美股行情
df = pro.us_daily(ts_code='AAPL', start_date='20241201', end_date='20241231')

常见查询模式

按日期范围查询

df = pro.daily(
    ts_code='000001.SZ',
    start_date='20240101',  # YYYYMMDD
    end_date='20241231'
)

按交易日查询

df = pro.daily(trade_date='20241231')

获取最新数据

# 先获取最近的交易日
import datetime
today = datetime.datetime.now().strftime('%Y%m%d')
df = pro.daily(trade_date=today)

数据处理技巧

数据清洗

# 去除停牌数据
df = df[df['vol'] > 0]

# 排序
df = df.sort_values('trade_date')

# 重置索引
df = df.reset_index(drop=True)

数据保存

# 保存到 CSV
df.to_csv('data.csv', index=False)

# 保存到 Excel
df.to_excel('data.xlsx', index=False)

错误处理

import tushare as ts

try:
    pro = ts.pro_api('your_token')
    df = pro.daily(ts_code='000001.SZ', start_date='20241201', end_date='20241231')
    print(df.head())
except ts.errors.TushareException as e:
    print(f"Tushare API 错误: {e}")
except Exception as e:
    print(f"错误: {e}")

性能优化

批量获取

# 一次获取多只股票
stock_codes = ['000001.SZ', '600000.SH', '000002.SZ']
df = pro.daily(ts_code=','.join(stock_codes), start_date='20241201', end_date='20241231')

控制请求频率

import time

for stock in stock_codes:
    df = pro.daily(ts_code=stock, start_date='20241201', end_date='20241231')
    time.sleep(0.3)  # 避免超限

常用字段说明

日线行情字段

  • trade_date: 交易日期
  • ts_code: 股票代码
  • open: 开盘价
  • high: 最高价
  • low: 最低价
  • close: 收盘价
  • vol: 成交量(手)
  • amount: 成交额(千元)

财务指标字段

  • end_date: 报告期
  • roe: 净资产收益率
  • net_profit_margin: 销售净利率
  • gross_margin: 销售毛利率
  • debt_to_assets: 资产负债率

更多接口

完整接口列表和详细说明请查看: