Learn / Risk & Position Sizing
Correlation and position limits
Per-trade position sizing evaluates each trade alone. If three trades move together, sizing each at 1% gives you something much closer to one 3% position — and nothing in the sizing formula can tell you that.
This is the largest blind spot in an otherwise sound risk process, and it is where accounts with correct per-trade discipline still take outsized losses.
Why the formula cannot see it
position size = (balance × risk %) ÷ |entry − stop|
Every input describes one trade. There is no term for what else you hold. So the formula happily produces three positions that each risk 1% and collectively risk whatever the correlation implies.
At perfect correlation, three 1% positions are one 3% position. At zero correlation they are genuinely three independent 1% risks. Reality sits between, and it moves — correlations rise in exactly the conditions that produce losses, which is the property that makes this dangerous rather than merely untidy.
Correlation is not stable, and it rises when it hurts
The uncomfortable regularity: things that normally move independently move together in a sell-off. Diversification measured in calm conditions overstates the diversification available in bad ones.
For crypto specifically, the practical default is that most of it is one trade most of the time. Positions across several alts are largely a leveraged bet on the same thing, and treating them as independent risks is how a 1%-per- trade rule produces a 6% day.
You do not need a correlation matrix to act on this. You need to notice when several positions would all be wrong for the same reason.
Kinds of correlation worth tracking
Direct — the same instrument in different forms, or instruments that track each other closely.
Sector — different names, same driver.
Factor — everything that is long risk, when risk appetite itself turns.
Hidden — positions that look unrelated but share a dependency: a funding regime, a single venue, a stablecoin.
That last one is worth a moment. Venue concentration is a correlation. Every position on one exchange shares an operational failure mode, and no market-based correlation measure captures it.
The control: a separate cap
Since per-trade sizing cannot see the problem, the fix is a limit evaluated across positions rather than within one.
Group exposure cap. Define groups by what would make them wrong together, and cap aggregate risk per group. If three positions in a group would all lose on the same move, the sum of their risk is the number that matters.
Total account exposure cap. A ceiling on combined risk regardless of grouping, as a backstop for correlations you did not anticipate. Given that unanticipated correlation is the whole problem, this one does most of the work.
Position count limit. Crude and effective. It bounds how wrong your correlation assumptions can make you, without requiring the assumptions to be right.
All three belong in code for the same reason a daily loss limit does: the moment they bind is the moment you have a good-sounding reason to exceed them.
The arithmetic of getting it wrong
Suppose you risk 1% per trade and hold six positions you believe are independent.
- If truly independent — the chance of all six losing is small, and the bad day is manageable.
- If perfectly correlated — you have a single 6% position. One adverse move costs six times what you sized for.
Run 6% through the drawdown recovery calculator and then consider that the same conditions tend to produce the next correlated loss too. Two such days is 12%, needing 13.6% to recover, from a position book you now distrust.
The failure is not the per-trade size. It is that “1% per trade” described something other than what you were actually risking.
A practical routine
You do not need statistics. You need one question, asked before adding a position:
If I am wrong about this, what else in the book is wrong for the same reason?
If the answer is “several things”, the new position is an addition to an existing risk rather than a new one, and should be sized as such — or skipped.
Then, periodically: look at your worst days and check how many positions were losing simultaneously. If the answer is usually “most of them”, your book is more concentrated than your sizing says, regardless of how many tickers it contains.
For AI-assisted setups
A model summarising exposure is genuinely good at this, and it is one of the clearest cases where the assistance is worth having. “What in this book would be wrong for the same reason” is a question it answers well — provided the tools expose the whole book.
The caveat from can AI predict the market applies: it cannot know what it cannot see. If your tools expose spot but not futures positions, the concentration analysis will be confidently incomplete — and correlation blindness is exactly the wrong thing to be confidently incomplete about.
FAQ
How do correlated positions affect my risk?
They collapse multiple independent-looking risks into fewer real ones. Three positions sized at 1% each that move together behave like one 3% position, so a single adverse move costs three times what the sizing implied. Per-trade sizing cannot detect this because each calculation considers only one trade.
How many positions should I hold at once?
Fewer than the number that makes your correlation assumptions load-bearing. A position count limit is crude but effective precisely because it does not require those assumptions to be correct. The more honest constraint is a cap on aggregate risk across positions that would be wrong for the same reason.
Is diversification across crypto assets real?
Much less than the number of tickers suggests. Most of the market moves together most of the time, and correlations rise further during sell-offs — which is when diversification is supposed to help. Treat a book of several alts as one directional position unless you have evidence otherwise.
How do I set a correlation limit?
Group positions by what would make them wrong together rather than by asset class, cap aggregate risk per group, and add a total-account cap as a backstop for the correlations you did not anticipate. Enforce both in code, since the moment a limit binds is the moment you will have a reason to exceed it.