Return alone doesn’t settle anything

Two funds both return 12% a year. One drifts up steadily; the other lurches between +40% and −25%. Same destination, and almost nobody would call them equally good.

To say why, you need a number for the lurching. That number is volatility, and once you have it you can ask the more useful question: how much return did each unit of lurching buy?

Volatility

Volatility is the standard deviation of returns — how widely daily (or monthly) returns scatter around their average.

1. Compute daily returns:        rₜ = NAVₜ / NAVₜ₋₁ − 1
2. Take their standard deviation: σ_daily
3. Annualise:                     σ_annual = σ_daily × √252

(252 ≈ trading days in a year. Use √12 for monthly data.)

The √ comes from variance scaling with time while standard deviation scales with its square root — which assumes returns are independent day to day. That’s an approximation, and it’s worth knowing it’s an approximation.

For this fund, over 20 years:

   
Annualised return 10.2%
Annualised volatility 20.99%

UTI Nifty 50 Index Fund, Regular Plan - Growth (AMFI scheme code 100822), 3 April 2006 to 31 March 2026. Source: AMFI via mfapi.in. Historical data, for illustration only.

A volatility of 20.99% means that in a typical year, returns landed roughly within ±21 percentage points of the average — very roughly, two years in three. It’s a diversified large-cap index fund, and it is still a substantially bouncy thing to own.

🧒 Explain it like I'm 10 (optional — skip if this is already clear)

Two friends walk to school and both take 20 minutes on average.

One takes 19, 20, 21, 20 minutes — boringly reliable. The other takes 8 minutes, then 35, then 12, then 25. Same average, wildly different experience. You can plan around the first friend; you can’t around the second.

Volatility is a number for how unpredictable the second friend is.

And the Sharpe ratio asks the follow-up question: if the unreliable friend got there faster on average, was the unpredictability worth it?

The Sharpe ratio

Devised by William Sharpe in 1966, this is the standard measure of risk-adjusted return — return per unit of volatility, over and above what a risk-free asset pays:

             Portfolio Return − Risk-Free Rate
Sharpe =    ──────────────────────────────────
                     Volatility

The risk-free rate belongs there because you could have earned it without any volatility at all. Only the excess over that is compensation for taking risk. Which rate counts as “risk-free” is a choice. Indian fund factsheets mostly use a short rate — typically the FBIL Overnight MIBOR (the overnight interbank lending rate, published by Financial Benchmarks India), as on the factsheet date; Tata, Nippon India and PPFAS factsheets from 2025–26 all state it this way. Others use the 10-year government bond yield. The 6.5% here is a round, illustrative figure: roughly the 10-year G-Sec (government security) yield in mid-2025, the same number the WACC post used. Because the choice moves the answer, the code further down tries a few.

For this fund:

   
Annualised return 10.2%
Less: risk-free rate 6.5%
Excess return 3.7%
÷ Volatility 20.99%
Sharpe ratio 0.176

That is not a good number

A Sharpe of 0.176 means each unit of volatility bought about 0.176 units of excess return. Conventional rules of thumb call anything above 1 good and below 0.5 poor.

This series is not going to dress that up. Over this particular twenty-year window, a Nifty 50 index fund delivered a fairly unimpressive amount of return for the volatility endured.

But notice the phrase doing the work: this particular window. The point-to-point post showed this window starts near an April 2006 high and ends after a weak Q1 2026, and that the whole-period return of 10.2% sits below the 12.25% median of five-year rolling windows. Sharpe inherits that problem completely — the numerator is a point-to-point return, so a Sharpe ratio is exactly as start-date-dependent as the return inside it.

Which is the real lesson. A Sharpe ratio quoted without its measurement period is not a fact about a fund.

What Sharpe misses

Three limitations worth carrying.

It treats upside and downside identically. Standard deviation punishes a +15% month exactly as much as a −15% month. But investors do not experience those symmetrically at all. The Sortino ratio exists for this reason — it divides by downside deviation only, counting just the falls.

It assumes returns are normally distributed. They aren’t. Real market returns have fat tails: extreme events happen far more often than a normal distribution predicts. The 2008 crash covered in the drawdown post was a many-standard-deviation event that a normal distribution says should essentially never occur.

It says nothing about how long you suffered. This fund spent six years below its 2008 peak, and its Sharpe carries no trace of that. Sharpe and drawdown recovery measure genuinely different things, and neither substitutes for the other.

Comparing funds with it

Sharpe is most useful comparatively, and only under strict conditions: the same measurement period, the same risk-free rate, the same data frequency, and comparable asset classes. Change any of those and the comparison breaks.

Comparing a debt fund’s Sharpe to an equity fund’s is particularly meaningless — a low-volatility fund can post a flattering Sharpe on modest returns simply because the denominator is small.

Doing it in Python

import pandas as pd, numpy as np

nav = pd.read_csv("uti-nifty50-index-fund-nav.csv",
                  parse_dates=["date"]).set_index("date")
r = nav.nav_regular_growth.dropna()

daily = r.pct_change().dropna()
vol = daily.std() * np.sqrt(252) * 100

years = (r.index[-1] - r.index[0]).days / 365.25
ann_return = ((r.iloc[-1] / r.iloc[0]) ** (1/years) - 1) * 100

for rf in (6.0, 6.5, 7.0):
    print(f"rf {rf}%  ->  Sharpe {(ann_return - rf)/vol:.3f}")

Run that loop and notice how much the assumed risk-free rate moves the answer — a percentage point of risk-free rate shifts Sharpe by about 0.05 here. Another reason to distrust a Sharpe quoted to two decimals without its assumptions.

Common mistakes

  • Quoting Sharpe without the period and risk-free rate. Both change the answer materially; neither is usually disclosed.
  • Comparing Sharpe across asset classes. A liquid fund can out-Sharpe an equity fund while returning far less.
  • Treating volatility as risk. Volatility is fluctuation. The risk that matters is permanent loss, or being forced to sell at a bad moment.
  • Forgetting the normality assumption. Fat tails mean the worst cases are worse than the maths implies.
  • Using monthly data and comparing to daily-data figures. Monthly and daily sampling give different numbers (here, 20.51% annualised volatility from monthly data against 20.99% from daily) — don’t compare across them.
  • Assuming a higher Sharpe means a better fund for you. It measures efficiency, not suitability — and says nothing about how long you’d have spent underwater.

Takeaway: Volatility measures how much returns scatter, and Sharpe asks how much excess return each unit of that scatter bought. This fund’s 0.176 over twenty years is a genuinely unflattering figure — and since its numerator is a point-to-point return, it’s every bit as sensitive to the chosen start date as any other single-window number in this series.