Skip to content

Quant tools › Volatility

Volatility (GARCH)

Explore how variability changes over time. Fitting a series needs sign-in; the explanation below does not.

Data: company-linked historical prices are currently unavailable on FinSavoir. Upload or paste a supported price or return series below.

Skip to the tool

About this tool

What it does

Many financial series have calm stretches and turbulent stretches: large moves tend to follow large moves. GARCH(1,1) is a standard model of that pattern. Fitted to your series, it estimates the current level of volatility, the long-run level it tends to return to, and a forecast for the next periods.

Volatility measures how large the movements are, not which way they go. A high volatility says nothing about whether prices will rise or fall.

When it is useful

  • Checking whether recent movements are larger or smaller than the series' usual level.
  • Seeing how quickly a burst of volatility tends to fade (the half-life).
  • Getting a model-based volatility estimate to use, for example, as an input to the option tools.
Return
The change from one observation to the next. The tool uses log returns: the natural logarithm of today's price over the previous one (0.01 is about 1%).
Variance and volatility
Variance is the average squared return, in squared return units per period. Volatility is its square root, in return units (shown as %). Annualised volatility scales it to a year.
Persistence
How long a shock to volatility lasts. Close to 1 means bursts fade slowly.

Inputs

InputUnitWhat it means
Seriesone line per observation: YYYY-MM-DD,valuePaste it, or upload a .csv or .txt file of up to 2 MB. A header line is ignored. Dates must increase.
Length251 to 10,000 rowsAt least 250 returns are needed (251 prices). Fewer than that and the fit is refused.
Frequencydaily, weekly or monthlyWorked out from the spacing of your dates; the series must keep one frequency. Gaps are reported, never filled.
What the values areprices or returnsPrices (for example daily closes): the tool computes log returns. Returns: per-period log returns as decimals (0.01 = 1%).
Adjusted for splits and dividends?prices onlyUse adjusted prices when you can: a stock split in unadjusted prices looks like a huge one-day move.
Forecast horizon1 to 250 periodsHow many periods ahead to forecast, in the series' own frequency.

Reading the results

Last annualised volatility
The model's estimate of current volatility, expressed per year (%).
Long-run annualised volatility
The level the forecast drifts back to over time. Not defined when persistence is at the stationarity limit.
Persistence and half-life
Persistence (α + β) near 1 means volatility bursts last; the half-life is how many periods it takes for half of the gap to the long-run level to close.
Forecast table
Per step: variance (per period, squared return units), volatility per period (its square root) and annualised volatility (per-period volatility × √periods per year: 252 daily, 52 weekly, 12 monthly).
Diagnostics
Warnings appear in plain words when the fit did not converge, when persistence is at the limit (long-run level and longer forecasts unreliable), when clustering is left unexplained, or when the residuals do not behave as the model expects.
Educational example (illustrative numbers, not market data)
  1. Use "Fill in a synthetic example series" in the tool: 600 generated daily prices with a calm first half and a more volatile second half. They are made up to show the behaviour; they are not any company's prices.
  2. Suppose a fit reports last annualised volatility 32%, long-run 20% and a half-life of 15 periods (illustrative figures). Recent swings are then larger than the series' usual level, and the forecast moves back towards 20%, about half of the way in 15 trading days.
  3. If the diagnostics warn that persistence is at the limit, read the long-run level and long horizons as unreliable and look at the short end of the forecast only.
Assumptions and limitations
  • The model looks only at the series you supply and its past; it does not know about news, earnings or events.
  • GARCH(1,1) with a zero mean and a normal-distribution likelihood: it understates the chance of very large moves in many real series.
  • One fixed frequency; gaps, splits in unadjusted prices and very short series weaken the fit.
  • Company-linked historical prices are currently unavailable on FinSavoir, so the tool works on a series you supply. Nothing you paste or upload is stored.
Methodology and validation
  • GARCH(1,1) (Bollerslev 1986) with zero conditional mean, fitted by Gaussian quasi-maximum likelihood; diagnostics include a Ljung–Box test on squared standardised residuals.
  • Annualisation multiplies per-period variance by the periods per year (252, 52 or 12) before taking the square root.
  • FinSavoir's own evaluation compares GARCH(1,1) with a rolling-variance baseline on daily changes in the 10-year U.S. Treasury yield, the one long daily series it holds under permitted terms. That is evidence about that series only; it is not a test on stock prices.

Validation results: Model performance · formulas and rules: Methodology

Fit a series you supply

Paste, or upload a .csv/.txt file (up to 2 MB). A header line is ignored; dates must increase.

Prices: the tool computes log returns. Returns: per-period log returns, 0.01 = 1%.

Unadjusted splits look like huge one-day moves.

Periods in the series' own frequency (days, weeks or months).

At most 10,000 rows; at least 251. Dates must increase; the frequency (daily, weekly or monthly) is inferred and gaps are reported, never filled. Nothing you paste is stored.