Trading Glass
FeaturesPricingAcademyBlogChartJournal
Loading
All Courses
Biases in BacktestingEdge DegradationOutliers and Their Impact on MetricsSharpe Ratio & Sortino RatioSignal-to-Noise Ratio
Academy/Trading Intelligence/Advanced Statistical Thinking

Sharpe Ratio & Sortino Ratio

Trading Intelligence

9 min read

sharpeRatio

Compare risk-adjusted returns across strategies using the two most important performance ratios in quantitative finance.

Loading

Related Topics

The 17 Most Important Trading Metrics

Trading Mastery

14 min

Biases in Backtesting

9 min

Edge Degradation

8 min

Nash Equilibrium and No Arbitrage

8 min

Previous Topic

Outliers and Their Impact on Metrics

Next Topic

Signal-to-Noise Ratio

Trading Glass

Next-generation charting order flow platform with rotation view, cluster visualization, and real-time analytics for professional traders and quantitative analysts.

Product

  • Features
  • Pricing
  • Chart
  • Journal

Resources

  • Academy
  • Blog
  • Documentation
  • API Reference
  • Support

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 Trading Glass. All rights reserved.

PrivacyTerms

A backtest with Sharpe 3.0 and a backtest with Sharpe 0.6 can describe the same strategy — the difference is what you put in the denominator. This lesson is about getting the denominator right.

The Sharpe ratio measures excess return per unit of total volatility: SR = (R_p − R_f) / σ_p. The Sortino ratio replaces σ_p with downside deviation σ_d, so only losses below a target (MAR) count as risk. Both are typically annualized by multiplying by √(periods per year) — for crypto's 24/7 market, that's √365 daily or √(365·24) hourly.

Prereq: you should be comfortable with mean and standard deviation before reading on.

The Sharpe Ratio: Formula and Components

The Sharpe ratio (William F. Sharpe, 1966) is the most widely cited risk-adjusted return metric in finance:

Sharpe ratio

SR = (R_p - R_f) / sigma_p

where: R_p = mean portfolio/strategy return over the chosen period R_f = risk-free rate over the same period (often 0 for crypto) sigma_p = standard deviation of excess returns (R_p - R_f), not total

Why σ Is on Excess Returns, Not Total Returns

Sharpe's original paper defines σ on the excess return series (r_i − r_f,i), not the raw return series. In practice, when R_f is constant or zero, σ on excess and total returns is identical — so the distinction only matters when the risk-free rate fluctuates meaningfully (rare for short-horizon crypto, common for multi-year equity studies).

Annualization for Crypto (√365, Not √252)

Equity markets trade ~252 days/year, so equity Sharpe is annualized as SR × √252. Crypto trades 24/7, so the right factor is √365 for daily returns and √(365·24) ≈ 93.6 for hourly returns.

Annualization factor by period - crypto daily uses sqrt(365), not sqrt(252)

Hourly (crypto)93.60Daily (crypto 24/7)19.10Daily (TradFi)15.87Weekly7.21Monthly3.46

Always disclose the annualization basis. A "Sharpe of 1.5" without a period is meaningless — it could be daily, monthly, or annualized.


The Sortino Ratio: Why Downside Deviation Matters

