Annualizing GARCH Volatility Forecasts for Option Hedging
Summary
The document discusses fitting a GARCH(1,1) model to log returns and using its volatility estimates to calculate Black–Scholes option prices and deltas. The questioner asks how to turn multi-day forecasts into an annualized volatility input and how to use rolling estimates for future hedges. The answer explains that annualization conventionally scales a one-period standard deviation by the square root of the number of periods per year; it gives daily volatility and trading days as an example.
It also clarifies that a GARCH model uses the observed history to forecast next-period volatility, while the chosen data window or weighting scheme affects how recent or long-term observations influence estimates. The response does not detail package-specific settings or derive how to aggregate changing daily variance forecasts over a multi-day option horizon. The proposed use of model-based deltas is intended for backtesting against implied-volatility-based hedging, but no test results are reported.
Key ideas
- Annualized volatility is commonly obtained by scaling one-period volatility by the square root of periods per year.
- A GARCH forecast uses past observations to estimate volatility for the next period.
- Observation weighting or window choice can emphasize recent behavior or longer-term history.
- The document proposes comparing GARCH-derived option deltas with deltas based on implied volatility.
Tags
Full text
# GARCH(1,1) prediction in R - Basic Questions # GARCH(1,1) prediction in R - Basic Questions Background to question: Hi, I was trying to fit a GARCH(1,1) model to the variance of log returns of a series, and ARMA(0,0) for the mean. I was using the fGarch package to do this. The aim of the modeling is to generate a predicted volatility number to feed into the Black-Scholes model to an generate option price and therefore option deltas. I plan to backtest the delta from GARCH volatility to hedge my option positions (as opposed to deltas derived from implied vol prices). Questions: A) This might be a very noob question: I used the 'predict' function in the package to generate a 'n-day ahead' volatility forecast. As I understand GARCH, these numbers are annualized standard deviation numbers. To hedge a 1 month option I want to forecast 30 day volatility. I can simply put 'n-days ahead = 30 to get the numbers, but how do I combine those 30 numbers to get a annualized vol number? B) Could anyone also please explain how to use the nroll argument in the package? Basically I want rolling GARCH estimates of volatility. For example, at day 10, I want to use the past 10 days of data to get a vol prediction for day 11, at day 50 I want to use 50 days of data for vol prediction of day 51 etc. Any help would be greatly appreciated. ## Answer by htrahdis (score 1, accepted) https://quant.stackexchange.com/a/9221 Annualized volatility is not calculated generally by forecasting the volatility n days ahead. what is done is that the next period volatility is calculated and then it is multiplied by square root of n where n is the number of the periods contained in the year as the scaling factor. so if you calculate daily volatility and the number of trading days is 250 then the annual volatility is the next period standard deviation multiplied by square root of 250. GARCH already uses all the past days data to predict the next period volatility. what you can do is to assign more weightage to the recent days values if you want 11 days or give more importance to longer term values if you want 50 values.
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.