SPY closed at $558.12 on April 2, 2025. The next day it dropped to $530.62. The day after that, $499.55. Then on April 9 it ripped back to $542.40 in a single session. Four trading days, a 10.5% drawdown, and a 10.5% recovery. If you were sizing positions based on what SPY had been doing in March, you were too big.
That is the problem Historical Volatility solves. It measures how much price actually moved over a recent window. Not how much it might move. Not how much the options market thinks it will move. What it did. And knowing what a stock did last month tells you more about how to size your next trade than any directional indicator on the chart.
I use Historical Volatility more for position sizing and trade filtering than for generating signals. When HV is low, I expect a move is building. When HV is high, I know I need smaller positions or wider stops. It is a simple concept backed by straightforward math, but most traders skip it because the formula looks intimidating. It is not.
What Historical Volatility Actually Measures
Historical Volatility (HV) measures the annualized standard deviation of logarithmic price returns over a lookback period. That is a dense sentence. Here is what it means in plain terms: HV tells you the typical size of daily price moves, scaled up to an annual number so you can compare it across timeframes and instruments.
A stock with 20% HV moves roughly 1.26% per day on average (20% divided by the square root of 252 trading days). A stock with 60% HV moves roughly 3.78% per day. The difference between those two numbers changes everything about how you manage a position.
HV is also called realized volatility. The word “historical” is the key distinction. Implied volatility looks forward through options pricing. Historical volatility looks backward at what actually happened. Both are useful. But only one is based on fact.
The Formula
The standard calculation uses close-to-close log returns. Here is the full process.
Step 1: Calculate the natural log return for each day.
r_t = \ln\left(\frac{C_t}{C_{t-1}}\right)Step 2: Find the mean of those returns over N periods.
\bar{r} = \frac{1}{N} \sum_{t=1}^{N} r_tStep 3: Calculate the standard deviation using the sample formula (dividing by N-1).
\sigma_{daily} = \sqrt{\frac{1}{N-1} \sum_{t=1}^{N} (r_t - \bar{r})^2}Step 4: Annualize by multiplying by the square root of 252 (the number of trading days in a year).
HV = \sigma_{daily} \times \sqrt{252}Why log returns instead of simple percentage changes? Log returns are additive across time periods and symmetric around zero. A 10% gain followed by a 10% loss in simple returns does not get you back to even. With log returns, the math works cleanly. For short lookback windows, the difference is small. Over longer windows, it matters.
A Worked Example with Real Prices
AAPL from August 4 to August 8, 2025. I will walk through a 5-day window to show the mechanics. In practice you would use 20 or 30 days, but the process is identical.
The closing prices (verified via Yahoo Finance):
August 4: $202.73. August 5: $202.30. August 6: $212.60. August 7: $219.36. August 8: $228.65.
Step 1: Log returns.
\ln(202.30 / 202.73) = -0.00212 \ln(212.60 / 202.30) = +0.04965 \ln(219.36 / 212.60) = +0.03130 \ln(228.65 / 219.36) = +0.04146Step 2: Mean return = (-0.00212 + 0.04965 + 0.03130 + 0.04146) / 4 = 0.03007.
Step 3: Deviations from the mean, squared, then summed. Variance = 0.001551 / 3 = 0.000517. Daily standard deviation = 0.02274.
Step 4: Annualize. 0.02274 \times \sqrt{252} = 0.361, or about 36.1%.
AAPL’s HV during this five-day stretch was roughly 36%, driven by the sharp rally from $202 to $228. That is an elevated reading. For context, AAPL typically trades at 20-30% HV during calm periods. The spike here reflected a rapid repricing after a volatile earnings season, not a slow grind higher.
Comparing High and Low Volatility Regimes
The real value of HV shows up when you compare two different environments using the same instrument.
SPY in early April 2025 was chaotic. Between April 2 and April 9, the daily closes were $558.12, $530.62, $499.55, $498.66, $490.85, and $542.40. Daily moves of -4.9%, -5.9%, -0.2%, -1.6%, and +10.5%. A 20-day HV reading through that window would have been north of 50% annualized. For SPY, that is extreme. It had not printed numbers like that since March 2020.
Fast forward to July 2025. SPY traded between $615 and $632 for the entire month. Daily moves were consistently under 1%. On July 22, the close was $623.57. On July 23, $628.88. On July 24, $629.08. The 20-day HV through late July was below 10% annualized. Calm, orderly, range-bound.
Same instrument, same chart, completely different risk profiles. A trader using the same position size and stop distance in both environments is making two fundamentally different bets. In April, a 2% stop on SPY meant risking about $10 per share. In July, a 2% stop was about $12.50 per share, but the probability of getting stopped out randomly was much lower because daily moves were a fraction of that.
I pay more attention to HV when it is shifting regimes than when it is sitting at a stable level. The transition from low HV to high HV is usually faster and more violent than the reverse. Volatility tends to cluster: big moves follow big moves. The April 2025 sequence is a textbook case. Once the first large daily move appeared on April 3, the next several sessions stayed elevated.
Choosing a Lookback Period
The most common lookback is 20 days, roughly one trading month. It is the default on most charting platforms and a reasonable starting point.
Shorter lookbacks (5-10 days) react faster to regime changes but produce noisy readings. A single outlier day can spike a 5-day HV reading dramatically. Longer lookbacks (50-100 days) smooth the signal but lag behind transitions. By the time a 100-day HV reading shows elevated volatility, you have already lived through the worst of it.
I use 20-day HV as my default and sometimes plot a 10-day alongside it. When the 10-day crosses above the 20-day sharply, it confirms that a new volatility regime is underway rather than just a one-day anomaly. It is similar in concept to using a fast and slow moving average, except applied to volatility rather than price.
There is no correct lookback for every situation. The right question is: how far back is still relevant to the current market environment? If a major catalyst just hit, a 50-day lookback dilutes the signal with data from a period that no longer represents reality.
HV for Position Sizing
This is where Historical Volatility earns its keep. The basic idea: adjust your position size inversely to volatility. When HV is high, trade smaller. When HV is low, you can afford to trade larger relative to your account.
A simple approach. Suppose you risk 1% of a $50,000 account per trade, or $500. You want to set your stop at 1x the average daily range, which you can estimate from HV.
AAPL on August 8, 2025 closed at $228.65 with a short-term HV of about 36%. That implies a daily standard deviation of roughly $4.12 per share (228.65 times 0.361 divided by 15.87). If your stop is $4.12 away from entry, you can buy 121 shares ($500 / $4.12).
Now consider AAPL in mid-July 2025 when it traded around $210 with a calmer HV near 18%. The implied daily move was about $2.38. Same $500 risk budget, but now you can buy 210 shares. The tighter expected daily range allows a larger position without increasing dollar risk.
This is not a magic formula. It is common sense formalized. When price is whipping around, you should be smaller. When price is orderly, you can lean in. HV gives you the number to make that adjustment systematic rather than emotional.
HV Compression and Breakout Trading
Low HV does not last forever. Periods of compressed volatility tend to resolve into expansions, and those expansions often produce the cleanest breakout trades.
The mechanism is straightforward. Low HV means price is making small daily moves. Small daily moves mean the market is in a tight range. Tight ranges eventually break. When they do, the move tends to be proportional to how long the compression lasted.
This is the same principle behind Bollinger Band Width squeezes. Bollinger Bands are plotted at 2 standard deviations from a moving average. When HV drops, the bands narrow. When HV expands, they widen. Bollinger Band Width is effectively a visual representation of Historical Volatility applied to a moving average envelope.
I look for periods where 20-day HV drops below its own 6-month average. That tells me the current regime is unusually quiet relative to what the instrument normally does. I do not trade the HV reading directly. Instead, I use it as a filter: when HV is compressed, I watch more closely for breakout setups. When HV is already elevated, I know that most of the easy directional move has probably happened.
Keltner Channel Width measures a similar concept using Average True Range instead of standard deviation. The two indicators often agree, but they can diverge when gap activity is high, since ATR captures gaps explicitly while close-to-close HV does not.
Historical Volatility vs. Implied Volatility
If you trade options, the relationship between HV and IV is one of the most useful signals available. IV reflects the market’s forward expectation of volatility, priced into options premiums. HV reflects what actually happened.
When IV is significantly higher than HV, options are expensive relative to recent realized movement. Sellers have an edge. When IV drops below HV, options are cheap relative to what price has been doing. Buyers have an edge.
This comparison is often called the volatility risk premium. Over long periods, IV tends to overstate future realized volatility. That persistent gap is why selling options can be profitable as a strategy, though the tail risk is real when HV suddenly spikes beyond what IV anticipated.
For equity traders who do not touch options, the IV-HV spread still matters indirectly. A wide gap where IV is elevated and HV is low often precedes earnings announcements or known catalysts. The options market is pricing in an expected jump that has not shown up in recent price action yet. That is a signal to be cautious with directional positions through the event.
What HV Does Not Tell You
HV measures the magnitude of moves, not their direction. A stock that gains 2% every day and a stock that drops 2% every day have identical Historical Volatility readings. This is a feature, not a bug. Volatility is about uncertainty and risk, not about being bullish or bearish.
HV also ignores intraday movement entirely when calculated from closing prices. A stock that opens at $100, drops to $90, and closes at $100 has a close-to-close return of zero. The volatility you experienced as a trader that day was real, but the standard HV formula does not capture it.
More advanced estimators like Parkinson (using high-low range), Garman-Klass (using OHLC), and Yang-Zhang (combining overnight and intraday components) address this gap. For most daily chart traders, close-to-close HV is sufficient. If you trade intraday or need precision for options pricing, the range-based estimators are worth exploring.
HV also has no predictive component built in. It tells you what happened, not what will happen next. The assumption that recent volatility persists into the near future is usually correct over short horizons, because volatility clusters. But it breaks down around catalysts, earnings, and macro events. A stock sitting at 15% HV the day before an earnings release can jump to 50% the day after.
Practical Rules I Follow
After years of watching HV readings across different instruments, a few patterns hold up consistently.
Low HV below the 6-month average on the daily chart means something is building. I do not know the direction, but I know that the next move is more likely to be larger than recent moves. This is the time to prepare watchlists and tighten entry criteria rather than step away because “nothing is happening.”
HV above 40% annualized on an individual stock means I cut my standard position size in half. The math supports it and so does the experience. Elevated HV means wider swings, wider stops, and more frequent stop-outs if you are sized normally.
I never use HV as a standalone trade signal. It tells me the environment, not the direction. I pair it with trend indicators like the Average Directional Index for trend strength, or Choppiness Index for regime identification. HV answers “how big?” while directional tools answer “which way?”
When HV on SPY is rising, I reduce overall portfolio exposure regardless of individual stock setups. Market-wide volatility expansion affects everything. You might have the best chart setup on a single name, but if the broad market is in a volatility spike, correlations increase and diversification breaks down.
When Volatility Tells You to Pay Attention
Historical Volatility is not glamorous. It does not flash buy or sell signals. It does not draw arrows on the chart or trigger alerts. What it does is keep you honest about the environment you are trading in. The traders who survived April 2025 without blowing up their accounts were the ones who recognized, before or during the event, that the rules of engagement had changed. HV is how you measure that change.
The formula is simple. The data is free. The discipline to actually adjust your behavior based on what it tells you is the hard part.
Educational content only. Not investment advice. Trading involves risk. You are responsible for your decisions.
