一句话回答: 两者都能免费取 A 股历史数据,但定位不同:baostock 完全免费、无积分、但要 login/logout、返回全是字符串、且没有实时/盘口 ;Tushare 有积分制、复权/分钟线需积分,但财务与参考数据更全 。如果你要的是稳定的实时快照、五档盘口、多市场和统一字段,两者都不满足,可用 AlphaFeed 补齐这块(其余免费历史需求继续用 baostock/Tushare)。
两者速览
- baostock :免费、无积分;需
bs.login()/bs.logout();代码用sh.600519前缀;返回字符串 需手动转数值;有历史日/周/月线、分钟线、部分基本面;无实时快照、无五档盘口、无美股/港股。 - Tushare :免费额度 + 积分制;
pro接口;财务三大表/基本面/参考数据丰富;复权、分钟线需较高积分;实时能力弱。
逐项对比
| 维度 | baostock | Tushare |
|---|---|---|
| 费用 | 完全免费 | 免费额度+积分 |
| 会话 | 需 login/logout | Token 即用 |
| 代码格式 | sh.600519 前缀 |
600519.SH 后缀 |
| 返回类型 | 字符串,需手动转 | DataFrame/数值 |
| 复权 | adjustflag 1/2/3 | 需积分(qfq/hfq) |
| 财务/参考 | 少量 | ✅ 丰富 |
| 实时/盘口 | ❌ 无 | 弱 |
| 多市场 | ❌ 仅 A 股 | A 股为主 |
怎么选
- 零预算、只要历史日/分钟线做研究 → baostock 够用(注意手动转类型、加 login)。
- 要财务/基本面/参考数据 → Tushare(必要时攒积分)。
- 要实时快照/五档盘口/跨市场/字段统一 → 两者都缺,用 AlphaFeed 补这块。
AlphaFeed 补齐实时/盘口/多市场
python
from alphafeed import AlphaFeed
af = AlphaFeed(api_key="your-api-key") # 或 export ALPHAFEED_API_KEY 后 AlphaFeed()
# baostock/Tushare 缺的实时快照(约 3 秒刷新)
q = af.quotes.get(symbols="600519.SH")
# 五档盘口
d = af.depth.get("600519.SH")
# 多市场一套代码(baostock 无美股/港股)
us = af.klines.get("AAPL.US", period="1d", count=120, adjust="forward", to_dataframe=True)
# 返回统一英文列、带类型,无需手动转字符串
关键坑与注意事项
- baostock 返回字符串 :价格/量都要
astype(float),忘了转类型会导致计算错误。 - baostock 要 login :脚本开头
bs.login()、结束bs.logout(),忘记会取不到数据。 - 代码格式不同 :baostock
sh.600519↔ Tushare/AlphaFeed600519.SH,跨库要转换。 - 复权口径差异:免费源之间复权数值不保证一致,以单源自洽为准。
- AlphaFeed 不含财务/另类:只补交易型行情,基本面仍用 baostock/Tushare。
常见问题(FAQ)
Q:只做历史回测,baostock 够吗?
A:够,日/分钟线都有;注意手动转类型、加 login/logout。想要实时或盘口则需另配源。
Q:baostock 有实时行情吗?
A:没有。baostock 面向历史数据;实时快照/五档盘口可用 AlphaFeed 这类商业 API。
Q:Tushare 的复权为什么取不到?
A:复权/分钟线等需要较高积分,免费额度常不够,这是 Tushare 的积分门槛。
Q:三者能混用吗?
A:可以。历史 baostock/Tushare、财务 Tushare、实时/盘口/多市场 AlphaFeed,各取所长。
小结
baostock 胜在「纯免费无积分」,Tushare 胜在「财务/参考全」,但实时、盘口、多市场、字段统一是两者共同的空缺------这正是 AlphaFeed 的补位点。按需求组合,别为单一工具将就全部场景。
参考
- AlphaFeed Python SDK 文档:https://docs.alphafeed.org/zh-Hans/sdk/python-quickstart
- AlphaFeed 官网:https://alphafeed.org/
- 本文完整版(AlphaFeed 博客):https://blog.alphafeed.org/blog/baostock-vs-tushare-free-comparison