Volatility position sizer aggressive
Position-size multiplier from current volatility: 2.0 in calm tape, 1.0 normal, 0.5 volatile.
This indicator does not measure price. It takes the average true range over atr_period bars (ATR, Wilder-smoothed, 14 by default) and divides it by the close, giving the typical bar move as a share of price. Below low_vol_threshold it returns 2.0, above high_vol_threshold it returns 0.5, and it returns 1.0 in between or while ATR is still warming up. The defaults of 1% and 3% sit far above what one-minute SPY bars produce, where that ratio had a median of about 0.02% and never reached 0.11%, so the reading is 2.0 on nearly every bar.
How to read it
- The line sits in its own pane below the price and only takes the values 2.0, 1.0 or 0.5, so it moves in steps.
- 2.0 means the tape is calm enough to double the position, 0.5 means it is volatile enough to halve it, and 1.0 means normal size.
- With default thresholds it stays at 2.0 on almost every bar, so lower the thresholds before reading it as anything but a flat line.
What it outputs
- Size multiplier
- Position-size multiplier: 2.0 doubles the normal size, 1.0 keeps it, 0.5 halves it. Set by ATR as a share of price.
Settings
- atr_period
- Bars in the ATR average. Shorter follows the latest bar ranges and flips the size more often; longer smooths the reading so it changes less from bar to bar.
- low_vol_threshold
- The ATR-to-price level under which size doubles to 2.0. Raising it doubles size on more bars; 0 or below stops doubling. At the default 0.01 (1% of price) nearly every SPY bar falls under it.
- high_vol_threshold
- The ATR-to-price level over which size halves to 0.5. Lowering it brings halved readings in; at the default 0.03 (3% of price) none appear on one-minute SPY bars. Keep it above the low threshold.
Pitfalls
- Over 1 Sep to 1 Oct 2026, SPY one-minute bars read 2.0 on about 99.9% of bars at defaults, so the line looks flat and says nothing until the thresholds are lowered.
- Keep high_vol_threshold above low_vol_threshold. If it sits below, the 1.0 level disappears and every bar reads 2.0 or 0.5.
- It reads only ATR relative to price, not trend or direction, so 2.0 can hold through a steady move against a position.