What volatility actually is#
Volatility is the size of price moves, ignoring their direction. A stock that swings 3% a day is more volatile than one that drifts 0.3% a day, even if both end the year flat. Volatility matters for two practical reasons. It sets position size: a volatile holding needs to be smaller to produce the same portfolio-level risk. And it sets expectations: knowing that 2% days are normal for a holding is the difference between sleeping through one and panic-selling into it.
Pyx gives you four views of volatility. Three are chart indicators: Bollinger Bands, ATR, and drawdown. The fourth, annualized volatility, is computed for the whole portfolio on the Performance page.
Bollinger Bands#
Bollinger Bands wrap a moving average in an envelope that widens when prices get jumpy and tightens when they calm down. John Bollinger's idea was to make "a big move" a statistical statement instead of a gut feeling.
The middle band is a 20-bar simple moving average. The upper and lower bands sit two standard deviations away, computed as the population standard deviation of the same 20 closes. If prices were normally distributed, about 95% of closes would land inside the bands. Real returns have fatter tails than that, so excursions outside happen more often than the theory says.
How to read them:
- Band touches are context, not signals. A close at the upper band in a range with flat bands is a stretch. The same close in an uptrend with rising bands is just a trend doing its job. Price can walk the upper band for weeks in a strong move.
- The squeeze. When the bands pinch to a multi-month narrow, volatility has compressed. Squeezes often precede a directional break, but they say nothing about which direction. A squeeze is a setup, not a signal.
- The middle band acts as the mean price tends to revisit in calm regimes.
Selling automatically because price tagged the upper band is the most common beginner error with this indicator, and the most expensive one in trends.
Average True Range (ATR)#
ATR answers a plain question: how much does this thing typically move in a bar. Wilder built it around the true range, which counts overnight gaps as movement, not just the intraday high-to-low span.
Pyx averages the true range with a plain simple moving average rather than Wilder's original smoothing. That is a deliberate deviation: the SMA version reacts faster to volatility shifts, at the cost of exact comparability with textbook ATR values from other tools.
ATR is denominated in dollars, not percent. An ATR of 3.50 on a $200 stock says daily ranges of three to four dollars are the current normal. That number is directly useful for two things. Position sizing: dividing the dollars you are willing to risk by the ATR gives a volatility-adjusted share count. And stop distance intuition: a stop closer to the price than one ATR is likely to be hit by ordinary noise rather than by being wrong.
Two cautions. ATR is directionless, so a spike reads identically in a crash and a melt-up. And because it is in price units, comparing raw ATR across different stocks means nothing without dividing by price first.
Drawdown#
Drawdown measures the damage: how far the series sits below the highest point it has reached so far.
The series is zero at every new high and negative everywhere else. A reading of -15 means price is 15% below its running peak. In Pyx the peak is computed over the loaded chart window, so changing the visible range changes the reference peak.
Drawdown forces an asymmetry into view that percentages hide:
| Loss | Gain required to recover |
|---|---|
| -10% | +11.1% |
| -20% | +25% |
| -33% | +50% |
| -50% | +100% |
A 50% loss needs a 100% gain just to get back to even. That arithmetic is why deep drawdowns dominate long-term results, and why the depth you can tolerate without selling is a more useful self-knowledge than any return target. The 20% threshold is the conventional definition of a bear market in equities.
The same math runs at the portfolio level: the Performance page reports your maximum drawdown, the deepest peak-to-trough fall of your whole portfolio over the selected window. Details in the Performance guide.
Annualized volatility#
The portfolio-level companion number. Pyx computes the day-to-day percentage changes of portfolio value, takes their sample standard deviation, and scales to a yearly figure:
An annualized volatility of 15% roughly means that a one-standard-deviation year moves the portfolio 15% in either direction. Broad equity index funds have historically lived in the 15 to 20% zone; a single tech stock can run two or three times that. The number is descriptive and backward-looking. It tells you how bumpy the recent ride was, and recent bumpiness is only a rough forecast of future bumpiness.
Reading the four together#
They answer different questions. Bollinger Bands: is this move large relative to recent noise. ATR: what is normal daily movement in dollars. Drawdown: how bad has it gotten from the top. Annualized volatility: how bumpy is the whole portfolio, on a scale comparable across assets and years. None of them forecast. All of them replace vague unease with a number, which is usually the first step to not overreacting.
Where to go next#
Add any of these to a chart in the chart workspace, or see how volume confirms or undermines a move in OBV and rolling correlation.