Counter intuitive lessons from running an automated profitable systematic swing strategy
So, I've run a pretty profitable systematic swing strategy on US equities for a few years. I backtested on 26 years of Norgate data, so no survivor bias, trade live through a broker API. I see a lot of newbies here looking for guidance, so just wanna share some of the stuff I learned, especially the more counter intuitive ones, instead of the regular advice widely available on the internet.
**Slippage is real, not much you can do about it**
I tried to fight slippage with limit orders, but it was a bad idea for this kind of strategy. With sub 30% win rate, the whole edge depends on a few large winners carrying everything else, and a limit order that saves you 10 cents will eventually miss the entry that would have made your year. The cost of missing one of those trades outweighs years of slippage savings, so all my orders are market orders. Surprisingly, after years of real trades, it turned out slippage works both ways: sometimes the fills are worse, sometimes better. Over a few hundred real trades, slippage actually improved my returns by 10% total. Just to be clear here: my definition of slippage is the difference between the day's open, or stop trigger, and actual fill price, because my strategy only trades at the open, or if stop loss trigger is hit. If you define slippage differently, it'll be different.
**Loosen the entry, tighten the exit**
Any attempt to tighten the entry conditions (e.g. multi timeframe confirmation, more indicators, etc.) all resulted in worse returns. The reason is simple: you cannot afford to not take a trade. Just like baseball, on average your swing will be shit, but you cannot afford to not swing. The only thing you can control is when to exit and how much to lose on average. If you tighten the entry, you can probably improve win rate, but you'll not make more money.
Exits are the opposite. Adding a volatility-contraction exit to one strategy dominated the baseline on every metric I care about: total return went from 1857% to 2354% and max drawdown got smaller at the same time.
**You will be late, by design**
Don't try to predict the stock movement. My strategy only reacts, so by construction I can never enter at the start of a trend and can never exit at the top. I enter somewhere in the middle and I exit after giving some back. I actually audited how often my winners round trip: over 26 years, only 16 out of 699 winners that reached +10% fell all the way back to their original stop. I tried to build a rule for those 16 and it lost money on the other 683 trades. Giving back some profit at the end is the fee you need to pay.
**You have to backtest a portfolio, not a single stock**
A single-ticker backtest is misleading. The strategy that looks great on one chart falls apart when you simulate the whole book with real constraints: liquidity caps on small stocks, multiple signals firing the same day and fighting for the same capital, buying power that isn't there because of settlement, gaps through your signal/stop, etc.. I also learned the hard way that data itself will lie to you. My historical data reused ticker symbols, so one "stock" was actually two different companies spliced together, with a phantom 70% overnight loss in 2009. That one messed up my backtests and took me a long time to figure out.
**You really really need luck**
You cannot manufacture winners. In my backtests roughly 80% of the profit comes from the top 10 trades over 26 years. I tried pyramiding into winners: 12 variants, all worse. I tried partial exits to smooth things: 27 variants, all worse. When the market doesn't produce big movers, the strategy doesn't make big money. It's just the nature of the game. What you can do is stay solvent and keep showing swinging. My live account recently sat through a 15 trade losing streak that matched the sim exactly.
**Overfitting is actually necessary**
No strategy works equally well in all regimes. Adjusting your strategy to the current regime is, if you're being honest, real-time overfitting, and you gotta do it if you wanna survive. Sometimes you gotta go to cash, sometimes park it in QQQ or SPY is better. You gotta figure out your own ways.
**Everything is connected**
When you refine your strategy, remember every small change has impact beyond your imagination. I once changed a minimum stop-distance parameter for purely hygienic reasons and it rippled through position sizing, fill behavior, and which trades even got taken. So because of that, now I retest the whole system for any change, and I keep a test that fails if my code's defaults drift from what production actually runs.
**Paper trading tests your pipes, not your strategy**
Paper trading is purely for logistics: order routing, fill handling, reconciliation. I once ran a paper mirror that made its decisions from a replayed model of the account instead of the real one, and it slowly drifted from what the real account would have done until its signals were useless. That's the kind of thing paper trading is for catching. But it tells you nothing about whether you can stomach the strategy. For that you need real money, even if you start with a small amount. A 20% drawdown in paper trading is a metric. With real money you'll feel it, and I guarantee the psychological impact matters more than the performance. Especially if you trade with a significant amount of money.
**Last one, this one's personal: optimize for survival**
My backtests and grid sweeps say cranking max allocation on a single trade to 45% significantly increases returns, and the backtests still never had a drawdown over 30% since 2000. But I cap it at 25% anyway. Backtests cannot see things that haven't happened. Black swans happen, and stocks do drop 50% overnight. Not often, not always, but it does/did happen. Losing 25% of your capital in one trade is a big deal. You'll wanna dial down the sizing, but if you trust your backtests, dialing down after being down big is exactly the wrong time to do it.