Every Rookie Mistake I Made Building a Trading System
Four years of face-planting into every possible trap in quant trading. From curve fitting to ignoring transaction costs, the expensive lessons nobody warns you about.
So I have been building trading systems for about four years now and honestly the first two years was basically just me making every mistake in the book. Not even exaggerating. If there was a way to mess up a backtest I probably found it.
The Curve Fitting Trap
This one got me bad. Like really bad. My first "system" had a 78% win rate on backtests. I was so hyped. Showed it to everyone. Then I ran it forward for two weeks and it was basically a coin flip. Worse actually because of spreads.
What happened was classic overfitting. I had like 200 parameters tuned to historical data. The model basically memorized the training data instead of learning actual patterns. I did not even know what out-of-sample testing was at that point. Embarrassing but thats how you learn right.
The fix came later when I started doing walk-forward validation and PBO analysis. My current system (V7) has a PBO of 0.112 which basically means theres only about an 11% chance the backtest is overfit. Took me years to get there tho.
Ignoring Transaction Costs
Another classic. My early backtests assumed zero spread, zero slippage, zero commission. The results looked amazing. Then you add realistic costs and suddenly your 3R monthly system is doing 0.5R. Sometimes negative.
Now I model spreads per instrument, add slippage estimates based on liquidity, and include commission structures. The V7 engine accounts for all of this which is why the backtest shows 533.9R over 7.5 years instead of some ridiculous number.
Not Understanding Regime Changes
Markets change. What works in a trending market gets destroyed in a choppy one. I learned this the hard way when my momentum strategy just died during a range-bound period in 2023.
This is why I ended up building the regime detection modules (S09 K-Means clustering, S10 Autoencoder). The system now detects what regime we are in and adjusts accordingly. Hurst exponent above 0.55 means trending, let trades run longer. Below 0.45 means mean-reverting, take profits quicker.
Position Sizing Disasters
Early on I was just doing fixed lot sizing. 0.1 lots on everything. Did not matter if it was EURUSD or XAUUSD. The risk per trade was completely inconsistent. One bad gold trade could wipe out ten good forex trades.
The S40 Recovery Mode module handles this now with DD-triggered risk scaling. Start at 0.30% risk per trade, scale down during drawdown. Simple concept but it took me forever to implement properly because I kept making it too complicated.
The Biggest Lesson
The biggest thing I learned is that a mediocre strategy with excellent risk management will outperform an excellent strategy with mediocre risk management. Every time. My system isnt the most sophisticated ML pipeline out there but the risk management is bulletproof and thats why the Monte Carlo shows 0.08% breach probability.
If you are just starting out in quant trading, focus on:
- Out-of-sample testing. Always. No exceptions.
- Transaction costs. Model them realistically.
- Position sizing. Risk-based, not fixed lots.
- Regime awareness. Markets change, your system should adapt.
- Validation. PBO, walk-forward, Monte Carlo. If it cannot pass all three, it is not ready.
Building a real trading system takes years. Anyone telling you otherwise is selling something.
The Part Nobody Tells You
If I am being honest with myself (and the whole point of this blog is to be honest), the biggest meta-lesson is that I spent two years defending strategies that the data had already told me were broken. Protecting my ego instead of trying to see the situation clearly. The moment I started treating negative results as useful information rather than personal failures, everything accelerated. Update your beliefs when the evidence says to. That is the actual edge.