以比特币2021年双顶为例,揭秘未来数据泄漏现象

当我们回测一套策略、检视一组指标时,是否真的站在当下?本文从「未来数据泄漏」与「过度拟合」两大陷阱切入,剖析 2021 年双顶对链上分析的致命考验。
(前情提要:续命行情:以链上数据剖析最诡异的 2021 年双顶)
:你知道全市场的 BTC 平均成本是多少吗?)

Key Points:

  • 谈「未来数据泄漏(Look-ahead bias)」的概念
  • 谈交易领域中的命门:过度拟合(Overfitting)
  • 2021 年双顶:对于刻舟求剑而言最大的考验
  • 三个指标与一个模型的战绩回顾

未来数据泄漏(Look-ahead bias)

试想一个情境:

「假设我开发了一个交易策略,并将这个策略严谨的回测过去 50 年,回测时间是 1975 ~ 2024,并且得到很不错的回测绩效。于是,我便决定在 2025 年启用这一套策略。」

各位读者对于以上描述,有人看出哪里有毛病吗?

如果真的只做 1975 ~ 2024 的回测,其实就很容易陷入「未来数据泄漏」的陷阱之中。因为我们单纯只用了「至今为止」所有的数据来做回测,这会导致我们训练出来的策略参数,很可能「不耐打」!

更严谨的作法是,举例而言:

可以再针对「1975 ~ 2023」(假设我们人在 2024 年),并以训练后的策略,去回测 2024 年整年的绩效;当然还可以用 1975 ~ 2022 时段的数据去训练策略,然后再拿训练后的策略去回测 2023、2024 的绩效。

更精确来说,我们可以透过「滚动回测」或「步进回测」的方式,去尽可能的避免「未来数据泄漏」。

这样做的好处是「确保训练后的策略,可以接受未来的考验」。

过度拟合(Overfitting):最致命的毒药

只要是稍微有基础量化策略开发概念的人,就会知道 overfitting 能带来的问题有多严重。

所谓 overfitting,用通俗的话语来说就是「刻舟求剑」,这会让回测数据很好看(训练误差低),但却难以应用于实战(测试误差高)。

在此我打算引入一个数学的概念来解释:(看到数学就头疼的读者,可以直接跳到下一段看结论)

假设有一数列:「1 , 2 , 4 , 8 , 16 , ?」

对数字稍微有点敏感的读者,应该都会觉得下一个数字是 32,因为前五项数据明显与「2 的次方」有明显关联。

但事实上,我们其实无法预测下一个数字是多少

因为从数学的角度,我们完全可以利用 Lagrange 插值法,构建另一个高次多项式,让第六个数据不是 32,但也满足规律。

这意味著:「单纯基于有限数据点进行外推的预测,是不可靠的」。

2021 年第二顶:对于多数指标而言最大的考验

讲完无聊的理论观念,接著我们来聊实战。

以下,我将拿出三个链上数据指标,以及一个我个人开发的模型,为各位读者进行讲解:

1. MVRV

相信稍微研究过链上数据分析的读者,一定都听过 MVRV,我之前的文章也有针对这个指标做过详细的教学( 链上数据学堂(一):你知道全市场的 BTC 平均成本是多少吗?)。

以比特币2021年双顶为例,揭秘未来数据泄漏现象如上图,这是 MVRV 的历史数据图表。图中标记的 1、2、3、4,分别对应 13 年、17 年的顶部,以及 2021 年的两次顶部。

我们可以明显看到:每一轮顶部的 MVRV 高点是「递减」的

我听过很多人会用以下方法,针对高点递减的现象做处理:

「我知道是递减,所以在判断顶部的时候,我会抓一个更保守、更低的阀值当作警讯。」

现在问题来了:

  • 更保守的阀值怎么设定?
  • 如果我们回到 2021 年 4 月,能看到的历史数据只有 13、17 年,保守设定后的阀值能在 21 年 4 月触发吗?
  • 用这种方式设定的阀值,能在 2021 年第二顶触发吗?
  • 如果不认为 2021 年 4 月是顶部,那 2021 年第二顶就更不可能逃顶了,对吧?

我想说的是:

正因为 BTC 历史数据的样本数太少,并且若单纯考虑前几次周期,其实很可能陷入「未来数据泄漏」的陷阱中

身处 2021 年 4 月(第一顶)的人,不会知道当时的 MVRV 数值,其实就是那一轮周期的最高点,因为他只能看到 13、17 年的数据;同理,在 2021 年第二顶出现的时候,MVRV 数值更是处于极低的位置,如果第一顶不逃,那自然不可能根据第二顶的数据去逃顶,如此便会错失 2021 年逃顶的最佳时机

2. AVIV 指标

AVIV 可以视为修正过、考虑更周详的 MVRV,并且相比 MVRV 存在更明显的「均值回归」特性。

但即使如此,「峰值(高点)递减」的现象依然很明显:

以比特币2021年双顶为例,揭秘未来数据泄漏现象图中标记的 1、2、3、4,分别对应 13 年、17 年的顶部,以及 2021 年的两次顶部。

同样的问题,我就直接复制上面的文字了,供各位读者思考:

  • 更保守的阀值怎么设定?
  • 如果我们回到 2021 年 4 月,能看到的历史数据只有 13、17 年,保守设定后的阀值能在 21 年 4 月触发吗?
  • 用这种方式设定的阀值,能在 2021 年第二顶触发吗?
  • 如果不认为 2021 年 4 月是顶部,那 2021 年第二顶就更不可能逃顶了,对吧?

RUP(Relative Unrealized Profit)

之前我也详细介绍过 RUP 这个链上数据,有兴趣的读者可以参考以下两篇文章的内容: