mirror of
https://github.com/LeoYeAI/openclaw-master-skills.git
synced 2026-08-14 00:48:08 +00:00
- 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
4.6 KiB
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: 资产负债率
更多接口
完整接口列表和详细说明请查看: