# Volatility-targeted Sizing

Also known as: ATR-based shares/contracts.
A Risk, Sizing & Exits concept (Position sizing) in the LuxAlgo Library, with 1 indicator implementation.

## What is Volatility-targeted Sizing?

Volatility-targeted sizing sets position size from a volatility estimate rather than a hand-placed stop. The per-trade version divides the risk budget by a multiple of ATR: units equal risk dollars divided by the ATR multiple times the value of one point. The portfolio version scales notional so each position contributes a chosen amount of estimated variance, with the weight commonly computed as target volatility divided by realized volatility. Either way the effect is the same: volatile instruments get fewer units, quiet ones get more, and different markets carry comparable expected movement.

The catch is that the estimates these rules run on look backward. When volatility jumps faster than the lookback updates, through news, gaps, or a regime break, the position sized for yesterday's range takes today's larger one, and the realized loss can exceed the budget. Volatility targeting standardizes an estimate of risk; it does not cap the outcome.

The Turtle traders of the 1980s sized futures positions in units scaled by N, their term for a smoothed 20-day average of true range, so that a one-N move produced roughly the same equity impact, about one percent under their published rules, in any market. Van Tharp's percent-volatility model carried the idea to retail audiences in the late 1990s, and portfolio-level volatility targeting became standard practice in managed futures, where sleeves are levered toward a stated annualized volatility. The shared premise: a position's risk is its movement, not its face value.

