1. Calculators
  2. Stock Market & Equity

Stock Volatility Calculator

Paste closing prices to get a stock's daily and annualized historical volatility, its largest moves and a rolling volatility chart. Then turn any volatility figure into the price range the stock is likely to trade in over the coming days or months.

Updated Oct 16, 2026Free · no sign-upFormulas tested

Your inputs

Paste closing prices, oldest first, one per line or separated by commas. A column copied from a spreadsheet works.

Fills the last year of daily closing prices. You can change any value afterwards.
Example: 31 daily closes, which give 30 returns. Use adjusted closes so splits and dividends do not show up as price jumps.
returns
Optional. Draws the rolling annualized volatility over this many returns.

Results

Annualized volatility21.71%Standard deviation of 30 daily log returns × √252
Daily volatility
1.37%
Number of returns
30
From 31 prices
Largest up day
+2.84%
Day 28: $178.27 → $183.34
Largest down day
-2.69%
Day 18: $185.68 → $180.68
Price change over the period
+3.50%
Average log return per day
+0.11%
Moves beyond 2 standard deviations
2
7% of returns; about 5% is normal

A typical day moved the price about 1.37%, roughly $2.58 at the last price of $188.79. Annualized, that is 21.7%.

Rolling 10-day volatility (annualized)

0%10%20%30%1591317212529Whole period 21.7%

Each point is the annualized standard deviation of the previous 10 returns. Short windows react fast but are noisy.

Results are estimates from the numbers you enter. They are not financial, tax or legal advice.

How to use the stock volatility calculator

The calculator has two tools. Historical volatility measures how much a stock has moved. Expected move turns a volatility figure into a price range for the future.

Historical volatility:

  1. Paste the closing prices, oldest first. A column copied from a spreadsheet works. Use adjusted closes if you can, so a stock split or a large dividend does not appear as a crash.
  2. Choose the frequency of the prices: daily, weekly or monthly. This must match the data. Daily prices labeled as weekly give a volatility that is far too low; the example’s daily closes read as weekly give 9.86% instead of 21.71%.
  3. Choose a rolling window for the chart, or leave it empty to see the individual returns instead.

Expected move:

  1. Enter the share price and an annualized volatility: the historical figure from the first tab, or the implied volatility of the stock’s options.
  2. Choose how to count time. Calendar days (365 a year) is the convention for option expiries. Trading days (252 a year) matches daily price data and ignores weekends.
  3. Enter the number of days ahead.

How volatility is calculated

rt = ln(Pt ÷ Pt−1)
σperiod = √[ Σ (rt − r̄)² ÷ (n − 1) ]
σannual = σperiod × √NPt is the closing price in period t, r̄ the average log return, n the number of returns (one fewer than the number of prices) and N the number of periods in a year: 252 for daily prices, 52 for weekly and 12 for monthly.

Log returns are used because they add up across periods and treat rises and falls symmetrically. For daily moves of a few percent they are almost identical to simple percentage returns. The largest up and down moves in the results are shown as ordinary percentage changes.

The expected move scales the annual figure down to the horizon you choose:

σhorizon = σannual × √(days ÷ D)
1σ range = P × e−σhorizon to P × e+σhorizon
Expected move = P × σhorizonD is 365 when counting calendar days or 252 when counting trading days. If returns were normally distributed, the price would end inside the 1σ range about 68% of the time and inside the 2σ range about 95% of the time.

A worked example

Historical volatility. The example contains 31 daily closes of a large US stock, which give 30 daily returns. Their standard deviation is 1.37% a day: on a typical day the stock moved by about $2.58. Multiplying by √252 gives an annualized volatility of 21.71%. The biggest daily rise was +2.84% and the biggest fall -2.69%.

Expected move. Take a stock at $190 with 22% annual volatility. Over 30 days, volatility scales to 6.31%, so the expected move is about ±$11.98. The 1σ range is $178.39 – $202.37, and the 2σ range is $167.48 – $215.54.

Expected price range by horizon

Volatility grows with the square root of time, not in proportion to it. For the same $190 stock at 22% volatility:

