Level 7
10 min readLesson 41 of 43

Continuous Improvement: Iteration Without Overfitting

Evolving your system while maintaining edge integrity

The Improvement Paradox

Your system will need updates. Markets change. Bugs emerge. Better ideas arise. But every change risks breaking what works or overfitting to recent data.

Continuous improvement requires balancing evolution with stability.

When to Change

Good Reasons to Update:

  • Bug fixes (something is broken)
  • Infrastructure improvements (reliability, not strategy)
  • New edge deployment (validated through proper process)
  • Risk management refinements (based on live experience)

Bad Reasons to Update:

  • Recent losses (might be variance)
  • Someone elses system did better (irrelevant)
  • Gut feeling (not data)
  • Boredom (dangerous motivation)

The Change Process

Every significant change should follow a process:

  1. Identify - What specific problem are you solving?
  2. Hypothesize - What change will fix it?
  3. Validate - Test the change without risking capital
  4. Deploy - Implement with ability to rollback
  5. Monitor - Verify the change helped

Skip steps and you introduce risk.

Types of Changes

Tier 1: Critical Fixes Must deploy immediately. System is broken or losing money unexpectedly.

Process: Fix, test minimally, deploy, monitor closely.

Tier 2: Non-Critical Bugs System works but something is wrong.

Process: Fix, full test, deploy during low-activity period.

Tier 3: Improvements System works fine but could be better.

Process: Full validation cycle. No rush.

Tier 4: New Strategies Adding new edges or major changes.

Process: Complete validation as if building from scratch.

Avoiding Overfitting to Recent Data

The biggest danger in improvement: optimizing for recent performance.

Scenario: Last month had losses. You tweak parameters to improve that month. Next month has different conditions and your tweaks make things worse.

Protection:

  • Never optimize on recent data alone
  • Validate changes on out-of-sample periods
  • Require statistical significance, not just improvement
  • Be skeptical of parameters that seem perfect

Versioning Your System

Track every change with version numbers.

Version Components:

  • Major: Significant strategy changes (2.0, 3.0)
  • Minor: New features or edges (2.1, 2.2)
  • Patch: Bug fixes (2.1.1, 2.1.2)

Benefits:

  • Rollback to known-good version
  • Track when performance changed
  • Correlate issues with changes

A/B Testing in Production

Test changes against the current system:

  • Run new version on portion of capital
  • Compare performance over meaningful period
  • Require statistical significance before full deployment

Small sample sizes lie. Dont declare victory too early.

Monitoring for Degradation

Performance will degrade over time. Markets change, edges decay.

Watch For:

  • Gradual win rate decline
  • Increasing slippage
  • Reduced signal frequency
  • Longer drawdown recoveries

Response:

  • Investigate cause
  • Determine if edge is dying or variance
  • Either fix or retire

Edge Lifecycle Management

Edges dont live forever.

Lifecycle Stages:

  1. Discovery - Finding the edge
  2. Validation - Confirming it works
  3. Production - Trading live
  4. Monitoring - Watching for decay
  5. Retirement - Removing when dead

Plan for retirement. What criteria will cause you to stop trading an edge?

Documentation

Document every change:

  • What changed
  • Why it changed
  • When it deployed
  • Expected impact
  • Actual impact

Future you will thank present you.

The Stability Bias

When things are working, bias toward not changing.

Every change has risk. A working system has value. Dont mess with success unless theres a clear reason.

Takeaway

Improve methodically. Validate thoroughly. Document everything.

The goal is a system that gets better over time without breaking what already works.

Next: scaling up when youre ready for serious capital.