2026年九月14日 · 数据

你的宏观回测交易了修订后的就业报告数据

你的宏观回测交易了修订后的就业报告数据

致设计就业报告筛选策略的开发者:

你制定了一条简单规则:美国就业报告发布后,如果月度就业人数增长超过 175,000,策略就持有股票 ETF 5 个交易日;否则就持有现金。你把入场时间设在股市开盘后,计入了交易成本,并固定了阈值。然后,你下载了一份历史就业数据序列,用它重建每一个交易信号。

剩下的问题在于这份下载数据。历史经济数据序列可能包含修订值,而这些值在策略声称交易的日期尚不可用。要诚实地回测宏观信号,你需要每个决策时点实际可用的数据版本。把入场时间往后挪一个 bar,无法修复一个两个月后才发布的数字。

1月的数据有好几个“生日”

来看一段虚构的发布记录。这些日期和就业人数变化只是为了说明其中的机制,并非真实公布的经济数据。

发布时间参考月份公布的就业人数变化该次发布时的策略操作
2月7日,08:30 ET1月+150,000继续持有现金
3月7日,08:30 ET1月,修订值+185,000不会改写2月的决策
4月4日,08:30 ET1月,再次修订+210,000不会改写2月的决策

如果下载的数据把1月的数字记为+210,000,你的历史重放就会显示策略在2月买入 ETF。实际的规则本应继续持有现金。即使所有价格、订单时间戳和佣金都正确,这笔交易仍是虚构的。

你不能想当然地认为这种数据污染一定会让业绩变好。修订数据可能带来盈利交易、亏损交易,也可能让两者消失。问题在于,你的模拟回答了一个策略当时根本无法提出的问题。

而且,1月只是被衡量的期间,并不是你得知测量结果的日期。一行数据标着1月1日,不代表你可以在1月1日据此交易。

为每个数值记录可用时间历史

你的研究表不能只有月份和数字。还要记录参考期间、数值、发布时间戳、版本标识和来源。持续收集数据时,也要记录系统收到该数据的时间。保留旧版本,不要直接覆盖原有数值。

在某个决策时间戳,针对每条观测数据,选取可用时间戳不晚于该决策时点的最新合格版本。然后基于重建出的数据快照计算特征。

数据检索规则:先筛出当时已经可用的记录,再选取适用版本,最后计算信号。如果先用今天的修订后历史数据计算特征,再把结果整体后移,数据泄漏仍然存在。

5 个交易日的持有期,并不意味着可以省略这些记录工作。它让你有更大余地选择稳妥的入场时间,却不会让你提前获得修订数据。

对于早期研究,你或许能找到公开发布时间的证据,却没有自己接收数据的记录。要明确区分这两者。你可以在有记录的发布时间后加上明确的延迟,来模拟数据何时可用;但不能把这种假设说成有历史交付记录佐证的事实。

你还需要使用带时区的时间戳。保存有记录的当地发布时间,并正确转换;对纽约使用固定 UTC 时差,会在夏令时切换时出错。给未来的自己省点事吧。别让9月的你还得费劲猜3月的你在名为date_actual_final2的列里写了什么。

滚动特征需要完整的版本历史

假设你把固定阈值改成“就业人数增长超过过去12个月的平均值”。那么在每个决策时点,你都需要当时的历史观测值,包括此前已经发布的修订值。

永远使用每个月的首次发布值,定义的是另一种特征。如果你明确想研究初次公告的历史,这样设计完全合理。但它无法还原某个特定早晨可见的经济历史,因为当时的信息集可能已经包含对早前月份数据的修订。

如果你根据就业人数水平数据计算月度变化,就要先重建相关版本的水平序列,再计算差值。把新发布的水平值和旧版本的上月水平值混用,可能算出一个从未出现在任何已发布数据快照中的变化值。

因此,你需要明确特征的含义:初次公告、最新可用的经济状况,还是数据修订本身。“就业人数增长”这个说法留下了太多未定义之处。

先修复1次发布记录,再重跑10年数据

你可以从ALFRED入手,它提供许多经济数据序列的版本历史。先确认其中是否涵盖你的具体序列和时段。仅有版本日期,并不能证明数据在盘中何时可用;要用它生成当日信号,还需结合有记录的发布时间。

首次审计时,选1次发布记录,手动重建:

  1. 找到归档的发布记录,记下发布时间戳、参考月份和初始值。
  2. 重建策略入场前本应收到的输入数据快照。
  3. 手动计算信号,并与历史重放结果对比。
  4. 向数据存储中加入后续修订值,并确认先前的决策保持不变。

最后这项检查对自动化研究流程尤其有用。把快照截止时间和所选版本标识,与特征值一并提供给研究 agent。即使底层数据库不断增长,你仍需要足够的证据,将某笔交易追溯到特定发布记录。

这项单独决策复现成功后,再重跑整个历史,并先比较信号分歧,再比较收益。统计修复后新增、移除或时间发生变化的入场信号。相比单独看修复前后的 Sharpe,这些决策变化能告诉你更多。

你的2月交易必须经得起2月可用信息的检验。4月的修订就留在4月。

时点数据宏观经济数据前视偏差回测
← 全部文章