The Position Sizing Framework: How I Decide 1-3% Risk on Every Trade

⚠️ Educational content only — not financial advice. Trading futures, options, and other leveraged products involves substantial risk of loss and is not suitable for every investor. All examples shown are historical or hypothetical and do not guarantee future results. You may lose more than your initial deposit. Please consult a licensed financial advisor before making any trading decision. See full Disclaimer.
🛡️ RISK MANAGEMENT SERIES

The Position Sizing Framework: How I Decide 1-3% Risk on Every Trade

Most losing trades are not from bad setups. They are from good setups sized wrong. Three questions I answer before every trade, worked through a real MNQ example — plus the four regimes where the framework quietly fails.

The most expensive lesson from a decade of trading — documented in Five Painful Lessons — was not that I picked wrong trades. It was that I sized right trades wrong. Specifically, I sized on how much I liked the setup rather than on what the trade would actually cost the account if I was wrong. Those are two entirely different variables, and they diverge exactly at the moment when it matters most.

Sizing is the one part of trading where discipline cannot fix the problem. If your framework says "size on conviction" and your conviction is high, you will size big every time you feel certain — which is exactly when small-cap earnings gaps and post-CPI reversals will punish you the most. The fix is not more discipline. The fix is a framework that removes conviction from the sizing decision entirely.

💡 Core idea: Position sizing is a mechanical calculation on three inputs — where the stop is, what the account can afford to lose, and how many contracts that permits. Everything else, including how good the setup looks, belongs to a different question.

📍 IN THIS GUIDE
  1. The three questions that decide sizing on every trade
  2. R-multiple math — why R matters more than win rate
  3. A worked MNQ case study, contracts and all
  4. Reality Check — where the sizing framework still fails

1. The Three Questions That Decide Sizing

Every trade I take, on any instrument, goes through the same three-question sequence before I click. The order is fixed. Skipping any step means the sizing was decided on something other than mechanics — which, empirically, is where every one of my sizing mistakes has come from.

① Where is the structural stop?

Not "where should I put a tight stop." Not "where does my platform default to." Where does the underlying structural thesis actually invalidate? For a long off an HTF order block, that is below the sweep low. For a short after a bearish CHoCH, that is above the last structural high. The stop is decided by the structure, not by the R/R I want to see on paper.

② What is the maximum this trade can cost the account?

Expressed as a percentage of current account equity, not last month's equity, and not a fixed dollar amount decided when the account was 40% smaller. I use a fixed 1% to 3% band depending on setup grade (defined below). The band exists precisely so the "I feel really good about this one" version of me cannot slip a 5% trade past the framework.

③ How many contracts does that permit?

Pure division. Contracts = (account × risk %) ÷ (points from entry to stop × dollar-per-point). Round down always. There is no decision here — the answer is whatever the math produces. If the answer is zero contracts, the trade does not happen at this account size.

Setup grade — the input to Question 2 — is where the only judgement call sits. My grades map to the confluence stack:

📊 SETUP GRADE → RISK PERCENTAGE
Grade Confluence Risk band
A+ All 5 volume layers align + HTF context + Kill Zone + no news 2 – 3%
A 4 layers + HTF alignment + session 1 – 2%
B 3 layers + session 0.5 – 1%
Below B 2 or fewer layers, missing HTF, or news-adjacent Do not trade

The 5-layer volume stack referenced here is the Institutional Volume Framework that anchors every setup grade above. Sizing without that upstream filter is guessing.

2. R-Multiple Math — Why R Matters More Than Win Rate

Once sizing is mechanical, the second half of the framework is expressing every trade in R-multiples — where 1R = the dollar amount you were prepared to lose on that specific trade, from Question 2 above. A trade that hits its 3.5× stop-distance target closes at +3.5R. A trade that hits its stop closes at −1R. This normalisation is what makes trades comparable across instruments and account sizes.

🧮 Expectancy formula:
E = (win rate × avg win R) − (loss rate × avg loss R)

For a system that wins 45% of the time at an average of +3.5R and loses 55% of the time at −1R (the setup grade in the case study below), the expectancy per trade is:

E = (0.45 × 3.5) − (0.55 × 1.0)
E = 1.575 − 0.55
E = +1.025R per trade

Every trade this system takes has, on average, a positive expected value of roughly one full R — meaning if 1R is $200, each trade generates about $205 in expected profit before variance. This is why R matters more than win rate. A 35% win rate at +5R is a better system than a 65% win rate at +1.2R, even though the second one feels better in the moment. The framework does not care how it feels.

🎯 The consequence: a positive-expectancy system with mechanical sizing needs only two things — enough sample size and enough capital to survive the drawdown path — to compound over time. Neither of those is helped by sizing on conviction. Both are helped by sizing on the framework.

For the broader mathematical foundation of the Kelly criterion and expectancy in trading, see Investopedia's overview of the Kelly criterion. I use a fractional-Kelly variant of the sizing bands above, but the math discipline is the same.

3. A Worked MNQ Case Study — Contracts and All

Here is the framework applied to a Micro E-mini Nasdaq setup, with the three questions answered in order and the contract count derived mechanically.

MNQ 5-minute chart showing an entry level near 27,480 marked with a blue horizontal line labeled ENTRY, a structural stop line labeled STOP LOSS at approximately 27,370 placed below the recent sweep low marked with a yellow arrow labeled Sweep low, a green target line at 27,865 labeled TARGET at the prior swing-high liquidity, a blue transparent rectangle labeled 1H HTF OB spanning the accumulation zone between the entry and stop levels, a Volume panel below the price panel, and a yellow grade tag in the upper left reading Grade A 3 contracts 660 dollars risk, illustrating the pre-committed levels used to answer the position sizing framework three questions before the trade is opened.