Horizon σ for the period Likely range (±1σ) Wide range (±2σ)
1 day 1.15% $187.82 – $192.20 $185.67 – $194.43
1 week (7 days) 3.05% $184.30 – $195.88 $178.77 – $201.94
1 month (30 days) 6.31% $178.39 – $202.37 $167.48 – $215.54
3 months (91 days) 10.98% $170.23 – $212.06 $152.52 – $236.68
1 year 22.00% $152.48 – $236.75 $122.37 – $295.01

A year is 365 times longer than a day, but the range is only about 19 times wider (√365 ≈ 19.1). The ranges are also slightly lopsided in dollars, with more room above the price than below, because they are built on log returns: a price can rise without limit but cannot fall below zero.

Counting in trading days gives nearly the same answer over a month. Twenty-one trading days at 22% gives $178.31 – $202.46, against $178.39 – $202.37 for 30 calendar days. The difference comes from treating a trading day as 1/252 of a year rather than 1/365, so stick to one convention throughout.

How to read a volatility figure

Volatility describes how wide the swings are, not which way they go. Three stocks at the same $190 price, over the same 30 days:

Annual volatility Expected move Likely range (±1σ)
15% (a steady large company) ±$8.17 $182.00 – $198.35
22% (the example) ±$11.98 $178.39 – $202.37
45% (a speculative stock) ±$24.51 $167.00 – $216.16

Higher volatility means wider ranges in both directions, which matters for stop-loss placement and position sizing: a stop 2% below the price is about two and a half typical daily moves away for the steady stock (daily volatility 0.79%) but less than one for the speculative one (2.36%). Traders often size positions so each one carries a similar dollar volatility, and our position size calculator uses that idea.

What this calculator does not include

  • Fat tails. Real stock returns have more large moves than the normal distribution predicts, especially around earnings, so the 2σ range is breached more often than 5% of the time. The results count how many of your returns fell beyond 2σ, as a check.
  • Changing volatility. Volatility clusters: calm periods and turbulent periods each tend to persist. A figure from 30 days of data describes those 30 days, and the rolling chart shows how much it can shift.
  • Direction. The expected move assumes no drift up or down. Over a year or more, a stock’s expected return shifts the whole range.
  • Gaps and events. Earnings, mergers and trading halts can move a price far beyond any range based on past volatility.

Frequently asked questions

How do you calculate a stock's volatility?
Take a series of closing prices, compute the log return of each period as ln(price today ÷ price yesterday), and find the sample standard deviation of those returns. That is the daily (or weekly, or monthly) volatility. Multiply it by the square root of the number of periods in a year to annualize it: √252 for daily data, √52 for weekly and √12 for monthly.
What is a normal volatility for a stock?
It varies widely. Large, stable companies such as utilities and consumer staples often run at 15% to 25% a year, the S&P 500 index itself has historically averaged somewhere in the mid-teens, and small or speculative stocks can exceed 50% or more. Volatility also changes over time, rising sharply in market sell-offs.
Why multiply by the square root of 252?
Because variance, the square of volatility, adds up over time when returns are independent. A year of 252 trading days has 252 times the daily variance, so the annual standard deviation is the daily figure times √252. With daily volatility of 1.37%, that gives 21.71%.
What is the expected move of a stock?
The expected move is the size of a one-standard-deviation price change over a period: price × annual volatility × √(days ÷ 365). Option traders use implied volatility for it. At $190 and 22% volatility, the 30-day expected move is about $11.98, so the stock would end between $178.39 – $202.37 roughly two times in three if returns were normal.
What is the difference between historical and implied volatility?
Historical volatility is measured from past prices, as in the first tab of this calculator. Implied volatility is backed out of current option prices and reflects what the market expects over the life of the option. Both are annualized standard deviations, so either one can go into the expected move tab.

Related calculators

All calculators →

Check volatility for real stocks

All stocks →

Every PromtFinance stock page shows the latest close, the 52-week range and an interactive price chart, a quick view of how widely a stock swings.

This calculator is for education and planning. It uses the formulas described above and the inputs you provide; real results depend on fees, taxes, timing and other details that a general tool cannot know. PromtFinance does not give personal financial advice. Check important decisions with your provider or a qualified professional.