Your Backtest Is Lying: Why You Must Use Point-in-Time Data

insights.glassnodePublished on 2026-03-13Last updated on 2026-03-13

Abstract

This article warns against a common pitfall in backtesting trading strategies: look-ahead bias caused by using revised historical data. It illustrates this with a hypothetical Bitcoin strategy based on exchange outflows from Binance. The strategy is built on the premise that sustained outflows (when the 5-day moving average of BTC balance falls below the 14-day average) are bullish, while inflows signal a sell-off. An initial backtest using standard, revised data shows the strategy performing comparably to a simple buy-and-hold approach. However, the author argues these results are misleading because the data has been updated with information that wasn't available in real-time. This data mutation creates an unfair advantage in the backtest. To demonstrate, the test is rerun using Point-in-Time (PiT) data—an immutable, append-only record that reflects only what was known on any given day. The results are significantly worse, as the PiT-based strategy misses key profitable moves. The key takeaway is that accurate backtesting requires immutable Point-in-Time data to avoid look-ahead bias and replay history honestly.

Let's build a simple, hypothetical trading strategy. The premise is straightforward and rooted in a widely discussed narrative: when coins leave exchanges, it tends to be bullish. The reasoning is intuitive: coins moving off exchanges typically signal that holders are withdrawing to self-custody, reducing the available supply for selling. Conversely, coins flowing onto exchanges may indicate that holders are preparing to sell.

A single day of outflows, however, is just noise. To identify a genuine trend, we would apply a moving average crossover on the exchange balance. When the short-term average falls below the long-term average, it confirms that coins have been leaving exchanges consistently, as a sustained pattern, rather than isolated events.

Using Glassnode's exchange balance for Binance, we define the following:

  • Enter the market when the 5-day moving average of Binance's BTC balance falls below its 14-day moving average, signaling a sustained outflow trend.
  • Exit the market when the 5-day average rises back above the 14-day average, signaling that the outflow trend has reversed and coins are returning to the exchange.

We then benchmark this strategy against simply holding BTC over the same period, starting January 1, 2024 through March 9, 2026, with an initial capital of $1,000 and 0.1% trading fees applied to each trade.

This is a simplified trading strategy, designed primarily for illustrative purposes. It is not investment advice, nor is it meant to suggest that exchange balances are a robust foundation for a trading system.
Access live chart

Here's how to read this chart:

🟫 The brown line at the bottom is the binary trading signal, toggling between in the market (1) and out of the market (0).

🟦 The blue line tracks the strategy's portfolio value over time.

🟩 The green line is the buy-and-hold portfolio benchmark.

We can observe that the exchange balance strategy performed reasonably well, although at times the buy-and-hold strategy outperformed it. In the final days of the research period, however, the exchange balance strategy caught up. While some investors may find the combination of reduced volatility and an ultimately comparable performance to buy-and-hold appealing, the final numbers are misleading – and here’s why.

The Problem: Data Mutation and Look-Ahead Bias

Metrics are not static. Many are retroactively revised as new information becomes available. This is particularly true for metrics that depend on address clustering or entity labeling, such as on-chain exchange balances. However, it is also the case for metrics such as trading volume or price, as individual exchanges can occasionally submit their data with slight delays.

This means that a value you see today for, say, January 15, 2024, may not be the same value that was published on January 15, 2024. The data has been revised with hindsight. When you backtest a strategy on this revised data, you are implicitly using information that was not available at the time the trading decisions would have been made. This introduces a look-ahead bias.

The Honest Backtest: Using Point-in-Time Data

Let's therefore repeat the exact same backtest – same signal logic, same parameters, same dates, same fees – but this time using the Point-in-Time (PiT) variant of the Exchange Balance metric, available in Glassnode Studio.

PiT metrics are strictly append-only and immutable. Each historical data point reflects only the information that was known at the time it was first computed. No retroactive revisions, no look-ahead bias.

While we are using the same metric, the strategy now produces significantly different results, as illustrated by the purple line in the new chart below. The overall performance is notably worse.

Although both strategies behave similarly for much of 2024, we observe that the PiT-based version fails to capture the strong upticks in November 2024 and March 2025 as effectively. As a result, the cumulative performance diverges meaningfully and ends up considerably lower.

Access live chart

Key Takeaway

In this example, the purple strategy, which only has access to information as it was available at the time, performs noticeably worse. ► Backtests will lie if fed with wrong or revised data. Only immutable, Point-in-Time metrics ensure you’re replaying history as it actually happened.

Related Questions

QWhat is the main problem with using revised data for backtesting a trading strategy?

AThe main problem is that it introduces look-ahead bias, as the revised data includes information that was not available at the time the trading decisions would have been made.

QHow does the Point-in-Time (PiT) data differ from the standard exchange balance metric?

APoint-in-Time data is strictly append-only and immutable, meaning each historical data point reflects only the information known at the time it was first computed, with no retroactive revisions.

QWhat was the trading signal used in the hypothetical strategy based on exchange balances?

AThe strategy entered the market when the 5-day moving average of Binance's BTC balance fell below its 14-day moving average, and exited when the 5-day average rose back above the 14-day average.

QWhy did the backtest using Point-in-Time data perform worse than the one using revised data?

AThe PiT-based strategy failed to capture strong market upticks as effectively because it only had access to information available in real-time, without the benefit of hindsight revisions.

QWhat is the key takeaway from the article regarding backtesting and data quality?

ABacktests will produce misleading results if fed with revised data; only immutable, Point-in-Time metrics ensure an accurate replay of history as it actually happened.

Related Reads

Bitcoin Withdrawals Continue: 8 Years of Storage in a Coldcard Cold Wallet Ended in Zero

Coldcard Hardware Wallet Hacked: Losses Mount Due to Vulnerable Seed Generation A critical vulnerability in Coldcard hardware wallets has led to a continued wave of fund thefts. According to Galaxy Research, the total stolen has reached 1,367.05 BTC (approx. $88.6 million) from 4,585 addresses, a significant increase from the initial 594.5 BTC reported on July 30, 2026. Most of the stolen funds remain on the attackers' addresses. The issue is not with the current firmware, which Coinkite has updated, but with seed phrases generated on vulnerable devices between March 2021 and the release of fixed firmware versions. Due to a programmer error, devices switched from using a hardware random number generator to the software-based Yasmarang generator, which was initialized with publicly accessible data like the chip's serial number. This made the seed phrases predictable through offline brute-force attacks, meaning wallets remain at risk until funds are moved to a new wallet generated with the patched firmware. Affected devices include Mk2/Mk3 with firmware 4.0.1–4.1.9 (and up to 5.0.3), Mk4/Mk5 up to version 5.6.0, and Q models up to 1.5.0Q. The only exceptions are seeds created with a high-entropy method like at least 50 independent dice rolls or a strong unique BIP-39 passphrase. All other owners must generate a new seed on the fixed firmware and transfer their assets. A case highlighting the human impact involves a 39-year-old long-term investor who lost 2 BTC (approx. $130,000) in minutes. He had accumulated the Bitcoin over eight years through physical labor, viewing it as a financial lifeline and a retirement plan in a country suffering from hyperinflation. His story underscores that even conservative "buy and hold in cold storage" strategies can be compromised by such underlying technical flaws. From a technical perspective, this incident echoes historical failures where weak random number generators undermined cryptographic security, challenging the assumption that offline storage is automatically foolproof.

cryptonews.ru2h ago

Bitcoin Withdrawals Continue: 8 Years of Storage in a Coldcard Cold Wallet Ended in Zero

cryptonews.ru2h ago

Trading

Spot
活动图片