🔼 Figure 1: the setup that produced the numbers below. Entry, structural stop, and target are pre-defined on the chart before the sizing question is asked.

The setup context: MNQ long, HTF 1H bullish CHoCH confirmed, price mitigating a 1H demand zone, 5M micro-CHoCH inside the zone at the NY Open Kill Zone, three of the five volume layers confirming (CVD divergence, CMF positive cross, OBV higher low). Setup grade: A — four layers plus session, missing one layer for A+.

Answering the three questions

Q1 — Structural stop: below the 5M sweep low at $27,370, 110 points below entry.
Q2 — Account risk: Grade A → 1.5% of $50,000 account = $750 maximum acceptable loss.
Q3 — Contract count: $750 ÷ (110 pts × $2/pt) = 3.41 → round down to 3 contracts.

Position sizing spreadsheet or calculator with visible labeled cells for account size 50000 dollars, risk percentage 1.5 percent representing Grade A setup, entry 27480, stop 27370, points at risk 110, dollar per point 2 dollars for MNQ Micro E-mini Nasdaq futures, dollar risk per contract 220 dollars, target risk in dollars 750 dollars, raw contract count computed as 3.41, and rounded down to 3 contracts producing an actual account risk of 660 dollars or 1.32 percent, on a light background in a clean monospace typography.

🔼 Figure 2: the same three answers expressed as a spreadsheet. The contract count is not a decision — it is the output of the math.

ENTRY
$27,480
HTF demand zone tap
STRUCTURAL STOP
$27,370
Below 5M sweep low
TARGET
$27,865
Swing-high liquidity
CONTRACTS
3
1.5% of $50k account

Notice what the framework does not ask. It does not ask how confident I feel. It does not ask what the win streak is. It does not ask what the last three trades did. The three inputs — stop, risk band, math — are the only variables that touch the contract count. Every other feeling I have about the trade is expressed by clicking or not clicking, not by resizing.

💎 What this trade actually risks: 3 contracts × 110 points × $2/pt = $660 at risk (1.32% of the $50k account, comfortably inside the Grade A 1 – 2% band), $2,310 in reward at target. Realised R/R: 3.5. Expectancy on the grade-A sample: +1.025R per trade average, meaning across many similar trades this position expected to make roughly $225 net after variance.

4. Reality Check — Where the Sizing Framework Still Fails

The three-question framework produces the correct per-trade sizing decision. It does not automatically produce a survivable portfolio, and there are four ways I have watched it fail in real accounts.

⚠️ FOUR MODES THAT BREAK THE SIZING

① Correlated concurrent positions

Two MNQ longs plus two ES longs plus a NQ options position all sized at 1% each is not five 1% trades — it is one 4-5% trade on the same underlying macro variable. When the S&P sells off, all five stops go together. Correlated positions must be summed for risk, not counted separately.

② Slippage on stops in thin sessions

The framework assumes the stop fills at the stop price. In thin overnight sessions, at FOMC gap opens, or during flash-crash moments, the stop can fill 20 – 100 points beyond the level. A 1% planned risk becomes a 1.5 – 3% realised risk. Position sizing should assume worst-plausible slippage, not best-case fill.

③ Holding a sized position through a scheduled event

Sizing was decided under the market's normal-session volatility distribution. Holding the same size through FOMC, CPI, NFP, or an earnings release means holding a size that assumes the wrong distribution. Either close before the event or resize down explicitly — do not let intra-day sizing wander into event exposure by inertia.

④ Resizing mid-trade emotionally

Adding contracts to a losing position to average down, or cutting size on a winner because it "feels overextended," breaks the framework retroactively. The sizing decision belongs to entry. Once the trade is open, sizing is fixed — the only decisions left are the stop and the target.

Even with all four failure modes controlled, the framework does not eliminate losing trades. It only ensures that the losing trades cost the account the amount the framework said they would — no more. That is what makes the drawdowns survivable, and survivable drawdowns are the entire prerequisite for the +1.025R expectancy to actually compound.

💭 Closing Thought

Sizing is the one part of trading that has to be right on every trade, because compounding is multiplicative and one oversized loss can undo a hundred correctly sized winners. Discipline cannot save a bad sizing rule. A good sizing rule can survive an occasional lapse in discipline. Pick the one that scales.

⚠️ Disclaimer: This article is for educational and informational purposes only and does not constitute financial, investment, or trading advice. Trading involves substantial risk of loss. Position sizing choices depend on individual circumstances, account size, tax jurisdiction, and risk tolerance. Always conduct your own research and consult a licensed financial advisor before making any investment decision. Read the full disclaimer →

About the Author

Dongmin Park — Coder Trader author profile photo

Dongmin Park is a software engineer with over 15 years in embedded systems (automotive and defense industries) and 10+ years of active trading across Korean equities, US options, MNQ futures, and crypto. He started trading on a Kiwoom Securities account in Seoul in 2016 and now lives in Ingolstadt, Germany, after relocating in 2022.

Coder Trader is an ongoing project to document where systematic engineering discipline meets discretionary trading. Say hi on X, look at the code on GitHub, or email hello@codertrader.com.

Comments

Popular posts from this blog

Cumulative Volume Delta (CVD): 6 Institutional Patterns Every Trader Must Know (2 Real MNQ Examples)

Chaikin Money Flow + 200 EMA: How to Spot Institutional Accumulation (2 Real Trade Examples)

Ultimate Volume Trading Checklist: A 5-Layer Rule-Based Framework