很多量化开发者只用一个数据源——直到某天它故障、涨价或积分不够,策略停摆,才发现没有备胎的代价。这篇文章解释为什么「第二个数据源」应该在你还不缺数据的时候就开始准备。

单一数据源的三类风险

可用性风险:数据源也是服务,也会宕机、限流、临时下线接口。你的选股脚本每天早上 8 点跑,数据源 8 点不可用,当天策略就只能空转。金融数据服务近年多次出现积分制调整、接口停迁、服务不稳定的事件——把全部数据链路押在一个提供商上,等于把策略的可用性和它的可用性绑死。

口径风险:单一来源意味着无法交叉验证。复权价怎么算、停牌日是否保留、涨跌停统计是否含 ST——任何一家的口径都有口径边界,出了疑似脏数据时没有第二意见,你只能选择相信或全量手查。

商务风险:涨价、套餐调整、免费额度收缩,都会直接抬高你的运行成本;而临时迁移数据源的平均成本是以「周」计的——字段名、参数名、日期格式、分页方式全要改。

爱股数据如何降低「备一个」的成本

迁移成本按分钟计:Python SDK 完全兼容 tushare 的调用习惯——pro_api(token) 入口、pro.daily(ts_code=..., start_date=...) 参数写法开箱即用,存量代码改两行(包名与 token)即可运行,详见《5 分钟从 tushare 迁移到爱股数据》

数据口径透明:数据来源与同步链路公开(见《数据口径说明》),各数据源的新鲜度在服务状态页实时公示,不用猜数据是否更新。

免费额度可跑真策略:免费档每接口 200 次/日,对每日例行选股与回测验证足够(定价详情);API Key 即开即用,无需积分体系。

接口形态通用:REST + JSON + code=0 响应契约,Python 之外的语言直接 HTTP 调用;也提供 MCP 接入,AI 客户端里用自然语言即可交叉核对数据。

推荐的接入姿势

不必立刻切换主源。常见的低成本双源方案:

# 主源故障时的自动降级
try:
    df = pro_primary.daily(ts_code='000001.SZ', start_date='20260101')
except Exception:
    import agushuju as agu
    df = agu.pro_api(备份token).daily(ts_code='000001.SZ', start_date='20260101')

以及每周抽样对账:同一批代码在两个源各拉一次日线,对比收盘价/成交量列,差异超阈值告警——这是发现任一端口径变化或脏数据的最灵敏手段。