Estimating Annualized Stock Volatility from Weekly Prices
Summary
This discussion explains how to estimate annualized volatility from a sequence of weekly stock prices. The method is to calculate consecutive log returns, find their sample standard deviation to estimate weekly volatility, then scale it by the square root of the number of weeks per year. The questioner's unusually large result comes from an incorrectly constructed return series: returns should compare each price with the immediately preceding price, rather than use the stated mismatched indices. The replies also clarify that the count of return observations is already reflected in the standard deviation calculation; dividing by the square root of the total observation period is not the annualization step as applied here.
The exchange provides a practical check on the calculation: the weekly return dispersion should be small given the listed price changes, and annualizing uses the weekly interval, not the entire sample span. The discussion is limited to a short historical sample and does not address estimator choice, changing volatility, or whether the estimate is suitable for option pricing.
Key ideas
- Compute log returns from each price and its immediately preceding observation.
- The standard deviation of weekly log returns estimates volatility at a weekly frequency.
- Annualize weekly volatility by multiplying by the square root of weeks per year.
- The number of return observations is already included in the standard deviation calculation.
Tags
Full text
# Calculating historical Volatility for the Black Scholes Model
# Calculating historical Volatility for the Black Scholes Model
Below is a problem from the book "Options, Futures, and other Derivatives" by John C. Hull. I did the problem but I am fairly sure that my answer is wrong. I am hoping that somebody can tell me where I went wrong? Thanks, Bob
Problem: Suppose that observations on a stock price(in dollars) at the end of each $15$ consecutive weeks are as follows: $30.2$, $32.0$, $31.1$, $30.1$, $30.2$, $30.3$, $30.6$, $33.0$, $32.9$, $33.0$, $33.5$, $33.5$, $33.7$, $33.5$, $33.2$ Estimate the stock price volatility. Answer: Let the closing prices be denoted by $S$. \begin{eqnarray*} u_i &=& \ln{ \bigg( \frac {S_1} {S_{i-1}} \bigg) } \\ \end{eqnarray*} Using R, I find that: \begin{eqnarray*} u &=& 0.057893978 \,\, -0.028528084 \,\, -0.032682647 \\ && 0.003316753 \,\, -0.006644543 \,\, -2.302585093 \\ && 2.322387720 \,\, 0.075507553 \,\, -0.003034904 \\ && 0.003034904 \,\, 0.015037877 \,\, 0.000000000 \\ && 0.005952399 \,\, -0.005952399 \,\, -0.008995563 \\ \end{eqnarray*} Now using $R$, I find that the standard deviation of $u$ is $0.8744864$. Call that value $s$. I will call the volatility of the stock to be $\sigma$. Now let $\tau$ be the length of time we observed the value of the stock for. \begin{eqnarray*} \sigma &=&\frac{s}{\sqrt{\tau}} \\ \tau &=& \frac{14}{52} = 0.2692308 \\ \sigma &=& \frac{0.8744864}{\sqrt{ 0.2692308}} \\ \sigma &=& 1.6853523 \\ \end{eqnarray*} This number seems way off to me. What did I do wrong? It also seems strange to me that in the last step you are dividend by $\sqrt{\tau}$ but that is the procedure given in the book.
## Answer by Magic is in the chain (score 0, accepted)
https://quant.stackexchange.com/a/41848
Does this sound more reasonable?
To annualise the weekly std dev, you need to multiply by the square root of 52.
Let me know if you spot any typo.
Re-comment, 14 is the number of return observations, so it is already incorporated in the calculation of weekly std dev (2.88%). I think the author might have implied that if the observations that you use for stddev calculations have an interval of tau in years (daily=1/252, weekly=1/52, monthly=1/12), then you divide the computed std dev by sqrt(tau), which is sqrt(1/52) in your case. Now dividing by 1/sqrt(52) is same as multiplying by sqrt(52), and that’s exactly the factor you need to multiply 2.88% by to get the answer.
## Answer by Ivan (score 0)
https://quant.stackexchange.com/a/41846
The division is correct but more often you’ll find a multiplication by the inverse of $\sqrt{\tau}$ instead.
Your vector of returns $u$ has gone wrong somehow, there is simply no way you would have numbers over the 0.05 area with the prices provided.
Additionally you would calculate the standard deviation of $\ln{\frac{S_i}{S_{i-1}}}$, do you have a typo there or a logical error ?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.