Skip to main content

Position sizing

Who it’s for
Anyone deciding how large a position should be
Assumes
You have read Risk management

Position sizing is the only control that scales your loss directly. Everything else changes the probability of a bad outcome; this changes its magnitude.


How a percentage becomes a quantity

The chain, in order:

StepValueDerived by
1Allocated capitalYou set it at deployment
2Risk budget, in moneyAllocated capital multiplied by per-trade risk %
3Raw quantityRisk budget divided by (entry price less stop price)
4Position sizeRaw quantity rounded down to the instrument's quantity step or lot size
5OrderPosition size checked against max_order_value, max_capital_allocation and available_capital

Worked example

StepValue
Allocated capital₹5,00,000
Per-trade risk1%
Risk budget₹5,000
Entry price₹2,850
Stop-loss1.2%, giving ₹2,815.80
Risk per share₹34.20
Raw quantity5,000 ÷ 34.20 = 146.2
Quantity stepWhole shares
Position size146 shares, notional ₹4,16,100

Notice the notional. A 1% risk budget produced a position worth 83% of the allocation. That is correct, and it is the thing people find surprising: the risk is 1%, the exposure is 83%. A tight stop buys a large position.

A tighter stop is not automatically safer

Halve the stop to 0.6% and the same ₹5,000 budget buys 292 shares, notional ₹8.3 lakh, which exceeds the allocation and would be rejected by the capital gates.

A tight stop concentrates exposure and makes you far more sensitive to a gap, because the gap is measured against a larger position. The interaction between stop width and position size is the single most under-appreciated mechanic in systematic trading.


Quantity steps and lot sizes

InstrumentGranularity
Equity cashWhole shares
Crypto spot0.00001
DerivativesWhole lots

Cash instruments round down to the step, which is a small compromise. Derivatives cannot.

Lot granularity can override your risk budget

If one lot's risk exceeds your per-trade budget, the smallest possible position is already too large. There is no fractional lot.

Increase the allocation, choose a cheaper instrument, or do not take the trade. Revising the risk budget upward to fit the lot is how a sizing discipline quietly disappears. See Margin, leverage & lot size.


Sizing without a stop

Per-trade risk sizing needs a stop price. With no stop there is no risk distance and no quantity to compute from it.

Two consequences:

  • The builder requires a stop-loss, so this is rare in practice.
  • The per_trade_risk execution gate skips an entry with no usable stop price. It does not guess, which is correct, and means the protection is absent for that order. See The nine order gates.

The allocation is the real control

Everything above is arithmetic inside a boundary you set: the capital allocation.

Size the allocation to the drawdown, not to the return

If a backtest shows a 22% max drawdown, allocate an amount where a 22% loss is one you will actually sit through.

Not "an amount where the return looks worthwhile", an amount where the loss is tolerable. Those two calculations give different answers, and only one of them survives contact with a bad month.

Two of the nine execution gates enforce the allocation and cannot be disabled: total deployed capital cannot exceed the allocation, and an order that cannot be funded from available capital is rejected. That is why a strategy can never exceed the capital you gave it.


Sizing across several positions

A strategy holding several positions concurrently has more exposure than the per-trade risk suggests, and probably more correlated exposure than the count suggests.

Three positions at 1% risk each is 3% at risk if they are independent, and closer to 3% moving together if they are not, which, for three equities in the same sector on the same signal, they will be.

Bound it with max_open_positions. See Which limits are on by default


Sizing across several strategies

Each strategy has its own allocation and cannot borrow from another. That is enforced.

What is not enforced is whether your total across strategies is sensible. Five strategies each allocated 20% of your capital is 100% deployed, and if they trade correlated instruments on correlated signals, that is one bet with five names.


Invalidation is not a stop-loss

Worth repeating here because it is a sizing error:

A discovery screen's invalidation level says where a technical pattern voids. Your stop says how much of your capital you will risk.

Using the invalidation level as a stop means your position size is set by a scanner's geometry rather than your risk budget. Size against the budget, then check whether the resulting stop makes sense relative to the pattern. Not the other way round. See From a setup to a strategy.


Minimum notional

The platform enforces per-market minimum notional and position limits from reference data. On derivatives the effective minimum is whichever is larger, the market's minimum notional, or one lot.


A checklist

  • I stated per-trade risk explicitly rather than accepting a default
  • I know the notional the sizing produces, not just the risk percentage
  • I understand a tighter stop buys a larger position
  • The allocation is sized to a drawdown I will hold through, in money
  • For a derivative, one lot's risk fits inside my budget
  • max_open_positions reflects how much correlated exposure I want
  • My total across strategies is a number I have actually looked at

Next