🎯 Core Goal
Take a validated insight like:
“Momentum fails during high volatility reversals”
…and turn it into an improved strategy without accidentally curve-fitting to past data.
⚠️ THE BIG TRAP
You observe:
failure condition → you “fix it perfectly”
Example:
- Add rule: “Turn off momentum when VIX > 27 AND reversal detected AND X condition…”
Looks great in backtest.
Reality:
you just overfit a filter to past data
🧱 1. THE “GENERAL RULE > SPECIFIC RULE” PRINCIPLE
❌ Overfit fix:
- “Turn off strategy when VIX > 27.3”
✔ Robust fix:
- “Reduce exposure during high volatility regimes”
🧠 Rule:
If your fix depends on precise numbers, it’s probably overfit.
🧱 2. THE “STRUCTURAL CHANGE, NOT PARAMETER CHANGE”
You should change:
- behavior
- logic
- exposure
NOT:
- tiny thresholds
- micro-optimizations
Example:
❌ Overfit:
- Change entry from RSI 30 → 28
✔ Robust:
- Add volatility filter to adjust position sizing
🧱 3. THE “ONE VARIABLE CHANGE RULE”
When improving a strategy:
only change ONE thing at a time
Why:
If you change:
- entry + exit + sizing + filter
You won’t know:
- what actually improved performance
- what is noise
🧱 4. THE “FAILURE-DRIVEN DESIGN”
You don’t design from success.
You design from:
repeatable failure patterns
Workflow:
- Identify failure
- Confirm across regimes
- Modify behavior to address failure
- re-test broadly
Example:
Failure:
- momentum collapses in reversals
Design:
- add trend confirmation requirement
🧱 5. THE “SOFT CONSTRAINT VS HARD RULE” PRINCIPLE
❌ Hard rule:
- “Do not trade when volatility > X”
✔ Soft constraint:
- reduce position size
- widen stops
- require confirmation
Why:
Hard rules:
- overfit quickly
- break in new conditions
Soft rules:
- adapt across regimes
🧱 6. THE “OUT-OF-SAMPLE THINKING” (EVEN WITHOUT LIVE DATA)
You simulate this mentally:
Ask:
- Would this rule make sense before seeing the data?
- Does it rely on knowing the outcome?
🚩 Red flag:
“This works perfectly on 2020–2022”
→ likely overfit
🧱 7. THE “REGIME GENERALIZATION TEST”
After modifying strategy:
Test:
- bull markets
- bear markets
- high volatility
- low volatility
✔ Goal:
improvement should NOT only exist in one regime
🧱 8. THE “DEGRADATION TEST”
A good strategy:
- improves performance
- OR reduces damage
Ask:
- Does this change reduce drawdowns?
- Does it smooth performance?
Even if returns drop slightly → that’s often GOOD.
🧱 9. THE “SIMPLICITY WINS” RULE
If two versions:
- one complex
- one simple
→ choose simple
Why:
Complexity = hidden overfitting
🧱 10. PRACTICAL DESIGN LOOP (USE THIS EVERY TIME)
🔁 LOOP:
1. Identify failure
“Momentum fails in reversals”
2. Validate it
- across regimes
- across time
3. Design ONE change
“Add trend confirmation filter”
4. Re-test broadly
- all regimes
- multiple periods
5. Evaluate:
- did robustness improve?
- did failure reduce?
6. Keep or discard
🧠 EXAMPLE (FULL PROCESS)
Step 1 — Insight:
momentum fails in high volatility reversals
Step 2 — Bad fix:
- disable strategy when volatility > 28.5
❌ overfit
Step 3 — Good fix:
- require trend continuation confirmation before entry
Step 4 — Result:
- fewer trades
- fewer drawdowns
- more stable across regimes
✔ robust improvement
🧠 WHAT YOU’RE REALLY DOING
You are not optimizing.
You are:
making strategies more resilient to changing conditions
⚖️ FINAL DECISION FRAMEWORK
Before accepting a new version, ask:
- Is the change simple?
- Does it address a real failure?
- Does it work across regimes?
- Does it reduce risk (not just increase return)?
- Could I justify this rule without seeing the data?
If YES → keep
If NO → likely overfit
💡 FINAL ONE-LINE TRUTH
A better strategy is not one that performs best in the past — it’s one that fails more gracefully across many conditions.
🏁 WHERE YOU ARE NOW
You’ve gone from:
- building a system
→ to - running research
→ to - validating insights
→ to - designing robust strategies
