AdaptiveStatistical
◆ The PatternNormalize position size by asset volatility
Different assets have different volatilities. A 100-share position in a 40 % vol stock carries far more risk than in a 10 % vol stock. Volatility sizing equalizes dollar-risk:
Shares = Target $ Risk / (N × ATR)
N is a multiplier (e.g. 2× ATR). The Turtle Traders famously used this approach. Each position contributes roughly equally to portfolio P&L variance.
// Volatility sizing — equal dollar-risk positions
Pattern bridge: ATR computation is explained in Indicators — ATR.
Worked example
Two 50-dollar stocks, one with an ATR of 1.0 and one with 2.5. Risking 1,000 per trade with a stop at 2 × ATR gives 500 shares (25,000) of the steady stock and 200 shares (10,000) of the jumpy one. Different position sizes, the same loss if the stop is hit.
Where it misleads
- ATR measures recent volatility; the position is sized for the last two weeks, not the next shock.
- It equalizes each position’s risk but ignores correlation between them.
- Scaling exposure down when volatility is high has helped historically (Moreira & Muir 2017), but it means selling into turbulence.
In code
risk_per_trade, n = 1_000, 2 # dollars at risk, stop at 2 x ATR
assets = pd.DataFrame({'price': [50, 50], 'atr': [1.0, 2.5]}, index=['steady', 'jumpy'])
assets['shares'] = (risk_per_trade / (n * assets.atr)).astype(int)
assets['position'] = assets.shares * assets.priceAssumes import numpy as np and import pandas as pd. Each snippet carries its own example numbers; the comments say which are made up or simulated.
Sources
- Way of the Turtle, C. Faith, McGraw-Hill, 2007
- New Concepts in Technical Trading Systems, J. W. Wilder Jr., 1978 — ATR
- A. Moreira & T. Muir, “Volatility-Managed Portfolios”, Journal of Finance 72(4), 2017
Last reviewed October 2026 · How this site checks its content · Report a mistake
Linked from 3
- Pattern EssaysThe Coiled SpringQuiet gathers before loud. A narrowing range warns about size, not direction
- ML MathWeight InitializationHow you start determines if you converge — Xavier, He, and why they matter
- MLOps & Production MLAuto-Scaling EndpointsScaling with demand — and scaling back to save money