Wednesday 8 Apr 2026. Nifty rose 3.78% and closed at 23,997.35. That evening the twenty session realised volatility read 29.46 and the 30 day at the money implied volatility read 17.56, both percent a year. Twenty sessions later, on 8 May 2026, the realised volatility of the sessions that followed came in at 13.45. Two numbers on one evening, both answers to "how wild will the next month be", and the next month came in at less than half of one of them. My habit with any volatility forecast is to ask three things before I trust it: what horizon, scored against what, and how often it misses by a gap like this one. Everything below comes from NSE end of day files, dated, nothing live and nothing a view on the next month.
3By the end you can
- Explain how EWMA, GARCH and HAR each turn past returns into a volatility forecast.
- Read decay and persistence, and say how fast a spike fades under each.
- Score a forecast against realised volatility on dates the model has not seen.

The idea, plainly
What does a volatility forecast actually forecast?
Volatility is never seen, only returns. One return says little about the distribution behind it: a big move can come from a calm distribution. So a forecast has two jobs, to average squared returns sensibly and to say where volatility heads when no news arrives. Two facts shape every model. Volatility clusters, because big days follow big days. And it mean reverts towards a long run level, though not on a schedule.
Each model adds one idea to the one before
The models below are four steps on one ladder. The last two need a fit to history. The first two need only a choice, and that choice is where most of the damage is done.
Why does an equal weight window fail?
In a twenty session window every return carries the same weight, 5.00 percent of the variance, until the day it leaves and drops to nothing. A forecast should not move because a day aged out. EWMA, the exponentially weighted moving average, fades the weights by a fixed factor each day, the decay. At 0.94, today's return gets 6.00 percent.
A window drops a day with a bang. EWMA lets it fade.
The maths: EWMA in two lines
Update:
s2(t) = L*s2(t-1)
+ (1-L)*r(t)^2
Weight on r(t-k):
(1-L) * L^k
Example, L = 0.94
prior variance 0.81 (%^2)
today's return 2.5%
s2 = 0.94*0.81 + 0.06*6.25
= 1.1364
Daily s.d. 1.07%;
annual: times sqrt(252)
Set L to zero and today's return is the whole estimate. Push L towards one and the estimate barely moves. The average age of the weights is L over one minus L days, about sixteen days at 0.94, so that decay reads roughly like a window of a month and a half. At 0.995 the average age is near two hundred days.
Read 2 more paragraphs, 176 words
The 8 Apr 2026 jump of 3.78% shows the difference. In the window it counts five percent of the estimate for twenty sessions, then nothing. In EWMA it counts less each day, and at twenty one days old it has barely changed. EWMA is the window with its cliff sanded off. It still has no view on where volatility goes next, so a forecast made from it is the current estimate, held flat.
The exchange uses the same device. The header of NSE's daily volatility file for F&O underlyings gives the formula: each day's variance is a share of the previous day's plus the rest from the squared log return. The decay in that file is 0.995, far slower than 0.94, so today's return gets only 0.5 percent. A decay is a choice about how much past to trust, and these two users made very different choices. At the lower decay the weights fall from 6.00 percent on day one to 4.68 on day five, 3.44 on day ten and 0.54 on day forty.
Where does GARCH add something?
EWMA forecasts flat. GARCH, the generalised autoregressive conditional heteroscedasticity model, adds a small constant that pulls variance towards a long run level, so a forecast made from a spike declines and one made from a lull rises. Everything turns on persistence: the weights on yesterday's estimate and on today's squared return, added up. At 0.97 the gap to the long run level shrinks by that factor every day.
With persistence near one, a spike takes months to fade
The maths: GARCH(1,1) and its forecast path
s2(t) = w + a*r(t-1)^2
+ b*s2(t-1)
Persistence p = a + b < 1
Long run V = w/(1-a-b)
k days ahead:
V + p^k * (s2(t)-V)
Example: w = 0.02,
a = 0.08, b = 0.89
p = 0.97, V = 0.02/0.03
= 0.667 (daily %^2)
20 day forecast: the mean
of the k day values,
k = 1 to 20
The parameters are not read off a table. They are fitted by maximum likelihood on a long return history, and they move with the sample. A fit over a calm stretch gives lower persistence than a fit that includes a crash.
Read one more paragraph, 119 words
That is 85.9 percent of the gap open after five days, 73.7 after ten, 54.4 after twenty, 29.6 after forty, 16.1 after sixty and 2.6 after a hundred and twenty. About 49.6 percent is still open after 23 days, so I read it as a half life of about a month of sessions. It also explains why a trailing window overshoots after a spike: the model expects fading, the window assumes none. In the other direction a GARCH forecast fades even if the spike was the start of a regime, and that is when it fails. A forecast for the next twenty sessions is the average of the daily forecasts over those sessions, not the value on the twentieth.
What does HAR do differently?
HAR, the heterogeneous autoregressive model, drops the latent variance and regresses the next period's realised volatility on three averages: yesterday, the last week and the last month. Different market users look at different horizons, a day trader at the day and a fund at the month, and their reactions stack into something that looks like long memory. It is a plain regression, easy to fit and easy to read.
The short window swings most. The long window is the anchor.
The maths: HAR in one line
RV(t+1) = c + bd*RVd
+ bw*RVw + bm*RVm
RVd: yesterday
RVw: mean of last 5 sessions
RVm: mean of last 22
Fit: ordinary least squares
Because it is least squares on a handful of inputs, the fit is stable and its weights are easy to read: a large weight on the month means volatility has a long memory in the sample.
Read one more paragraph, 48 words
The cone shows why three windows can carry different information. The short window swings far more than the long one, so a blend can react to news and still keep an anchor. HAR's inputs are realised volatilities, so the estimator choices of the earlier lesson matter here too.
Worked example: eight dates, one scorecard
How do you score a forecast?
Fix a start date and make the forecast from data up to that close. Wait, then measure the realised volatility of the next twenty sessions, with the same horizon, estimator and factor. The error is forecast less realised. Never score a model on the sample it was fitted on, because it has already seen the answer.
A second caution: start dates a day apart share nineteen of their twenty returns, so a hundred scored dates are not a hundred independent tests.
What do eight dates show?
I picked eight start dates spread across the file and scored two simple forecasts: the trailing twenty session realised volatility held flat, and the 30 day implied volatility, the market's own price for the same stretch. Four each. Both missed badly at the start of stress: on 6 Mar 2026 implied read 18.10 and the next twenty sessions came in at 29.46.
| Start | Trailing | Implied | Next 20 |
|---|---|---|---|
| 27 Oct 2025 | 7.98 | 10.94 | 7.12 |
| 23 Dec 2025 | 8.37 | 8.76 | 8.38 |
| 7 Jan 2026 | 6.90 | 9.68 | 15.31 |
| 19 Feb 2026 | 15.86 | 11.55 | 20.40 |
| 6 Mar 2026 | 13.99 | 18.10 | 29.46 |
| 8 Apr 2026 | 29.46 | 17.56 | 13.45 |
| 8 May 2026 | 13.45 | 15.82 | 12.84 |
| 4 Aug 2026 | 13.53 | 10.79 | 5.21 |
Realised volatility peaked after implied had already come down
Read 4 more paragraphs, 311 words
Neither side owns the table. Trailing was closer on 27 Oct 2025, 23 Dec 2025, 19 Feb 2026 and 8 May 2026. Implied was closer on 7 Jan, 6 Mar, 8 Apr and 4 Aug 2026. Trailing wins when the next month looks like the last: 27 Oct and 23 Dec 2025 sat in a quiet stretch, and the trailing figure landed within a point of what followed. Implied wins when volatility reverts down: from 29.46 on 8 Apr to 13.45 twenty sessions later, the market's 17.56 was far nearer. The same file has the opposite lesson. On 19 Feb 2026 implied read 11.55 against 20.40 that followed. Neither forecast announced the stress, because nothing in past returns does.
I also ran every start date the file allows. The two forecasts miss by nearly the same amount on average, and implied sits a little above what followed. That second point is the next lesson. For now the reading is that a model has to beat these two, not beat zero. A GARCH fit that does no better than "last month, held flat" has found nothing. A HAR fit that cannot beat the market's own price has found nothing a trader could use.
My habit with a fitted model is to add it as a third column in the table, scored the same way on dates it has not seen. If it improves the average miss and also the worst misses, it earns a place. If it improves only the calm months, it has learned the average.
One more limit. All three models read past prices only. A known event, such as a Budget or a policy day, adds variance on a date the return history cannot see, and the event hedging lesson shows how option prices carry it instead. A model fitted on returns is a view of ordinary days.
The common mistake
The claim: Fit a GARCH model and you know next month's volatility.
A fitted model gives a number, with a tidy fit statistic, and that is the trap. The table above scored two forecasts on eight dates and each missed by 11.36 points or more at least once, on 8 Apr 2026 for trailing (29.46 against 13.45) and on 6 Mar 2026 for implied (18.10 against 29.46). A model that fades a spike also misses when the spike turns out to be a regime. A forecast is a point on a distribution of outcomes. State the horizon, score it on dates it has not seen, and treat the miss as part of the answer.
Key takeaways
- A window drops a day with a bang; EWMA lets the weight fade.
- GARCH adds a pull towards a long run level, set by persistence.
- HAR regresses on day, week and month averages of realised volatility.
- Score each forecast against the realised volatility of the same horizon.
- Neighbouring start dates overlap, so scored dates are not independent tests.
- A model must beat trailing and implied volatility, not zero.
3 terms this section turns on
Before you trade. Derivatives trading carries a high risk of loss. SEBI's study "Profitability of Individual Traders in the Equity Derivatives Segment (FY25 to FY26)" (August 2026) found that 87.7% of individual traders in equity F&O made net losses in FY26, with aggregate net losses of Rs 91,685 crore. Read the SEBI study