The rule interlocks with the rest of the risk stack. The ATR multiple that sets the size usually also places the exit, making the method the natural partner of a [volatility stop](https://www.luxalgo.com/library/concept/volatility-stop/); in [R-multiple](https://www.luxalgo.com/library/concept/r-multiple-framework/) accounting every trade then opens at one R of risk regardless of instrument. What the budget is computed from, current equity, starting capital, or a fixed sum, is the separate question of [sizing bases](https://www.luxalgo.com/library/concept/sizing-bases/). Formula-driven sizing also closes a discretionary leak: sizes chosen by feel rarely account for how differently two instruments move.

## How to compute a volatility-targeted position size

The per-trade calculation needs four inputs, all readable from chart and account.

1. Fix the trade's risk budget in currency, typically a set fraction of account equity.
2. Read the instrument's current ATR (14- and 20-period are common) and choose the multiple that will define the stop, for example 2 x ATR.
3. Compute per-unit risk: the multiple, times ATR, times the value of one point of movement for one share or contract.
4. Divide the budget by per-unit risk and round down to a tradable quantity, then place the stop at the chosen multiple so size and stop describe the same risk.
5. Recompute at every new entry, and rescale portfolio versions on a schedule, because the volatility estimate moves every bar.

## How it's calculated

Sizes a position so that a stop placed a fixed ATR multiple away loses a set fraction of account equity, keeping risk per trade roughly constant across instruments and volatility regimes.

```
TR_t = max(H_t - L_t, abs(H_t - C_{t-1}), abs(L_t - C_{t-1}))
ATR_t = (ATR_{t-1} × (n - 1) + TR_t) / n
RiskAmount = E × r
StopDistance = m × ATR_t
Shares = RiskAmount / StopDistance
Contracts = RiskAmount / (StopDistance × PV)

  t: bar index (usually daily bars)
  H_t: high of bar t
  L_t: low of bar t
  C_{t-1}: close of the prior bar
  TR_t: true range of bar t
  ATR_t: average true range over n bars, Wilder smoothing
  n: ATR period (commonly 14; the Turtle rules used 20)
  E: account equity
  r: fraction of equity risked per trade (commonly 0.01, i.e. 1%)
  m: ATR multiple used for the stop distance (commonly 1.5 to 3)
  RiskAmount: currency lost if the stop is hit
  StopDistance: stop offset from entry in price units
  Shares, Contracts: position size in shares/units, or in futures contracts
  PV: point value, currency gained or lost per contract for a 1.0 price move (1 for stocks)
```

Seed the ATR as the simple average of the first n true ranges.

The Turtle unit rule is the special case r = 0.01, n = 20, m = 1.

A portfolio level variant targets volatility directly, sizing notional exposure as equity × target volatility / realized volatility.

## How traders use it

- Per trade: size as risk dollars divided by an ATR multiple and place the stop at that same multiple, so nearly every trade risks about one unit; the math is [fixed fractional](https://www.luxalgo.com/library/concept/fixed-fractional/) with volatility as the denominator.
- Per portfolio: scale each sleeve toward a common volatility target so a quiet rates future and a fast crypto pair contribute similar estimated variance, mechanically de-levering when measured volatility rises.
- For cross-market ranking: momentum baskets size positions by volatility so the ranking signal, not the loudest instrument, determines what drives the equity curve.
- For add-on control: [pyramiding](https://www.luxalgo.com/library/concept/pyramiding/) in volatility units, as in the Turtle rules, spaces additional entries and caps total exposure in the same terms the initial size used, keeping the position's risk arithmetic consistent.
- As standing de-risking: portfolio versions shrink weights when measured volatility rises and restore them as it settles, automating a cut-exposure decision that discretionary [loss-control rules](https://www.luxalgo.com/library/concept/loss-control-rules/) would otherwise have to make mid-drawdown.

## Volatility-targeted sizing vs. related risk frameworks

- **Fixed Fractional** (https://www.luxalgo.com/library/concept/fixed-fractional/): Fixed fractional fixes the fraction of equity risked per trade but needs a stop distance from somewhere; volatility targeting supplies that distance from ATR or realized volatility. In per-trade form the two combine into one formula rather than compete.
- **Volatility Stop** (https://www.luxalgo.com/library/concept/volatility-stop/): A volatility stop places the exit at a volatility-scaled distance from price; volatility-targeted sizing decides how many units to hold given such a distance. They are two halves of one trade plan and typically share the same ATR multiple.
- **Sizing Bases** (https://www.luxalgo.com/library/concept/sizing-bases/): Sizing bases concerns what the risk budget is computed from: current equity, starting capital, or a fixed amount. Volatility targeting concerns converting that budget into units, so the two choices stack rather than conflict.

## FAQ

### How do you calculate ATR-based position size?

Pick the dollar risk for the trade, pick the ATR multiple that defines the stop distance, then divide: size equals risk dollars divided by the multiple times ATR times the instrument's per-point value. Example: $300 of risk with a stop at 2 x ATR of $1.50 gives 100 shares. Recompute every trade, because ATR changes constantly.

### Does volatility targeting actually reduce risk?

It equalizes estimated risk across positions and through time, which is a budgeting improvement, not a ceiling on losses. Estimates lag reality: a gap or volatility spike hits the position sized for the old regime before any model can shrink it. Treat the target as a way to standardize exposure, and keep separate limits for scenarios the estimate cannot see coming.

### What ATR multiple should I use for position sizing?

There is no universally correct multiple; published systems commonly sit between about 1.5 and 4. The multiple really belongs to the stop, which must clear normal noise for your timeframe, and the size follows from it. A wider multiple does not raise per-trade risk; it lowers the unit count while risk stays near budget.

### What did the Turtle traders mean by N?

N was their volatility unit, a smoothed 20-day average of true range. Position size was set so a one-N adverse move cost about one percent of the account, and add-ons were spaced in fractions of N. Modern ATR-based sizing is the same arithmetic under a newer name.

### How is per-trade sizing different from portfolio volatility targeting?

Per-trade sizing sets each position from its own stop distance at entry. Portfolio targeting scales the whole book, or each sleeve, toward a stated annualized volatility using a recent realized estimate, adjusting continuously rather than only at entries. Same principle at different levels of the stack.

### Why can a loss exceed the amount the sizing targeted?

Because estimates lag and prices gap. Stops can slip in fast markets, gaps can jump past them entirely, and a volatility spike hits positions sized for the prior regime before any lookback registers it. Volatility targeting budgets risk; separate portfolio-level limits handle the scenarios it cannot see.

## Implementations in the Library

- Multi-Strategy Portfolio Optimizer (LuxAlgo): https://www.luxalgo.com/library/indicator/multi-strategy-portfolio-optimizer/

## Related concepts

- Fixed Fractional: https://www.luxalgo.com/library/concept/fixed-fractional/
- Fixed Ratio: https://www.luxalgo.com/library/concept/fixed-ratio/
- Sizing Bases: https://www.luxalgo.com/library/concept/sizing-bases/
- Portfolio-aware Sizing: https://www.luxalgo.com/library/concept/portfolio-aware-sizing/
- Pyramiding: https://www.luxalgo.com/library/concept/pyramiding/
- Averaging Down: https://www.luxalgo.com/library/concept/averaging-down/
- DCA: https://www.luxalgo.com/library/concept/dca/
- Martingale / Anti-martingale: https://www.luxalgo.com/library/concept/martingale-anti-martingale/
- Kelly Criterion: https://www.luxalgo.com/library/concept/kelly-criterion/
- Optimal F: https://www.luxalgo.com/library/concept/optimal-f/

---

Source: https://www.luxalgo.com/library/concept/volatility-targeted-sizing/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/