Annualizing Volatility from Daily Returns with Limited Data
Summary
The document asks how to estimate monthly stock volatility when only about a month of daily closing prices is available. Its answer uses the standard square-root-of-time scaling under an assumption that daily log returns are independent and identically distributed. Monthly volatility is estimated by multiplying daily volatility by the square root of the assumed number of trading days in a month; annual volatility uses the corresponding yearly trading-day count.
The answer also corrects a notation misunderstanding: the example’s monthly calculation uses a square-root multiplier, not a direct multiplication by the number of days. The method explains how to scale a daily estimate, but it does not make a short sample more reliable or establish that a year of data is required for correctness. Estimates from limited observations remain uncertain, and the scaling can fail when returns are dependent or volatility changes over time. The response does not discuss confidence intervals, alternative estimators, or adjustments for non-trading days.
Key ideas
- Daily volatility can be scaled to a longer horizon by the square root of the number of trading periods, under independent and identically distributed returns.
- Monthly and annual estimates use different assumed counts of trading days.
- The example’s monthly scaling uses a square root, rather than multiplying daily volatility directly by the period count.
- A short return history can produce an uncertain estimate, and the scaling assumption may not hold when volatility or return dependence changes.
Tags
Full text
# Volatility for time periods with little data
# Volatility for time periods with little data
When I want the monthly volatility of stock and I only have data for about one month and I do calculation like this:
```
Date Close Daily Returns STDEV STDEV * 24
2015-07-15 162.1
2015-07-14 164.5 0.0148056755 0.0165791585 0.0812209576
2015-07-13 165 0.0030395137
2015-07-10 160.7 -0.0260606061
2015-07-09 158 -0.0168014935
2015-07-08 154.2 -0.0240506329
2015-07-07 154.6 0.0025940337
2015-07-06 157.5 0.0187580854
2015-07-03 160.8 0.020952381
2015-07-02 161.2 0.0024875622
2015-07-01 161 -0.0012406948
2015-06-30 156.1 -0.0304347826
2015-06-29 158 0.0121716848
2015-06-26 162.5 0.0284810127
2015-06-25 162 -0.0030769231
2015-06-24 160.7 -0.0080246914
2015-06-23 162.9 0.0136901058
2015-06-22 159.4 -0.021485574
2015-06-19 156.6 -0.017565872
2015-06-16 157.8 0.0076628352
2015-06-15 156 -0.0114068441
2015-06-12 159 0.0192307692
2015-06-11 158.9 -0.0006289308
2015-06-10 159.3 0.0025173065
```
So I get 8.1% in monthly volatility. Is this correct calculation or do I have to have one year of data for it to be "correct"? Cheers
## Answer by rbm (score 4)
https://quant.stackexchange.com/a/26338
Not sure why you're multiplying by 24?
EDIT: got confused by your `STDEV * 24`, you meant (and calculated) `STDEV * SQRT(24)`
If $X_i$ is random variable representing daily log returns, and assuming that log returns are i.i.d. then volatility of monthly return is
$\sigma_{monthly}=\sqrt{21}\times\sigma_{daily}$
(assuming 252 days a year, i.e. $252/12=21$ per month).
and consequently, the yearly vol is
$\sigma_{annual}=\sqrt{252}\times\sigma_{daily}$Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.