What is historical volatility and how is it annualized?
Published · Updated
Historical volatility, also called realized volatility, measures how much a price actually moved over a past window. It is the standard deviation of daily returns, scaled to a year by the square root of the number of trading days, which is 252 for US stocks and usually 365 for crypto. Owl Mastery's Volatility (20D) is the sample standard deviation of the last 20 daily log returns, times the square root of 252, times 100.
How historical volatility is calculated
Historical volatility is a standard deviation of returns. A higher number means bigger day-to-day moves, in either direction. The usual steps are:
- Take the daily returns over the window. Owl Mastery uses log returns,
ln(close / previous close). For small moves a log return is close to the percentage change, and log returns add across several days. - Take the sample standard deviation of those returns. Average them, add up the squared distance of each return from that average, divide by the number of returns minus one, and take the square root.
- Annualize the result by multiplying it by the square root of the number of trading days in a year.
- Multiply by 100 to state it as a percentage.
The square root comes from how variance grows over time. When daily returns are independent, their variances add up, so a year's variance is the daily variance times the number of trading days. The standard deviation is the square root of the variance, so it grows with the square root of time. The step also works in reverse. Dividing an annual volatility by the square root of 252 gives the size of a typical one-day move, which is how Owl Mastery's 1-day range turns IV30 into a one-day expected move.
How Owl Mastery computes Volatility (20D)
Volatility (20D) is the sample standard deviation of the last 20 daily log returns, times the
square root of 252, times 100. As a formula: stdev(last 20 daily log returns) × √252 × 100. Twenty returns need 21 closes and
cover about four weeks of trading. Owl Mastery computes it from each stock's one-year daily bars
and updates it once a day, after each US market close. The methodology lists it with the other signals.
252 against 365: annualizing stocks and crypto
The number under the square root should match how many returns the asset has in a year. US exchanges are closed on weekends and holidays. A stock's Monday return covers the whole weekend, but it is still one of about 252 returns in the year. Crypto trades every day, so it has 365 daily returns a year.
| US stocks | Crypto | |
|---|---|---|
| Daily returns per year | About 252 | 365 |
| Annualizing factor | √252, about 15.9 | √365, about 19.1 |
| Weekend days in the data | No | Yes |
| In Owl Mastery | Volatility (20D) uses √252 | Not covered |
For the same daily standard deviation, the 365 convention gives a figure about 1.2 times higher, because √(365 / 252) is about 1.2. Annualizing crypto returns with 252 understates their yearly volatility, and annualizing stock returns with 365 overstates it. The glossary entry on annualizing sums this up.
Historical against implied volatility
| Historical (realized) | Implied | |
|---|---|---|
| Source | Past closing prices | Current option prices |
| Direction | Looks back | Looks ahead |
| Question it answers | How much did price move? | How much movement do options price in? |
| In Owl Mastery | Volatility (20D) | IV30, used in the 1-day range |
Compare the two. When implied volatility sits well above recent historical volatility, options are pricing in more movement than the stock has shown lately. When it sits below, they are pricing in less. Either can turn out wrong.
How to read historical volatility
- Against its own history. A 20-day reading well above a stock's usual range says recent trading has had larger daily moves than normal for that stock.
- For position size. Bigger daily swings mean a given position carries more risk. Volatility measures how large those swings have been.
- Against implied volatility. The gap between the two shows whether options look expensive or cheap next to recent moves.
The SPX page shows the S&P 500's latest Volatility (20D) with the other signals.
Historical volatility on crypto
- Use 365. Crypto has a return for every day of the year, so crypto volatility is usually annualized with the square root of 365.
- No market close. Crypto trades around the clock, so each daily return runs from one cut-off time to the next, such as midnight UTC. A different cut-off gives different daily returns and a different volatility.
- Shorter in calendar time. On crypto, 20 daily returns cover 20 calendar days, under three weeks. On a US stock, 20 returns cover about four weeks.
Owl Mastery currently covers US stocks and indexes only, so it shows no crypto volatility. The calculation above, with 365 in place of 252, is the standard crypto version.
Limits of historical volatility
- It looks back. It measures moves that already happened. A calm stretch can end without warning.
- The window decides the number. A 20-day window reacts fast. One very large day lifts it, and the reading drops 20 trading days later when that day leaves the window, even if nothing else changed.
- Closes only. A swing that reverses within the day does not show up in daily close-to-close returns.
- An approximation. Scaling by the square root of time assumes each day's return is independent of the last, which real markets only roughly follow.
- Once a day. Owl Mastery's reading updates after each US close and does not change during the session.
Frequently asked questions
What counts as high historical volatility?
It depends on the asset. A reading is high or low only against that asset's own past readings or against similar assets. Comparing a stock's current 20-day volatility with its own history says more than any fixed cut-off.
Why annualize stock volatility with 252 days instead of 365?
US stock exchanges are open about 252 days a year, so a year has about 252 daily returns. Annualizing with the number of trading days matches the number of returns. Crypto trades every day, so 365 is the usual choice there.
What is the difference between historical and implied volatility?
Historical volatility measures how much price did move, from past returns. Implied volatility is worked back from current option prices and shows how much movement the options market prices in. Both are quoted as annualized percentages.
Can I compare stock volatility with crypto volatility?
Only when both use the same annualization. The same daily returns give a figure about 1.2 times higher with 365 than with 252, because the square root of 365 divided by 252 is about 1.2. Convert one figure to the other convention before comparing.