Sharpe Ratio & Portfolio Risk Calculator
How much return each unit of risk bought — from your own returns or prices.
Against the benchmark
Growth of 100
Drawdowns
All the figures
How the Sharpe ratio was calculated
Results are estimates for general information and planning, not financial advice. Banks and institutions may calculate differently (rounding, fees, rate changes). Confirm figures with your lender or a qualified adviser before deciding.
About the Sharpe Ratio & Portfolio Risk Calculator
A return on its own says little: 12% from a fund that swung wildly is not the same as 12% from one that barely moved. The Sharpe ratio puts the two on one scale — the return above a risk-free rate, per unit of volatility. This calculator works it out from your own data: paste daily, weekly, monthly, quarterly or yearly returns, or prices, with an optional benchmark such as an index.
You get the annualised return two ways (CAGR and the arithmetic mean), the volatility, the Sharpe and Sortino ratios, the maximum drawdown with when it started, bottomed and recovered, and — against the benchmark — beta, Jensen’s alpha, correlation, tracking error and the information ratio. Charts show the growth of 100 invested at the start, and every drawdown. Everything is calculated in your browser.
How to use it
- Paste your data, one row per period: an optional date, month or year, then your portfolio’s return or price, then an optional benchmark. Rows copied from a spreadsheet, a CSV file or a fund statement work; a header row is recognised. Or open a CSV file.
- Say what the numbers are — returns in %, returns as decimals or prices — and how often they were taken.
- Enter the risk-free rate for the period, as a yearly %. Choose the Sortino target: the risk-free rate, 0% or a rate of your own.
- Read the Sharpe ratio and the other figures. If there are several columns, choose which one is the portfolio and which the benchmark. Copy the summary or download every period as CSV.
Examples
Monthly returns in % · risk-free rate 6.5% a year
Fund: CAGR 8.92%, volatility 10.92%, Sharpe 0.26, Sortino 0.37, maximum drawdown −13.20% · beta 0.97, alpha 3.92% a year, correlation 0.99, information ratio 2.23
At a 0% risk-free rate the same fund’s Sharpe ratio is 0.84 — the rate you choose changes the ratio a lot.
100, 110, 99, 108.9 (monthly closing prices)
3 returns: +10%, −10%, +10% · total return 8.9%
The formulas
With returns r₁ … rₙ and N periods a year (252 trading days, 365, 52, 12, 4 or 1):
- Annualised mean = mean(r) × N; volatility = standard deviation of r × √N. Standard deviations are sample ones (divided by n − 1).
- CAGR = (Π(1 + rₜ))^(N ÷ n) − 1 — the compound yearly growth.
- Sharpe ratio = mean(r − r_f) ÷ standard deviation(r − r_f) × √N, where r_f = (1 + risk-free rate)^(1/N) − 1 per period: the ex-post Sharpe ratio, annualised. See William F. Sharpe’s article on the ratio.
- Sortino ratio = (mean(r) − T) ÷ DD × √N, with downside deviation DD = √(Σ min(0, rₜ − T)² ÷ n) for the target return T per period — the downside-risk measure of Sortino and Price, Performance Measurement in a Downside Risk Framework, Journal of Investing.
- Maximum drawdown — the largest fall of the growth line (100 invested at the start) from a previous peak.
- Beta = cov(r_p, r_b) ÷ var(r_b). Jensen’s alpha = [(mean(r_p) − r_f) − β × (mean(r_b) − r_f)] × N. Correlation is Pearson’s; R² is its square.
- Tracking error = standard deviation of (r_p − r_b) × √N; information ratio = mean(r_p − r_b) × N ÷ tracking error.
Reading the results
- Sharpe ratio — return above the risk-free rate per unit of total volatility. Negative means the portfolio did worse than the risk-free rate. It is most useful for comparing investments over the same period, frequency and risk-free rate.
- Sortino ratio — the same idea, but only falls below your target count as risk, so steady gains are not penalised.
- Maximum drawdown — the worst peak-to-trough loss you would have lived through, with the dates it began, bottomed and was made good.
- Beta — how strongly the portfolio moved with the benchmark: 1.2 means about 1.2% for each 1% of the benchmark. Alpha is the yearly return beyond what that beta explains.
- Information ratio — how consistently the portfolio beat the benchmark: active return per unit of tracking error.
The risk-free rate and the frequency
Use the yield of a short-term government security over the same period — in India, for example, the 91-day Treasury bill yield published by the Reserve Bank of India — or a bank deposit rate. Enter it as a yearly %; the calculator turns it into a rate per period. The frequency matters too: annualising multiplies the mean by N and the volatility by √N, so daily data must be marked as daily. When your data has dates, the calculator checks that their spacing matches the frequency you chose.
Pasting data
Columns can be separated by tabs (copied from Excel or Google Sheets), commas or semicolons. A first column that labels the periods is optional: dates (2025-01-31, 31/01/2025), months (Jan 2025, Jan-25, 2025-01), quarters (Q1 2025), years (2025) or any other text. Dated labels may run oldest first or newest first and their spacing is checked against the frequency; other text labels are taken in the order given, oldest first. Returns can be typed as 1.25, 1.25% or -0.4; choose “returns as decimals” for 0.0125. With prices, each row is one closing price or index level and the returns are worked out between rows. Every row needs a value — a gap would shift the periods — so empty or unreadable cells are reported with their line number.
Limitations
- Past returns only: the ratios describe the period you paste, not the future.
- Annualising by √N assumes returns are independent from period to period. Smoothed returns (some unlisted or illiquid assets) look less volatile than they are.
- Taxes, charges you paid outside the returns, and cash flows into or out of the portfolio are not taken into account; for returns with cash flows, see the XIRR calculator.
- Up to 20,000 rows at a time.
Privacy
Your returns, prices and file are read in your browser and never uploaded or stored on a server.
Frequently asked questions
What is a good Sharpe ratio?
There is no official threshold. A higher ratio means more return for the volatility taken, and a negative one means the portfolio did worse than the risk-free rate. Compare portfolios over the same period, with the same frequency and risk-free rate — the ratio depends on all three.
Why is my Sharpe ratio different from the one on the fund’s factsheet?
Usually because the period, the frequency (daily or monthly returns) or the risk-free rate differ, or because the factsheet annualises in another way. With the same returns and conventions — sample standard deviation, mean × N and volatility × √N — you get the same figure.
What is the difference between the Sharpe and Sortino ratios?
The Sharpe ratio counts all volatility as risk, up and down. The Sortino ratio counts only returns below a target you choose, using the downside deviation. For a portfolio with occasional large gains, the Sortino ratio is usually higher.
Why are the CAGR and the annualised mean different?
The mean adds up the periods’ returns; the CAGR compounds them. Ups and downs pull compounding down, so the CAGR is lower than the mean whenever returns vary — in the example 8.92% against 9.15%. The CAGR is what your money actually grew at; the Sharpe ratio uses the mean, as Sharpe defined it.
Can I use prices instead of returns?
Yes. Choose “Prices or index values” and paste one closing price per row, oldest or newest first. The calculator works out each period’s return from consecutive prices, so n prices give n − 1 returns. Use prices that include dividends (a total-return index or adjusted closing prices) for a fair comparison.