---
title: "Forecasting Volatility: EWMA, GARCH and HAR on Nifty"
description: "EWMA, GARCH and HAR volatility forecasts explained on Nifty data, with decay, persistence, mean reversion and a dated scorecard of eight forecast misses."
source_url: "https://www.rupeecase.com/learn/path-16/module-16-12-forecasting-volatility"
---

[Path 16 12 of 16](/learn/path-16/)Forecasting volatility: EWMA, GARCH and HAR[Next 16.13](/learn/path-16/module-16-13-variance-risk-premium)

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

1. Explain how EWMA, GARCH and HAR each turn past returns into a volatility forecast.
2. Read decay and persistence, and say how fast a spike fades under each.
3. Score a forecast against realised volatility on dates the model has not seen.

Watch in the terminal: why do the hero, key figure and XIRR differ? A short tutorial on sample data.

## 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

A ladder of ideas, not a ranking. A simpler model is often the harder one to beat once it is scored fairly. Source: RupeeCase, after the models named in the sources. As of 17 Oct 2026.
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.

Weights on the squared return of a day of the age shown. Window: twenty sessions, equal weights. EWMA: decay 0.94. The 8 Apr 2026 return was inside the window for twenty sessions and left on 8 May. Under EWMA its weight slides, from 1.85 to 1.74 percent between the twentieth and twenty first day. Source: RupeeCase arithmetic on a stated decay, not market data. As of 17 Oct 2026.
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 share of the initial gap between variance and its long run level that is left after the days shown, persistence 0.97. It is a property of the model's arithmetic. Whether Nifty fades at this rate is for the data to say. Source: RupeeCase arithmetic on a stated persistence, not market data. As of 17 Oct 2026.
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
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.

Close to close realised volatility on rolling windows, from 1 Jul 2025 to 15 Sep 2026. The band runs from the lowest to the highest reading. The dashed line is the 30 day at the money implied volatility of 12.44 percent. Source: NSE end of day data, computed by RupeeCase. As of 15 Sep 2026.
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

Percent a year. Realised is close to close over twenty sessions. Implied is the 30 day at the money series. Marks: the peak on 8 Apr and 8 May, when the 8 Apr return left the window. Source: NSE end of day data, computed by RupeeCase. As of 30 Jun 2026.
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](/learn/path-16/module-16-13-variance-risk-premium). 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](/learn/path-17/module-17-19-event-hedging) 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