The Sharpe ratio treats a 5% up-day and a 5% down-day as equally "risky" because variance is symmetric (squared deviations don't distinguish sign). For trend-following, long-vol, or asymmetric crypto strategies, that's a problem — Sharpe penalizes the very upside you're paid for.

Sortino & Price (1994) replace σ with downside deviation σ_d, summing only squared shortfalls below a target rate (MAR — Minimum Acceptable Return):

Downside deviation and Sortino ratio

sigma_d = sqrt( (1/n) * sum_i min(r_i - MAR, 0)^2 ) Sortino = (R_p - MAR) / sigma_d

where: MAR = Minimum Acceptable Return (commonly 0 for crypto) sigma_d = downside deviation: only shortfalls below MAR contribute n = total observations (NOT only the negative ones)

Choosing MAR

  • MAR = 0 — most common for crypto; "any loss is a loss"
  • MAR = R_f — purist version; treats the risk-free rate as the floor
  • MAR = your target return — useful for benchmarking against a goal

Why Sortino Exists

Sharpe treats a 5% up-day and a 5% down-day as equally risky because variance is symmetric. Sortino (Sortino & Price, 1991/1994) replaces σ with σ_d, which only sums squared shortfalls below MAR. Result: strategies with positive skew (trend-following, long-vol) finally look as good on paper as they feel.


Comparison: Sharpe vs Sortino vs Calmar vs MAR

MetricNumeratorDenominator (risk)Penalizes upside vol?Best for
SharpeR_p − R_fσ_p (total std)YesMean-reverting, near-Gaussian returns
SortinoR_p − MARσ_d (downside std)NoTrend-following, asymmetric strategies
CalmarAnnualized returnMax drawdownNoLong-horizon evaluation, retail comprehension
MAR (Managed Accounts Reports)CAGRMax drawdownNoCTAs, fund-comparison contexts
Information RatioR_p − R_benchmarkTracking errorYesActive vs benchmark performance

Sortino is typically ~1.3–1.5× the Sharpe for the same strategy when returns are negatively skewed less than the strategy is positively skewed. If your Sortino is lower than your Sharpe, you have negative skew — large rare losses dominating the downside tail.


Worked Crypto Example

Consider a BTC mean-reversion bot with 365 daily returns:

  • Mean daily return: R_p = 0.10%
  • Std of daily returns: σ_p = 2.0%
  • Downside deviation (MAR = 0): σ_d = 1.4%
  • Risk-free rate: R_f = 0 (no idle capital)

Step-by-step:

Worked example: BTC mean-reversion bot, 365 daily returns, R_f = 0

QuantityComputationValue
Daily Sharpe(0.10 - 0) / 2.00.05
Annual Sharpe0.05 * sqrt(365)0.96
Daily Sortino(0.10 - 0) / 1.40.071
Annual Sortino0.071 * sqrt(365)1.36

The gap between 0.96 and 1.36 is the asymmetry premium — the strategy's downside is meaningfully smaller than its total volatility, so Sortino rewards it.


How to Compute Sharpe and Sortino From Your Trade Journal

  1. Decide a period. Daily is standard; hourly works for HFT. Be consistent.
  2. Compute period returns. Use either log returns (additive across time) or simple returns. Don't mix.
  3. Pick R_f. For most crypto strategies, R_f = 0 is defensible. If you're parking USDC at 5% APY between trades, use that.
  4. Compute σ on excess returns (r_i − R_f,i). When R_f is constant, this equals σ on raw returns.
  5. Annualize by multiplying SR by √n where n = periods per year (365, 252, 8760, etc.).
  6. For Sortino, compute σ_d using only r_i < MAR. Square those shortfalls, average over all n observations (not just the negative ones — this is the most common bug), then √.
  7. Report sample size. Below ~100 observations, the standard error on σ is enormous and your point estimate is mostly noise.

Threshold Heuristics: What Counts as "Good"?

Rules of thumb for annualized Sharpe in retail crypto context (caveats below):

Annualized SharpeInterpretation
< 0Losing strategy
0 – 1Marginal; could be noise
1 – 2Decent retail edge
2 – 3Strong; rare for discretionary, common for systematic
> 3Suspicious unless multi-strategy portfolio, market-neutral, or HFT

A Sharpe above 3 in a single-strategy retail backtest almost always reflects overfitting, look-ahead bias, or survivorship bias — see biases in backtesting.


When These Ratios Lie to You

Both ratios are parametric — they assume σ summarizes risk and that returns are roughly Gaussian. Three failure modes matter:

1. Fat Tails

Crypto liquidations, exchange outages, and gap risk produce returns far outside what σ implies. When tails are fat, σ understates true risk and SR overstates skill. Outliers can wreck your Sharpe — a single 8σ event in your sample makes the ratio worthless without robust adjustment.

See also skewness and kurtosis for the distributional context: negative skew + excess kurtosis = SR/Sortino flatter the strategy.

2. Selection Bias from Multiple Backtests

If you backtest 100 strategy variants and report the best Sharpe, you've inflated the estimate by approximately √(2·ln(N))·σ_SR ≈ 3·σ_SR for N=100. The Deflated Sharpe Ratio (Bailey & López de Prado, 2014) corrects for this.

3. Small-Sample Standard Error

The standard error of an estimated Sharpe is approximately:

SE(SR) \approx \sqrt{\frac{1 + 0.5 \cdot SR^2}{n}}

For n = 100 and SR = 1, SE ≈ 0.11 — meaning a "Sharpe of 1.0" is really "1.0 ± 0.22" at 95% confidence. Below 100 trades, your point estimate is noise. The Probabilistic Sharpe Ratio (PSR) gives you a confidence-adjusted version.


Probabilistic and Deflated Sharpe (Brief)

Bailey & López de Prado (2012, 2014) propose two corrections:

  • PSR — probability that the true Sharpe exceeds a benchmark, given sample size, skew, and kurtosis. Useful when you have one strategy and want to know "is this real?"
  • DSR — adjusts PSR for the number of trials (multiple-testing). Useful when you've optimized over many backtest variants.

If you're publishing or sizing real capital based on a Sharpe figure, report PSR alongside it. A PSR < 95% on a "great" Sharpe usually means the result isn't statistically distinguishable from noise.


FAQ

What is the formula for the Sharpe ratio?

The Sharpe ratio is SR = (R_p − R_f) / σ_p, where R_p is the portfolio return, R_f is the risk-free rate, and σ_p is the standard deviation of excess returns. It's typically annualized by multiplying by √(periods per year) — √365 for daily crypto returns.

How is the Sortino ratio different from the Sharpe ratio?

Sortino replaces total standard deviation σ_p with downside deviation σ_d, which only counts squared shortfalls below a target rate (MAR). This stops upside volatility from being penalized — useful for trend-following or asymmetric strategies where positive skew is a feature, not a risk.

How do I annualize a Sharpe ratio for daily crypto returns?

Multiply by √365, not √252. Crypto trades 24/7, so all 365 days contribute returns. For hourly returns, use √(365·24) ≈ 93.6. Always disclose the annualization basis when reporting a Sharpe figure.

What counts as a "good" Sharpe ratio?

For annualized retail crypto strategies: SR above 1 is decent, above 2 is strong, and above 3 is suspicious unless you're running multi-strategy or HFT. Numbers above 3 from a single-strategy backtest typically reflect overfitting or survivorship bias.

Why is my Sortino lower than my Sharpe?

Negative skew. Sortino is normally higher than Sharpe because downside deviation σ_d is smaller than total σ. If yours is lower, your loss distribution has more mass in the left tail than the right — large, rare losses dominate downside risk.

Can I trust a Sharpe ratio computed from 30 trades?

No. The standard error of an estimated Sharpe is approximately √((1 + 0.5·SR²) / n). With n = 30 and SR = 1, your 95% confidence interval spans roughly ±0.4 — wide enough that "Sharpe 1.0" is statistically indistinguishable from "Sharpe 0.6" or "Sharpe 1.4". Wait for 100+ observations.

What is the Probabilistic Sharpe Ratio?

PSR (Bailey & López de Prado, 2012) gives the probability that the true Sharpe exceeds a benchmark, conditional on sample size, skewness, and kurtosis. It's the right metric when you want to ask "is this Sharpe statistically real?" rather than just reporting the point estimate.


Sources

  • Sharpe, W. F. (1966). "Mutual Fund Performance." Journal of Business, 39(1), 119–138.
  • Sharpe, W. F. (1994). "The Sharpe Ratio." Journal of Portfolio Management, 21(1), 49–58.
  • Sortino, F. A., & Price, L. N. (1994). "Performance Measurement in a Downside Risk Framework." Journal of Investing, 3(3), 59–64.
  • Bailey, D. H., & López de Prado, M. (2012). "The Sharpe Ratio Efficient Frontier." Journal of Risk, 15(2).
  • Bailey, D. H., & López de Prado, M. (2014). "The Deflated Sharpe Ratio." Journal of Portfolio Management, 40(5), 94–107.
  • López de Prado, M. (2018). Advances in Financial Machine Learning, Wiley — PSR/DSR chapters.

Next Steps

The Sharpe ratio is itself a signal-to-noise statistic — mean over std. For a deeper treatment of SNR in trading metrics, continue to Signal-to-Noise Ratio.