Quant Data Fetch

回测前到底需要多少历史数据?

常见误区:「越多越好」。事实是不同策略对历史深度的诉求差几个数量级 — 高频策略 1 年远胜 10 年,长周期价值策略 20 年才有统计意义。按策略类型选数据,不要 dump 全部然后慢慢挑。

按策略类型推荐区间

| 策略类型 | 频率 | 推荐区间 | 理由 | |---|---|---|---| | 趋势跟踪 / 突破 | 日线 | 10~15 年 | 至少覆盖 1-2 个完整牛熊周期 | | 均值回归(配对 / 套利) | 日线 | 5~10 年 | 协整关系稳定性测试 | | 多因子选股 | 日线 + 财报 | 8~12 年 | 跨多个景气周期验证因子有效性 | | 行业轮动 | 日线 | 10~15 年 | 不同宏观环境下的板块表现 | | 日内回归 | 分钟线 | 2~3 年 | 微观结构变化快,过老的数据反而误导 | | 高频做市 / 撮合 | tick | 6 个月~1 年 | 市场微观结构 + 撮合规则变化频繁 | | 事件驱动(财报 / 公告) | 事件 + 日线 | 5~10 年 | 历史事件样本 |

为什么不是「越多越好」

  1. 市场结构变化:A 股 2014 年沪港通、2019 年科创板、2020 年注册制,微观结构反复重塑。10 年前的撮合数据已经不能反映现在。

  2. 样本偏差:历史包含已经退市 / 重组的股票。如果你的回测只用「现在还活着」的股票,会偷偷引入幸存者偏差,跑出虚高收益。反过来:历史太长,生存者偏差校正难度上升。

  3. 算力成本:tick 数据 10 年 ≈ 30 TB。本地机器跑不动,云算力贵。

  4. 过拟合风险:历史越长,样本内策略调参越容易跑得漂亮,样本外失败概率越高。

实操建议

第一性思考:你的策略「胜率统计意义」需要多少独立事件?

本地存储成本

查 RTD 怎么管理增量更新 → · Tushare 积分要多少 →

你可能还想看