迁移总览
agushuju Python SDK 从设计之初就对齐 tushare pro 的使用习惯:同样的 pro_api(token) 入口、同样的「方法名即接口」调用方式,v0.2.0 起查询参数也自动兼容——大多数存量代码只需改两行(安装包名与 token),其余原样可跑。
第一步:替换安装与导入(约 1 分钟)
pip uninstall tushare
pip install agushuju # 或 pip install -e sdk/python(仓库安装)
# import tushare as ts
import agushuju as agu
第二步:替换入口与 token(约 1 分钟)
# pro = ts.pro_api('你的tushare token')
pro = agu.pro_api('你的爱股数据token') # https://www.agushuju.com/userapikey
第三步:检查方法名(约 1 分钟)
stock_ 前缀的接口自动省略前缀,与 tushare 一致:
df = pro.daily(ts_code='000001.SZ', start_date='20260101') # 与 tushare 写法相同
df = pro.trade_cal(exchange='SSE')
df = pro.fina_indicator(ts_code='000001.SZ')
指数 / 基金 / 期货等非 stock_ 前缀接口用端点全名:pro.index_daily()、pro.fund_daily()、pro.futures_daily()。任意新端点也可经 pro.query('端点path', ...) 直达,无需 SDK 发版。
参数自动兼容(v0.2.0 起,无需改代码)
| tushare 写法 | SDK 自动翻译为 |
|---|---|
ts_code='000001.SZ' | stock_code(指数/基金/期货端点分别路由为 index_code / fund_code / futures_code) |
start_date='20260101' | 端点主日期列的 列名_start(如 trade_date_start),日期值自动转 YYYY-MM-DD |
end_date='20260901' | 同上,映射为 列名_end |
平台原生参数(stock_code / trade_date_start 等)同样支持,与方言可混用;同时显式传入时原生参数优先。唯一需要手动调整的是 period(财务指标报告期),请改写为 end_date_start='2026-06-30', end_date_end='2026-06-30'。
第四步:验证(约 2 分钟)
df = pro.daily(ts_code='000001.SZ', start_date='20260101', end_date='20260901')
print(df.head()) # pandas DataFrame,与 tushare 返回形态一致
print(df.attrs['count']) # 符合条件的数据总数(分页用)
免费额度为每接口 200 次/日(定价页);报错码 401=token 无效、402=余额不足、429=触发限流,SDK 均以中文 ApiError 抛出,网络错误与 5xx 自动重试(401/402/429 不重试)。
常见问题
查询返回空? 多半是参数不在端点 schema 内(服务端会静默忽略未知参数):请到接口文档核对参数名,或升级 SDK 至 v0.2.0 以上获得方言自动翻译。需要高频/批量? 分页参数 limit(最大 10000)与 offset 配合 df.attrs['count'] 循环拉取。