This is the empirical update for LynxCrypto. The previous tools post covered the methodology; this one is the complete record of actually running that methodology on a strategy: MacdCross-4h, the only survivor across 14 strategies x 4 timeframes, just passed the walk-forward final review and earned its ticket into paper trading.
1. Cold Water First: Why “Backtest +1072” Is Worthless
Let’s align on a fact many people don’t want to accept: any “full-sample backtest windfall” number, by itself, cannot justify going live.
In my gallery backtest, MacdCross(12,26,9) on ZECUSDT 4h: 365 days, 143 trades, net +1072 USDT, Sharpe 2.56. The number looks tempting — and it’s precisely the least trustworthy, because:
- It was discovered on the same data it was “validated” on — that’s circular reasoning.
- Across 14 strategies x 4 timeframes = 56 combos, some would come out positive by pure luck (the multiple comparisons problem).
- After beta-stripping, annualized alpha is 132%, but the t-stat is only 2.35 — below the strict 3.0 bar.
So I didn’t take +1072 to live trading. I sent it into the final review: walk-forward out-of-sample validation plus a triple statistical gauntlet. This post is the complete record of that review.
2. Review Design: Fixed Parameters, No Optimization
This is the most critical — and most counterintuitive — decision of the entire review: I do not optimize parameters.
Many people would ask: why not grid-search the optimal parameters on every fold? Because a statistical strength of t=2.35 cannot support parameter optimization — picking “optimal parameters” on a sample this short is itself overfitting; the parameters you’d pick are most likely noise.
So what I use is rolling-origin out-of-sample validation:
- MACD parameters are fixed at the public 12/26/9 (this parameter set is a decades-old public classic, not something I tuned).
- The 365 days of 4h candles are cut into 5 folds; each fold trains on the first 70% and tests out-of-sample on the last 30%, with a 24-hour embargo in between (leakage prevention).
- The strategy only runs on out-of-sample windows it has never seen, recording net PnL and Sharpe per fold.
This way, if MacdCross’s edge is real, it should hold up on every new stretch of data; if it’s just overfitting, out-of-sample will expose it.
3. Review Results: All Four Statistical Gates Green
| |
Walking through the four gates one by one:
- Mean OOS Sharpe +3.40 (>0 to pass): five windows it had never seen, all with positive Sharpe.
- All 5 OOS folds profitable (5/5): not propped up by one lucky fold.
- MCPT p=0.003 (<0.01 to pass): Monte Carlo permutation test — randomly shuffling the signs of all trade PnLs 2000 times, only 0.3% of random permutations produce a total return this good. This essentially rules out “pure luck.”
- DSR = 1.000 (>0.95 to pass): Deflated Sharpe Ratio — after correcting for the fact that I tested 56 combos, this Sharpe is still statistically significant. This is the last gate against “tried too many times.”
There’s also a parameter sensitivity test I added on my own: perturbing fast/slow/signal around 12/26/9 (8/12/17 x 21/26/35 x 7/9/12) — all 18 neighboring combos profitable, 100%, median +998. This shows 12/26/9 is not an isolated spike (isolated spike = overfitting) but a genuine plateau.
4. Honest Reservations: It Passed the Review, but It’s No Money Printer
I have to lay out all the reservations, otherwise this post is just selling dreams:
- The sample is still short. Each OOS fold is only about 350 4h candles. 365 days is just one market cycle in crypto — it has never seen a bull-market crash of the 2021 scale.
- Sharpe varies wildly. The five folds range from 0.90 to 7.28. This is not steady-state return — it means some months it may make nothing or even lose a little.
- It’s a “small edge,” not an “ATM.” The ~132% annualized alpha after beta-stripping sounds high, but it’s built on a small base: 0.2 sizing, 1x leverage, 880 USD principal. Realistically, a reasonable expectation is on the order of 1-2 USD per day, not 200 per day.
- Passing the review != ready for live. It only proves “holds up on historical out-of-sample” — it has not yet proven “live trading matches the backtest.” That’s what the next dry-run step is for.
5. Next Step: Paper Trading Dry-Run
Passing the final review means MacdCross-4h is qualified to enter ant-size validation. Next up is Phase 5:
- Use OKX paper-trading API keys to hook up MacdCross-4h for a dry-run.
- Run at least 2 weeks, comparing whether live fills match backtest expectations (slippage, funding fees, fill rate).
- Only if they match do I consider putting in a real-money ant position of no more than 5% of principal.
That’s the whole point of this pipeline: you don’t put in real money because “I feel this strategy works” — you let it pass gate after gate: backtest screening -> beta stripping -> WFO final review -> paper dry-run -> ant-size live. Any gate can kill it. Only what survives to the very end deserves to touch my 880 USD.
This series:
- Previous: From a 200-Grid Martingale Grid to Hunting for Real Alpha
- Next: I Wrote My Strategy Into Code, Then Falsified It With My Own Hands
- Tools post: Jupyter and the Quant Research Roadmap
- This post: MacdCross-4h Passes WFO Final Review
Code lives locally at /home/li/lynxcrypto, all 107 tests green. run_wfo_macd.py reproduces every number in this post. Not investment advice.
