What You'll Learn
- The portfolio volatility formula for two-asset and multi-asset portfolios
- The square-root-of-time rule for converting daily to annualized volatility
- Why annualization uses 252 (trading days), not 365
- The difference between historical, realized, and implied volatility
- A worked example converting a 1 percent daily volatility into an annual figure
What Is Portfolio Volatility?
Portfolio volatility is the standard deviation of a portfolio's returns. It measures how widely the portfolio's value swings around its average return. Volatility is the most widely cited risk metric in finance because it is the input to the Sharpe ratio, Value at Risk, option pricing, and most other risk frameworks.
Volatility is typically expressed as an annualized percentage, even when computed from daily or weekly data. A 15 percent annualized volatility means returns typically fall within a range of plus or minus 15 percent of the average return about two-thirds of the time (under a normal-distribution assumption).
The Portfolio Volatility Formula
Two-Asset Portfolio
Multi-Asset Portfolio (Matrix Form)
| wi | Weight of asset i in the portfolio (must sum to 1.0 across all assets) |
| σi | Standard deviation of asset i's returns |
| ρi,j | Correlation coefficient between asset i and asset j |
| Σ | Variance-covariance matrix (diagonal: variances; off-diagonal: covariances) |
| σp | Portfolio volatility (standard deviation of portfolio returns) |
Volatility vs total risk
Volatility and total portfolio risk are the same number under the standard definition. Both refer to the standard deviation of returns. "Volatility" is the trading and options-market term; "standard deviation" is the statistical term; "total risk" is the portfolio-theory term. They mean the same thing.
The Square-Root-of-Time Rule (Annualization)
Volatility is typically computed from daily, weekly, or monthly returns, then scaled to an annual figure. The scaling rule:
| Period | n (Periods per Year) | Multiplier | Example: 1% period vol → annual |
|---|---|---|---|
| Daily (trading days) | 252 | √252 ≈ 15.87 | 1% × 15.87 = 15.87% |
| Daily (calendar days) | 365 | √365 ≈ 19.10 | 1% × 19.10 = 19.10% |
| Weekly | 52 | √52 ≈ 7.21 | 1% × 7.21 = 7.21% |
| Monthly | 12 | √12 ≈ 3.46 | 1% × 3.46 = 3.46% |
| Quarterly | 4 | √4 = 2.00 | 1% × 2.00 = 2.00% |
The 252 vs 365 question
For equities and other instruments that only trade on business days, use 252. For instruments that price 24/7 (crypto, FX), 365 is more appropriate. Mixing the two leads to incorrect comparisons. Most professional risk systems standardize on 252 for equities-and-equivalents, then convert crypto and FX explicitly when comparing.
How to Calculate Annualized Portfolio Volatility: Step-by-Step
Example: Daily Returns to Annualized Volatility
For each trading day in the lookback window (say, 1 year = 252 trading days), calculate:
Or, for log returns: rt = ln(Pt / Pt-1). Log returns are preferred for volatility work because they are additive across periods.
Average return = (sum of all Rt) / n
Suppose mean daily return is 0.05% across the 252 observations.
For each day, compute the squared deviation: (Rt − mean)2.
Average these squared deviations (divide by n − 1 for sample standard deviation): Variance = Σ(Rt − mean)2 / (n − 1).
Take the square root: σdaily = √variance
Suppose daily standard deviation = 1.00%
σannual = σdaily × √252
σannual = 1.00% × 15.87
The S&P 500 has averaged about 15-16% annualized volatility over the last 50 years. A computed annual volatility of 15.87% from daily returns is in the right ballpark for a broad equity portfolio. Anything dramatically different signals either an unusual portfolio composition or an issue with the calculation.
Realized vs Implied vs EWMA Volatility
"Portfolio volatility" can be computed three common ways, each with different uses:
| Type | What It Measures | Pros | Cons |
|---|---|---|---|
| Historical (Realized) | Standard deviation of past returns over a fixed window | Simple, objective, easy to compute | Backward-looking; treats all observations equally |
| EWMA | Exponentially weighted moving average of squared returns | Reacts faster to recent regime changes | Requires a decay parameter (RiskMetrics uses 0.94 for daily data) |
| GARCH | Models volatility as a function of prior squared returns and prior volatility | Captures volatility clustering well | Parameter estimation can be unstable; harder to explain |
| Implied | Volatility inferred from current option prices (e.g. VIX) | Forward-looking; reflects market expectations | Only available for assets with liquid options; affected by supply/demand of options themselves |
EWMA in one sentence
EWMA weights yesterday's squared return by (1 − lambda) and yesterday's variance by lambda, where lambda is typically 0.94 for daily data (the RiskMetrics standard). This means the most recent observations matter most, and the influence of older observations decays exponentially.
Typical Volatility Values by Asset Class
| Asset Class | Annualized Volatility (Typical Range) |
|---|---|
| Cash / T-bills | 0% to 1% |
| US Aggregate Bonds | 4% to 7% |
| 60/40 Stock/Bond Portfolio | 9% to 12% |
| S&P 500 | 14% to 18% |
| Long Treasury (TLT) | 13% to 16% |
| Nasdaq 100 | 20% to 25% |
| Single large-cap stocks | 20% to 40% |
| Single small-cap stocks | 30% to 60% |
| Bitcoin | 50% to 90% |
| Single early-stage growth stocks | 60% to 100%+ |
How Guardfolio Calculates Portfolio Volatility Automatically
Guardfolio connects to your brokerage accounts (read-only) and continuously calculates portfolio volatility from daily returns, automatically annualized using the square-root-of-time rule. The same calculation runs across multiple windows so you can see how volatility has shifted over time.
The free portfolio risk report takes about 2 minutes, requires no account, and includes:
- Annualized portfolio volatility computed from your actual return history
- Per-holding volatility contribution (which positions drive total portfolio vol)
- Realized volatility over multiple lookback windows (30d, 90d, 1Y, 3Y)
- EWMA-weighted volatility for faster regime-shift detection