
Correlation Is the Hidden Risk in Your Bot Portfolio: How to Spot Three Bots Taking the Same Trade
You did the responsible thing. Instead of putting one strategy on one funded account and hoping, you built a lineup — three bots, three names, three separate strategy files loaded in NinjaTrader 8. It feels diversified. Three engines, three chances to make the day.
Then a Tuesday shows up where the open runs hard, reverses at 9:45, and every one of those three bots is long the same contract at the same minute. You didn't take three trades. You took one trade at triple size — and your trailing drawdown treated it exactly that way.
That's correlation, and in a bot portfolio it's the risk almost nobody measures. Not because it's hard to find, but because the numbers that reveal it live in a fill log nobody opens.
Three bots, one trade: what correlation actually looks like
Correlation isn't an abstract statistics word here. It's a concrete, observable thing: two or more of your bots holding a position in the same direction, in the same instrument, at the same time.
When that happens, your account stops behaving like a portfolio and starts behaving like a single oversized position. If each bot risks $300 and all three fire together, that day's worst case isn't $300 — it's $900, hitting one balance, measured against one daily loss limit. Firms like Apex, Lucid, BluSky and TakeProfit don't care that the drawdown came from three separate strategy files. They see one account, one number, one rule.
The cruel part is the asymmetry. When the correlated day goes your way, you feel like a genius who built a great portfolio. When it goes against you, you find out you were running 3x size the whole time and just hadn't been billed for it yet.
The three places correlation hides
Same session window. This is the most common one and the easiest to miss. Most opening-range and momentum bots are built to trade the first 30 to 60 minutes, because that's where the volume and range are. Stack three bots that all wake up at 8:30 AM CT and you've concentrated your entire day's risk into one hour of tape. The strategies can be genuinely different and still lose together, because they're all reading the same one hour.
Same underlying trigger. Two bots with different names can be doing the same math. A breakout bot that buys a push through the opening range high and a volume bot that buys an expansion bar on rising volume will, on a strong trend open, take the same trade within a couple of minutes of each other. They were built from different ideas; on that particular morning they're the same idea.
Same instrument. Running three bots on NQ is not the same as running three bots. It's three ways of expressing an opinion about one product. Correlation across ES and NQ is already high on trend days — correlation of NQ with itself is 1.00, every single time.
How to spot it in your own numbers — in about twenty minutes
You don't need a statistics package. You need your fill log and a spreadsheet.
- Export every fill with a timestamp from your last 60 trading days, tagged by which bot generated it.
- Sort by entry time, not by bot. This one step does most of the work. Clusters jump off the page — you'll see 9:34, 9:36, 9:37 with three different strategy names beside them, over and over.
- Count your maximum concurrent positions. For each day, find the moment you held the most contracts in the same direction at once. That number, not your per-bot size, is your real position size.
- Compare worst days to worst trades. If your worst day is roughly the size of your worst single trade, your bots are genuinely independent. If your worst day is two or three times your worst trade, they're stacking.
- Check the win/loss calendar side by side. Put each bot's daily P&L in its own column. If the red cells line up in rows, you have one strategy wearing three costumes.
The Bot Portfolio Analyzer does this work against roughly 4.5 years of backtest data, which is the point of having it — you can see how a proposed lineup would have behaved on the ugly days before those days cost you an account. It's a look backward, not a forecast, but a backward look at 4.5 years beats a hunch about next Tuesday.
Building a lineup that doesn't stack
Diversification in a bot portfolio comes from three levers, and they're all things you control before you ever click enable.
Mix the strategy families. Breakout, mean reversion and volume-based bots need different market conditions to work — that's exactly why running them together smooths the curve rather than amplifying it. A breakout bot wants follow-through; a snapback bot wants the push to fail. On any given morning one of them is usually wrong, which is the entire point. We went deeper on this in Breakout vs. Snapback.
Stagger the clock. If everything you run trades 8:30 to 9:30 CT, add something that works a different window — or add a filter that keeps one bot out on days another one is most likely to fire. Our post on when a breakout bot should sit out covers the gap-size and prior-day-range conditions worth using as a governor.
Size for the combined worst day, not the per-bot worst day. Once you know your true maximum concurrent exposure, size from that number. This is usually where micros earn their keep: three bots on MES can express the same portfolio idea as three bots on ES at a fraction of the drawdown footprint. That trade-off is the whole subject of micros or minis for your eval.
What to do when you find overlap
Finding two correlated bots doesn't mean deleting one. Usually the fix is smaller than that:
- Cap concurrent positions. Decide the maximum contracts you'll hold in one direction across all bots, and enforce it — no matter how many strategies want in.
- Cut size on the pair, not the portfolio. If two bots historically fire together on 40% of days, run each at reduced size so the combined day sits inside your normal risk.
- Move one to a different product or window. Same logic, different tape, and the overlap often disappears.
- Retire the redundant one. If two bots produce nearly identical fills, you're paying two strategies' worth of complexity for one strategy's worth of edge.
And if you're running a copier across multiple funded accounts, remember correlation compounds sideways too. Copying a stacked lineup to twenty accounts doesn't diversify anything — it just makes the same Tuesday happen twenty times.
Do the audit before the market does it for you
Correlation isn't a reason to run one bot. It's a reason to know what your lineup actually does when the tape gets one-directional. The traders who keep funded accounts are the ones who found their overlap in a spreadsheet on a quiet weekend instead of discovering it on the worst day of the month.
If you want to build a lineup with correlation in mind from day one, start with the pre-built bots and run your proposed combinations through the Bot Portfolio Builder and Analyzer before a dollar is at risk. The 14-day free trial is enough time to sort your fills, count your concurrent positions and find out whether you own a portfolio or one trade in triplicate.
Ready to build it properly? Start at pushbuttontrading.co — no coding required, just the discipline to look at the timestamps.



