been profitable 3 months now.
wanted to verify i’m not just curve fitting.
ran walk-forward analysis this weekend.
what is walk-forward testing #
normal backtest:
- optimize parameters on all historical data
- get amazing results
- trade live and fail (curve fitting)
walk-forward test:
- split data into chunks
- optimize on chunk 1, test on chunk 2
- optimize on chunk 2, test on chunk 3
- repeat forward through time
- prevents overfitting
my setup #
data range: jan 2022 - july 2023 (18 months)
window size: 3 months optimize, 1 month test
chunks:
- optimize: jan-mar 2022, test: apr 2022
- optimize: feb-apr 2022, test: may 2022
- optimize: mar-may 2022, test: jun 2022 … continues through july 2023
parameters tested:
- lookback period (10-50 days)
- vol threshold (0.5-3.0)
- profit target (30%-70%)
- stop loss (-100% to -200%)
results #
in-sample performance (optimization periods):
- sharpe: 2.8
- max DD: -12%
- win rate: 82%
out-of-sample performance (test periods):
- sharpe: 2.1
- max DD: -18%
- win rate: 76%
degradation: 25% worse out-of-sample vs in-sample
what this means #
good signs:
- strategy still profitable out-of-sample
- sharpe > 2.0 on unseen data
- win rate above 70%
warning signs:
- 25% degradation is significant
- max DD increased 50% out-of-sample
- some test periods were flat/negative
best parameters found #
walk-forward identified these as most reliable:
lookback: 21 days (not 10, not 50, right in middle)
vol threshold: 1.2 (current VIX analog)
profit target: 50% (what i’m already using)
stop loss: -150% (what i used before testing -140%)
interesting: walk-forward says revert to -150% stops.
matches my recent testing where -140% was getting whipsawed.
parameter stability test #
checked how often optimal parameters changed between windows.
lookback period:
- changed 8 times across 15 windows
- mostly stayed 18-24 days
vol threshold:
- changed 11 times
- ranged 0.8-1.5
profit target:
- changed 6 times
- mostly stayed 45%-55%
stop loss:
- changed 12 times (most unstable)
- ranged -120% to -180%
conclusion: parameters are somewhat stable. not wildly jumping around.
live trading vs walk-forward #
my actual results (may-july 2023):
- sharpe: 2.1
- max DD: -$544 (-0.16% of account)
- win rate: 78%
walk-forward predicted (may-july test window):
- sharpe: 2.0
- max DD: -15%
- win rate: 76%
pretty close match. strategy performing as expected.
what i’m changing #
1. reverting stop loss to -150%
walk-forward confirms -140% stops get whipsawed.
going back to -150% starting monday.
2. keeping profit target at 50%
tested 55% last 2 weeks. avg win increased but not enough to justify.
walk-forward says 50% is optimal. reverting.
3. adding parameter review quarterly
will re-run walk-forward every 3 months.
if parameters drift, will adjust slowly.
overfitting check: passed #
strategy works on out-of-sample data.
not just curve fit to historical data.
edge appears real.
the risk #
walk-forward tests past data.
doesn’t predict regime changes:
- major market crash
- vol spike > 50
- liquidity crisis
if market regime changes significantly, strategy might fail.
monitoring for this with vol detection system.
next steps #
continue live trading with validated parameters.
quarterly walk-forward review.
watch for regime changes.
stay humble (3 months profitable ≠ figured it all out).
trading update #
friday 7/14: +$405 (from week 2 review)
monday 7/17: (will trade with -150% stops again)
july total: +$2,001
goal: +$3,500. need: +$1,499 in 2 weeks.
mental state #
confident but cautious.
walk-forward validation feels good.
but know past performance ≠ future results.
staying disciplined. following systems.
4:15am monday. ran walk-forward test. strategy holding up. reverting to -150% stops. edge appears real but staying humble.
-AK