Historical Volatility Calculator
The formula
What the historical volatility tells you
The past’s measured movement, annualized to the same units implied vol quotes in — the baseline every “is this option expensive?” question is judged against. Nothing more mysterious than a standard deviation with a √252 hat on.
Calculation: σ_annual = daily sd × √(trading days); standard error ≈ σ/√(2n). Enter your inputs and every substitution is shown below the result.
Reading the result
IV vs HV is the vol risk-premium thermometer: IV/HV ≈ 1.1–1.2 is normal equity market fear-tax; >1.5 prices panic; <1.0 means the market sees calm the tape has not earned.
Rules of thumb: Equities 15–35% HV; 20/60/252-day HV term structure shape is itself the regime signal
Limitations and best practice
√252 annualization assumes independent daily returns — real returns cluster (GARCH), so 20-day HV understates next month’s tail and overstates it after one. Also close-to-close HV misses the overnight gap that intraday traders actually trade.
This calculator gives an estimate based on standard formulas; it is not professional financial, medical, legal or engineering advice. Verify anything you plan to act on with a qualified professional and your own records.
Frequently asked questions
Why 20 vs 60 vs 252 day vol?
Does HV use closing prices only?
Is annualization just ×√252?
Why does my 10-day HV jump so much?
Source & methodology
Standard deviation annualization; Christoffersen, Elements of Volatility.
How Historical Volatility works — and what your result really means
This page was written for one job: turning your own inputs into a defensible figure, with the working shown. Searchers land on a Historical Volatility page for three reasons — to plan, to compare options, and to check that somebody else’s arithmetic is honest. This tool serves all three, and everything after the calculator explains the model instead of hiding it.
It helps to separate the mechanics from the interpretation. The mechanics are fixed: σ_annual = daily sd × √(trading days); standard error ≈ σ/√(2n). Anyone, anywhere, entering the same inputs will get the same 15.2%. The interpretation is where experience counts: whether 15.2% is good, normal or alarming depends on comparisons covered below, and that is the part most articles about Historical Volatility never explain.
There is a habit that separates people who get useful answers from Options & Derivatives numbers: they decide what question the figure answers before they compute it. Historical Volatility answers “Annualized historical vol?” — and nothing else, which is precisely why the result is trustworthy.
Every figure in the prose is generated by the engine rather than written beside it — the worked example resolves to annualized historical vol = 15.2% on the default inputs, and the sensitivity section ranks the inputs that move the result — Std dev of daily returns first, at ≈10.0 % of the headline for a ten-percent error either way in that input. Read the sections in order and you will be able to reproduce every figure by hand.
The Historical Volatility formula, explained
The engine implements a single stated model: σ_annual = daily sd × √(trading days); standard error ≈ σ/√(2n). There is no hidden coefficient and no login-gated precision — the formula printed is the formula executed, which is also what makes the result citable.
Mean daily return (%) (example value 0) is a quantity rather than a category — precision here is cheap and worth having. Enter it exactly as your document states it — quoted annual, monthly and effective rates are three different numbers.
Std dev of daily returns (%) (example value 1) is a measured number in the unit named by the label; the formula does not convert for you. Check the convention first: if the source says “6.5 % per year”, type 6.5 and let the formula do the rest.
Sample days (example value 580) is a plain measured quantity — the unit shown in the label is the unit the formula expects. Use the value as of today, not as of the last time you looked — time fields drift silently.
Trading days per year (example value 160) is a numeric input whose unit is fixed by the label; a wrong unit is a wrong answer wearing a plausible disguise. If the period is partial, decide whether you mean elapsed or planned time and keep that meaning across every field.
A fully worked Historical Volatility example
Rather than describe the calculation, here it is end to end — every substitution in order, starting from the inputs above. Starting figures: Mean daily return (%), Std dev of daily returns (%), Sample days, Trading days per year. The computed annualized historical vol comes out at 15.2%, which the interpretation band labels “15.2% realized vs the 1.20% daily moves — statistical band 14.3–16.1%; the sample is long enough for regime work”.
- σ_annual = 1.200% × √160 = 15.18%
- SE ≈ σ/√(2n) = 0.45% — estimation error scales as 1/√n
- Drift test: mean 0.050%/day over 580 days → t = 1.0
Daily vol — 1.20%. This is the number experienced users quote when the headline alone would mislead.
Weekly-equivalent vol — 2.68%. Read next to the headline, this is the figure that shows the shape of the trade-off.
95% confidence band — 1.7 ± width. This is the number experienced users quote when the headline alone would mislead.
Mean t-stat over sample — 1.00. If your inputs change, this is usually the first companion figure to move.
Overwrite any input above and every line of this example updates with it — the substitution is live, not a screenshot of somebody else’s numbers.
The Historical Volatility corridor: your result across a realistic band
Single-point answers invite false confidence, so the same engine was run across a band around the input that matters most here. Each row is a full recalculation of Historical Volatility, not an interpolation.
| Std dev of daily returns setting | Annualized historical vol |
|---|---|
| 80 % of the example value | 12.1% |
| 90 % of the example value | 13.7% |
| example inputs | 15.2% |
| 110 % of the example value | 16.7% |
| 120 % of the example value | 18.2% |
That spread — 12.1% at the low end, 18.2% at the high — is what a careful read of Historical Volatility looks like: a band you can state out loud, with the reason for each edge. Reproduce it in the form above by editing Std dev of daily returns alone; the substitution steps will follow your figures exactly.
What actually moves your Historical Volatility
Nobody should have to guess which input matters. The engine was re-run once per field below — ten percent up, ten percent down, everything else frozen — and the results ranked by how far they moved the annualized historical vol. It is the fastest honest answer to “what matters most in Historical Volatility?” — and it is specific to these defaults, because sensitivity moves with the starting point.
- Nudge Std dev of daily returns by ±10 % and Historical Volatility lands between 13.7% and 16.7% (sensitivity ≈10.0 %)
- Nudge Trading days per year by ±10 % and Historical Volatility lands between 14.4% and 15.9% (sensitivity ≈5.1 %)
Std dev of daily returns is the dominant lever here: ten percent either way moves the result by about 10.0 %, from 13.7% to 16.7%. Spend your verification effort there first, and treat Trading days per year as the second priority (≈5.1 % per ten percent). The remaining fields can sit at safe defaults without materially changing the answer — knowing which is which is what separates a careful calculation from an anxious one.
Is your Historical Volatility good — reading the result bands
The value above only becomes useful the moment you know what it is being measured against. On the example inputs the band reads “15.2% realized vs the 1.20% daily moves — statistical band 14.3–16.1%; the sample is long enough for regime work”; your own figures place you on a different rung of the same ladder. Before treating the band as fact, note its width: ten percent either way on Std dev of daily returns already spans 13.7% to 16.7%. The practical reading rules: read the band as a starting hypothesis, then test it: change the two dominant inputs by ten percent and see whether the verdict survives. Verdicts that survive stress are the ones worth acting on.
Where Historical Volatility sits next to similar measures: this tool answers “how much is the Historical Volatility”, while the related calculators answer “what do I do about it”. Reading the result alone tends to over-weight a single snapshot; pairing it with the companion tools above turns the number into a decision.
How people get Historical Volatility wrong
√252 annualization assumes independent daily returns — real returns cluster (GARCH), so 20-day HV understates next month’s tail and overstates it after one. Also close-to-close HV misses the overnight gap that intraday traders actually trade. This calculator gives an estimate based on standard formulas; it is not professional financial, medical, legal or engineering advice. Verify anything you plan to act on with a qualified professional and your own records.
Treating the example inputs as a recommendation. They are a demonstration of the mechanism — a decision-grade Historical Volatility begins the moment your own figures replace them.
Attention is also misallocated between fields. Having measured this engine, we can say where it belongs: Std dev of daily returns first, everything else second.
A final trap is presentation: reporting Historical Volatility to more decimal places than the inputs support. The tool prints what the arithmetic gives; you should quote only what your least precise field justifies.
Before you trust your Historical Volatility: a short checklist
- Confirm the example values are plausible for your own situation before replacing them.
- Check that every field the formula needs actually arrived from a document, not from recollection.
- Check Std dev of daily returns before anything else: it is the measured dominant input, ≈10.0 % of Historical Volatility per ten percent.
- Compare the result with one independent method or published benchmark.
- State, in one sentence, which convention each rate, unit or period in the form is using.
- Run the ±10 % stress on the top two levers and check that your conclusion survives both.
How to use the Historical Volatility tool properly
The tool does the arithmetic; the routine below is what makes the arithmetic trustworthy. Five steps, a minute total — and afterwards you will know not just what the number is, but which assumption produced it.
Step 1 — collect, then type. Everything this tool asks for is listed above (mean daily return (%), std dev of daily returns (%), sample days, trading days per year). Pull each figure from something you can point at — paperwork, a dashboard, a label — before touching a field. Guesswork at the input stage cannot be repaired at the interpretation stage. A figure nobody can reproduce is a figure nobody will act on twice.
Step 2 — enter the conservative case first. Resist the flattering scenario. Type the inputs you would defend in front of a sceptical reader, read the Annualized historical vol (15.2% for the example values), and note the verdict band. Compare the calculation to the rough guess you arrived with, and ask why they differ.
Step 3 — isolate your variables. Change one field, observe, revert. The live sensitivity list does the ranking for the default inputs; verify it against your own, because dominance shifts when the starting point shifts. A figure with a date beside it becomes evidence; without one it stays an anecdote.
Step 4 — ask what would have to be true. Take the result you want and work backwards through the inputs until you find the assumption that produces it; then decide honestly whether that assumption is defensible. Re-running a number costs seconds; retracting a decision costs considerably more.
Step 5 — write the one-line memo. “Annualized historical vol = 15.2% on this date, from these inputs.” That line is the entire deliverable; everything else on this page is how you earned the right to write it. Write the assumptions in the same file as the result, and future arguments take minutes instead of meetings.
Where Historical Volatility matters in practice
Investing & Markets arguments end at arithmetic or they do not end. Historical Volatility is the arithmetic: 15.2% on the example inputs, reproducible by anyone who types the same numbers. Compare the calculation to the rough guess you arrived with, and ask why they differ.
The companion outputs — Daily vol and Weekly-equivalent vol — exist for the second stage of that screen: the headline sizes the prize, while the companions describe the trade-off you are accepting to get it. A calculation you cannot explain to somebody else is a calculation you cannot defend.
Nothing here is stored or transmitted, so the habit of checking is free: open the page, re-enter current figures, compare with the number you saved last time. Write the figure down before moving on; memory flatters whichever number you saw last.
The questions that come up most about Historical Volatility
What affects Historical Volatility the most?
Measured on this engine, Std dev of daily returns is the dominant lever: moving it ±10 % shifts the annualized historical vol across 13.7% to 16.7% — about 10.0 % of the headline, with Trading days per year next at ≈5.1 %. The ranked list in the sensitivity section is computed live, not asserted from a template.
Which matters more: trading days per year or std dev of daily returns?
Std dev of daily returns, by a factor of about 1.9. Concretely: ten percent on Std dev of daily returns is worth ≈10.0 % of Historical Volatility, the same nudge on Trading days per year only ≈5.1 %. That ranking is re-computed for each page from that page’s own defaults.
What is a typical Historical Volatility?
There is no honest universal average for Historical Volatility, but there is a reference point: the defaults on this page produce 15.2% (15.2% realized vs the 1.20% daily moves — statistical band 14.3–16.1%; the sample is long enough for regime work). Replace the inputs with your own and compare — that comparison is the useful meaning of “typical”.
How do I calculate Historical Volatility by hand?
σ_annual = daily sd × √(trading days); standard error ≈ σ/√(2n) is the entire method. Work the inputs in that order — σ_annual = 1.200% × √160 = 15.18% — and you will reach 15.2% on the default figures, the same number this tool prints.
What happens to Historical Volatility if std dev of daily returns changes by 10 %?
On these inputs a ±10 % change in std dev of daily returns takes Historical Volatility to 16.7% against the 15.2% example — around 10.0 % of the headline. The same test on every other field is in the sensitivity section.
Is the Historical Volatility result of 15.2% good or bad?
Neither, on its own — the label “15.2% realized vs the 1.20% daily moves — statistical band 14.3–16.1%; the sample is long enough for regime work” is the band this figure falls in for the example inputs, and your own inputs will place you elsewhere on the same ladder. Judge the number against your history and your alternatives, and remember that a ten-percent error in Std dev of daily returns alone moves it by ≈10.0 %.
What is a good Historical Volatility?
Markets give away free benchmarks: anything that beats the relevant index after costs earns the label "good", and this tool’s verdict band translates Historical Volatility against experience ranges. Before that, check that the inputs are realistic — a great Historical Volatility built on optimistic inputs is just a nicer-looking error.
Is Historical Volatility accurate?
The arithmetic is exact: σ_annual = daily sd × √(trading days); standard error ≈ σ/√(2n) is evaluated with full floating-point precision and every substitution is printed in the worked example. What limits accuracy is input quality and the model’s assumptions, so treat the 15.2% result as the correct answer to the question you typed — and check the assumptions section before acting on it.
Why 20 vs 60 vs 252 day vol?
Short windows detect regime shifts, long windows measure the baseline — desks plot all three because the spread between them is information.
Does HV use closing prices only?
This classic definition does; Parkinson and Garman-Klass estimators use the intraday range with 4–5× better efficiency.
Is my data private on this page?
Yes — computation happens locally in your browser, with no account, no tracking of your inputs and nothing sent to a server. The printed formula is the whole story of what happens to your figures.
Glossary for Historical Volatility
- Daily vol
- 1.20% on the example inputs — a companion figure printed beside the headline of Historical Volatility so that no result is read in isolation.
- Weekly-equivalent vol
- 2.68% on the example inputs — a companion figure printed beside the headline of Historical Volatility so that no result is read in isolation.
- 95% confidence band
- 1.7 ± width for the Historical Volatility worked case; it sits next to the main result because it carries context the headline leaves out.
- Annualized historical vol
- The primary output of this tool: 15.2% for the default inputs, computed exactly from σ_annual = daily sd × √(trading days); standard error ≈ σ/√(2n).
- Worked example
- The step-by-step substitution printed above, so the arithmetic can be re-derived by hand or in a spreadsheet.
- Verdict band
- The plain-language label — here “15.2% realized vs the 1.20% daily moves — statistical band 14.3–16.1%; the sample is long enough for regime work” — mapping the computed figure onto experience-based ranges for Investing & Markets.
- Sensitivity (±10 %)
- How far the Historical Volatility moves when a single input is nudged ten percent either way; the ranked list on this page is computed live from this engine.
Where the Historical Volatility model comes from
The model is published arithmetic implemented exactly as written: σ_annual = daily sd × √(trading days); standard error ≈ σ/√(2n). Source of record: Standard deviation annualization; Christoffersen, Elements of Volatility. Where a professional version of this calculation differs, it differs in inputs and jurisdiction-specific coefficients, not in the algebra — which is why re-checking your inputs beats hunting for a second calculator.
Treat the output as a precise answer to the question you typed: exact arithmetic, transparent formula, published source, no hidden rounding. The promise to the reader is narrow and testable: same inputs, same output, no silent rounding, and no figure presented without the formula that produced it.
What to do with your Historical Volatility next
Save the number together with its inputs and today’s date; a Historical Volatility figure without context is unusable the moment an input changes.
The audience here is people who need one trustworthy number before their next decision. Everything you need to defend the result — formula, substitution, sensitivity, source — is printed above, so the only remaining variable is the honesty of your inputs.