From the module glossary; every term is in the Learn glossary too. Source: Module 16.12, Forecasting volatility: EWMA, GARCH and HAR.
**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](https://www.sebi.gov.in/reports-and-statistics/research/aug-2026/study-profitability-of-individual-traders-in-the-equity-derivatives-segment-fy25-fy26-_103835.html)

What does Forecasting volatility: EWMA, GARCH and HAR cover?Three ways to turn past returns into a forecast of volatility, and a scorecard that shows how often simple forecasts miss. It works through The idea, plainly, Worked example: eight dates, one scorecard, The common mistake, Key takeaways. It is module 16.12 of Path 16, Volatility, about 11 minutes of reading, free.

TTry it

## IV rank and percentile, on the same example.
Both definitions side by side on a dated series. Dated NSE end of day data, nothing live, no orders.

**IV rank and percentile**.

[Open the iv rank and percentile](/learn/tools/iv-rank-percentile?series=nifty-atm-iv-30d)

  AF&O on RupeeCase

## Hedging only, in development
F&O at RupeeCase will do one job: protect a portfolio you already own, by a rule published before it runs. No speculation, no naked option selling, no leveraged bets. It is not available yet.

  [How hedging will work](/hedging)[Sign up for RupeeCase](https://invest.rupeecase.com/signup)

  [No hedgeFalls with the marketWith a putA floor, for a premiumIllustration with made up numbers, not a product and not a recommendation.](/hedging)

QQuick check

## 10 questions, 7 to pass.
Each attempt draws 10 of the 15 questions in this module's bank, and a retake draws a fresh set. A pass gives this module's Certificate of Completion. Your result stays on this device and counts towards the Path 16 certificate.

7 of 10 correct passes module 16.12

Every answer is explained when you check; a retake is always free. Source: RupeeCase Learn quiz rules (70% to pass).

  Passed

###

  Certificate ID

Download PNGPrint or save as PDF[Check the ID](/learn/certificates/verify)
Self paced and unproctored. A record of completing free education by RupeeCase; not a NISM certificate and not endorsed by NISM, NSE, BSE or SEBI. It qualifies no one to deal, advise or publish research.

CCheck yourself

## Path 16 so far.
Your quick check results on this device, stop by stop.

Stop 12 of 16 on Path 16

Volatility: every live stop, this module ringed. Source: RupeeCase Learn, Path 16.

1. [16.1Volatility: historical against impliedNot yet](/learn/path-16/module-16-1-historical-vs-implied-volatility)
2. [16.2India VIX for beginners: what it measures and what it does notNot yet](/learn/path-16/module-16-2-india-vix-explained)
3. [16.3Solving for implied volatilityNot yet](/learn/path-16/module-16-3-solving-for-implied-volatility)
4. [16.4IV rank and IV percentile, done properlyNot yet](/learn/path-16/module-16-4-iv-rank-and-iv-percentile)
5. [16.5Measuring realised volatility: four estimatorsNot yet](/learn/path-16/module-16-5-realised-volatility-estimators)
6. [16.6Events and IV crush: results, Budget, RBI and electionsNot yet](/learn/path-16/module-16-6-iv-crush-around-events)
7. [16.7Smile and skew: a first look at Nifty and stocksNot yet](/learn/path-16/module-16-7-volatility-smile-and-skew)
8. [16.8Skew measures: risk reversal, butterfly and slopeNot yet](/learn/path-16/module-16-8-skew-measures)
9. [16.9Term structure and event varianceNot yet](/learn/path-16/module-16-9-term-structure-and-event-variance)
10. [16.10Forward volatility from two expiriesNot yet](/learn/path-16/module-16-10-forward-volatility)
11. [16.11India VIX rebuilt step by stepNot yet](/learn/path-16/module-16-11-india-vix-rebuilt)
12. [16.12Forecasting volatility: EWMA, GARCH and HARNot yet](/learn/path-16/module-16-12-forecasting-volatility#quiz)
13. [16.13The variance risk premium in NiftyNot yet](/learn/path-16/module-16-13-variance-risk-premium)
14. [16.14Variance swaps and replicationNot yet](/learn/path-16/module-16-14-variance-swaps)
15. [16.15Volatility surface models: SVI, SABR, local and stochastic volNot yet](/learn/path-16/module-16-15-volatility-surface-models)
16. [16.16Skew dynamics: sticky strike against sticky deltaNot yet](/learn/path-16/module-16-16-skew-dynamics)
17. [TPath test, 30 questionsNot yet](/learn/path-16/module-16-16-skew-dynamics#pathTestSection)

Path 16 in reading time: 159 minutes over 16 modules

Minutes of reading per module, this one in amber. Source: RupeeCase Learn, Path 16.

    Explore next

## Put the module to work.

* [ToolOption payoff builderLegs on a dated Nifty chain, breakevens and charges](/learn/tools/payoff-builder)
* [Free module 16.1Volatility: historical against implied7 min read](/learn/path-16/module-16-1-historical-vs-implied-volatility)
* [Free module 16.5Measuring realised volatility: four estimators9 min read](/learn/path-16/module-16-5-realised-volatility-estimators)
* [Free module 16.6Events and IV crush: results, Budget, RBI and elections9 min read](/learn/path-16/module-16-6-iv-crush-around-events)
* [Free module 16.9Term structure and event variance10 min read](/learn/path-16/module-16-9-term-structure-and-event-variance)
* [Free module 16.13The variance risk premium in Nifty10 min read](/learn/path-16/module-16-13-variance-risk-premium)

      Community

## Join my WhatsApp group.

      Scan the code, fillFill one short form, and join my WhatsApp group. Slides, sources, factsheets and the rebalance logs live there, and members join a daily Google Meet with me.

      New to RupeeCase? [Getting started](/getting-started) [See the terminal](/terminal)

        [Sign up for RupeeCase](https://invest.rupeecase.com/signup)
        [Join the WhatsApp group](https://forms.gle/C6HMtM1Z2GfeocQV7)

      [One form, one group](https://forms.gle/C6HMtM1Z2GfeocQV7)Scan with your phone camera

SSources

## Go to the source.
6 sources, NSE the most cited

The publisher of each source listed below. Source: Module 16.12 source list.
1. [NSE, India VIX: index page and methodology](https://www.nseindia.com/static/products-services/indices-indiavix-index) NSE
2. [NSE, daily volatility file FOVOLT for 15 Sep 2026 (the header gives the exponentially weighted formula and its decay)](https://nsearchives.nseindia.com/archives/nsccl/volt/FOVOLT_15092026.csv) NSE
3. [NSE, derivatives end of day reports (the bhavcopy these figures are built from)](https://www.nseindia.com/all-reports-derivatives) NSE
4. [NSE, end of day index file for 15 Sep 2026 (index closes)](https://nsearchives.nseindia.com/content/indices/ind_close_all_15092026.csv) NSE
5. [NISM, Series VIII Equity Derivatives certification examination: test objectives](https://www.nism.ac.in/revamp-nism/test-objectives-revised-nism-series-viii-equity-derivatives-certification-examination/) NISM
6. [Corsi, F. (2009), A Simple Approximate Long-Memory Model of Realized Volatility, Journal of Financial Econometrics](https://ideas.repec.org/a/oup/jfinec/v7y2009i2p174-196.html) Paper

GTerms

## 5 terms from this module.
EWMAAn exponentially weighted moving average. Each day's variance estimate is a fixed share of yesterday's plus the rest from today's squared return, so older days fade smoothly.
DecayThe share of yesterday's variance estimate an EWMA keeps. Near one, the estimate moves slowly; lower, it follows the latest returns closely.
GARCHA model of variance with three parts: a constant, a share of yesterday's squared return and a share of yesterday's variance. It pulls variance back towards a long run level.
PersistenceIn a GARCH model, the two shares added up. Near one, a spike in variance takes a long time to fade.
HARA regression of next period's realised volatility on its day, week and month averages. It is fitted by ordinary least squares.
[All 230 terms in the glossary](/learn/glossary)

[Question people askHow do volatility forecasting models like GARCH work?A short answer with a dated chart](/learn/questions/garch-volatility-forecasting)[Related module16.1 Volatility: historical against implied7 min, Beginner](/learn/path-16/module-16-1-historical-vs-implied-volatility)[Related module16.5 Measuring realised volatility: four estimators9 min, Intermediate](/learn/path-16/module-16-5-realised-volatility-estimators)[Pillar guideDerivatives and Quant115 modules across paths 12 to 19](/learn/derivatives)

Education only, not investment advice, a research report or a recommendation to buy, sell or hold any security. RupeeCase (QC Alpha Technologies Pvt Ltd) is not registered with SEBI as an investment adviser or research analyst. Contracts and prices shown are for illustration only, come from NSE end of day files at least 30 days old, and are not recommendatory. Derivatives trading carries a high risk of loss.
