Back to posts
Research NoteOverfittingValidation Method

Why a Fix That Looked Good Actually Lost Money — Proxy vs. Reality

In our previous test we found a weakness in our strategy. We built a rule to fix it, and in a quick approximation (a proxy) it looked perfect. Then we ran it on the real simulator — and it was the opposite. This is a record of that razor-thin difference.

Author: Kim YongboemPublished: 2026-07-08

In the previous post we found a weakness in our regime strategy: the "oversold = rebound near" rule becomes a trap in a slow, grinding decline like 2008. The natural next question is obvious: so why not just fix it?

This post is a record of building that fix, testing it, and rejecting it. And it is about why any plausible-looking improvement must be run on the real simulator before adoption.

The fix (R1): "only bet on a rebound during short dips"

The problem was clear: the oversold rule cannot distinguish a short dip (COVID) from a long collapse (2008). So we tried this:

Allow the oversold rebound bet only when price has been below its 60-day average for a short time; if it has been grinding down for a while, keep the defense on.

The signal is "how many consecutive days below the 60-day average." Measured empirically, COVID was 28 days (short), while the 2008 acceleration phase was 56–119 days (long) — a clean separation. We set the threshold at 40 days.

The proxy check: it looked perfect

We first checked with a rough approximation. The result looked flawless.

2008 max drawdown2020 COVID rebound
Before the fix−47%+13%
With R1−22%+13% (unchanged)

The 2008 defense improved by half, and COVID was untouched. Exactly what we wanted. Had we stopped here, we would have adopted R1.

The real simulator: the opposite

But our discipline forbids adopting anything on an approximation alone. We replicated the original strategy code untouched, injected only R1, and measured the difference of toggling R1 on and off over identical data.

MetricR1 off (current)R1 on
Recent-window return81.0%71.3% (−9.7pp)
Risk-adjusted return (Sharpe)1.331.16 (down)
Overall max drawdown−21.8%−21.8% (no improvement)

R1 shaved return and risk-adjusted performance while failing to reduce drawdown at all. In this window (2015–2026) there is no 2008-style grind, so there was nothing to defend against.

What it gave up: the 4 months R1 switched to defense

R1 judged four months to be "a long decline, so defend" and turned off the rebound bet. But all four were months where a rebound actually came.

MonthRebound betR1 defenseR1 gave up
2021-10−3.7%−7.3%+3.6pp
2021-11+4.5%+5.9%−1.4pp
2024-11+2.7%−5.8%+8.5pp
2024-12+17.1%+6.6%+10.6pp
Total+20.7%−0.7%+21.4pp

December 2024 in particular was a +17% rebound the bet would have captured; R1 blocked it into defense at +6.6%. Across the four months, the forgone realized return reached +21.4 percentage points.

The core lesson: you cannot tell them apart at decision time

Here is the most important conclusion of this entire test line.

"How many days it has been falling" cannot distinguish a "dip about to rebound" (2021, 2024) from "a crisis that keeps collapsing" (2008) in advance. At the moment of decision, the two look identical — both just "down for a while." So any rule built to protect against 2008 will inevitably also miss the real rebounds of 2015–2026.

This is not a tuning problem but a structural limit: the duration signal itself cannot separate the two situations.

And: why the proxy was wrong

The proxy approximated each month as "market-average return." So it could not see the alpha that market-representative stocks actually earned in a rebound (like December 2024's +17%). Blind to that alpha, it wrongly judged "R1 is nearly harmless."

Approximations are useful for direction, but dangerous for adoption decisions. Had we not run the real simulator, we would have installed a rule that erodes performance, believing it an improvement.

Conclusion: acknowledge the weakness, don't paper over it with a rule

We rejected R1. The oversold rebound bet is net-positive in-sample, so we do not remove it. Instead, the 2008-style tail risk we found is handled not with a rule patch but with position management — a conservative risk budget, no leverage, a cash buffer.

The most honest improvement is sometimes deciding not to improve. For that decision to be grounded, you must be able to push a plausible fix all the way through empirical testing and reject it yourself. We record that process rather than hide it.


Figures here are based on 2015–2026 backtests (0.35% round-trip cost, survivorship-adjusted) and a controlled comparison that replicated the original strategy untouched and toggled only the fix. Everything is an observation about our system's past and simulated behavior — not a recommendation to buy or sell any security or asset. Backtest and simulation results do not guarantee future returns.