你的回测在撒谎:为何必须使用点-in-time数据

insights.glassnode发布于2026-03-13更新于2026-03-13

文章摘要

您的回测在撒谎:为何必须使用“时点数据” 文章通过一个假设的比特币交易策略,揭示了使用修订后数据进行回测的严重缺陷。该策略基于“比特币从交易所流出预示价格上涨”的共识,采用5日与14日移动平均线交叉作为买卖信号。 初始回测显示策略表现良好,甚至在某些时段与长期持有收益相当。但问题在于:许多链上数据(如交易所余额)会随着新信息出现而被修订。这意味着回测时使用的历史数据可能包含当时无法获得的未来信息,导致“前视偏差”。 当改用严格只追加、不可修订的“时点数据”重新测试时,策略表现显著恶化。虽然两者在2024年大部分时段走势相似,但时点数据版本未能有效捕捉2024年11月和2025年3月的上涨行情,最终累计收益大幅低于初始回测。 核心结论:使用修订数据会导致回测结果失真,只有基于不可变动的时点数据,才能真实还原历史决策场景。

让我们构建一个简单的假设交易策略。其前提直接且植根于广泛讨论的叙事:当加密货币离开交易所时,往往看涨。其推理很直观:加密货币移出交易所通常意味着持有者正在提现到自我托管,减少了可供出售的供应量。相反,加密货币流入交易所可能表明持有者准备出售。

然而,单日的流出只是噪音。为了识别真正的趋势,我们将在交易所余额上应用移动平均线交叉。当短期平均线跌破长期平均线时,它确认了加密货币一直在持续流出,作为一种持续的模式,而不是孤立的事件。

使用 Glassnode 的币安交易所余额,我们定义如下:

  • 进入市场:当币安的 BTC 余额的 5 日移动平均线跌破其 14 日移动平均线时,表明存在持续的流出趋势。
  • 退出市场:当 5 日平均线重新升破 14 日平均线时,表明流出趋势已经逆转,加密货币正在回流交易所。

然后,我们将此策略与在同一时期(从 2024 年 1 月 1 日到 2026 年 3 月 9 日)简单持有 BTC 进行基准比较,初始资本为 1000 美元,每笔交易收取 0.1% 的交易费用。

这是一个简化的交易策略,主要用于说明目的。它不构成投资建议,也不意味着交易所余额是交易系统的稳健基础。
访问实时图表

如何阅读此图表:

🟫 底部的棕色线是二元交易信号,在市场内 (1) 和市场外 (0) 之间切换。

🟦 蓝线跟踪策略投资组合价值随时间的变化。

🟩 绿线是买入并持有投资组合的基准。

我们可以观察到,交易所余额策略表现相当不错,尽管有时买入并持有策略的表现优于它。然而,在研究期的最后几天,交易所余额策略追了上来。虽然一些投资者可能会发现波动性降低以及最终与买入并持有相当的表现具有吸引力,但最终的数字是具有误导性的——原因如下。

问题:数据突变和前视偏差

指标不是静态的。许多指标会随着新信息的出现而进行追溯修订。这对于依赖于地址聚类或实体标签的指标尤其如此,例如链上交易所余额。然而,对于交易量或价格等指标也是如此,因为个别交易所偶尔会稍有延迟地提交其数据。

这意味着你今天看到的某个值,例如 2024 年 1 月 15 日的值,可能与 2024 年 1 月 15 日发布的值不同。数据已经根据事后信息进行了修订。当你在这些修订后的数据上进行策略回测时,你隐含地使用了在做出交易决策时不可用的信息。这就引入了前视偏差

诚实的回测:使用点-in-time数据

因此,让我们重复完全相同的回测——相同的信号逻辑、相同的参数、相同的日期、相同的费用——但这次使用 Glassnode Studio 中提供的交易所余额指标的点-in-time (PiT) 变体。

PiT 指标严格是仅追加且不可变的。每个历史数据点仅反映其首次计算时已知的信息。没有追溯修订,没有前视偏差。

虽然我们使用的是相同的指标,但该策略现在产生了显著不同的结果,如下面新图表中的紫色线所示。整体表现明显更差。

尽管两种策略在 2024 年的大部分时间里表现相似,但我们观察到基于 PiT 的版本未能像修订数据版本那样有效地捕捉到 2024 年 11 月和 2025 年 3 月的强劲上涨。结果,累积表现出现显著分化,最终结果要低得多。

访问实时图表

关键要点

在这个例子中,紫色策略(只能获取当时可用信息)的表现明显更差。► 如果使用错误或修订的数据进行回测,回测结果会撒谎只有不可变的点-in-time指标能确保你按照历史实际发生的情况进行回放

相关问答

Q文章中提到,使用交易所余额构建交易策略存在什么问题?

A文章指出,使用交易所余额数据存在数据突变(Data Mutation)和前瞻性偏差(Look-Ahead Bias)的问题。许多指标(如交易所余额)会随着新信息的出现而被追溯修订,这意味着回测时使用的修订后数据包含了当时无法获得的信息,导致回测结果失真。

Q什么是点-in-time(PiT)数据?它如何解决回测中的偏差问题?

A点-in-time(PiT)数据是严格仅追加且不可变的历史数据,每个数据点仅反映其首次计算时可用的信息,不会进行追溯修订。使用PiT数据可以避免前瞻性偏差,确保回测模拟的是历史上实际可用的信息,从而得到更真实的结果。

Q在文章的示例中,使用PiT数据后,策略表现有何变化?

A使用PiT数据后,策略的整体表现显著变差。虽然两种策略在2024年大部分时间表现相似,但PiT版本未能有效捕捉2024年11月和2025年3月的强劲上涨,最终累计收益明显低于使用修订数据的策略。

Q文章中的交易策略基于什么信号进行买入和卖出?

A策略的买入信号是当币安交易所BTC余额的5日移动平均线跌破14日移动平均线(表明持续流出趋势),卖出信号是当5日移动平均线重新升破14日移动平均线(表明流出趋势逆转)。

Q为什么文章认为简单的“回测在撒谎”?

A文章认为回测会“撒谎”是因为它通常使用修订后的历史数据,这些数据包含了交易决策时无法获得的信息(如后续修正的交易所余额或价格),导致回测结果过于乐观或不真实,只有使用点-in-time数据才能准确模拟历史实际情况。

你可能也喜欢

交易

现货
合约
活动图片