Sharpe Ratio — Return

Annualized Sharpe ratio computed on the Return equity curve (low-to-low log-returns).

Computed from
Equity curve
Scope
Single report
Range
Any real number
Direction
Higher is better
Basis
Computed on the low-to-low Return Series (money-weighted) — measured day-worst-point to day-worst-point, not close-to-close.

The Sharpe ratio answers one question: how much return did this account earn for each unit of risk it took on? It divides the average return by how much that return bounced around, so a steady 1%/month scores far higher than a wild ride that happens to end at the same place.

How it's calculated

Sharpe = mean(r) / stdev(r) × √(ann_factor)
r
per-period return of the equity curve (log-returns in % mode)
mean(r)
average return across all periods
stdev(r)
standard deviation of those returns — the "risk"
ann_factor
periods per year, derived from the data (~252 for forex, ~365 for crypto)
In this product: EquityTruth uses the low-to-low series — daily returns measured from each day's minimum equity to the next day's minimum, so worst-case intraday swings are captured rather than the polite day-close. Using the daily low instead of the close is deliberately conservative, so expect this Sharpe to read lower than the close-to-close figure most platforms (e.g. Myfxbook) quote for the same account. In % mode returns are log-returns; in P&L mode they are arithmetic dollar changes (dollars add, so no log). The annualization factor is measured from the record's own observation frequency (≈252/yr for forex), not hardcoded.

On the Return and TWR curves the returns are log-returns (percentages compound), so the Sharpe here is size-independent and comparable across accounts. The difference between the two is the cashflow treatment: Return is money-weighted (deposits/withdrawals move it), TWR strips them out — see the curve linked above.

There is no risk-free rate subtracted — the threshold is zero. For short-horizon trading accounts the risk-free drag is negligible, and leaving it out keeps the number comparable across records. The tradeoff: against a cash or benchmark yardstick this overstates Sharpe by roughly the risk-free rate divided by volatility, so in a high-rate environment treat sub-1 readings as a touch generous.

What it tells you

ValueReadingNotes
< 0LosingNegative average return — risk taken for nothing.
0 – 1WeakReturns barely exceed their own noise.
1 – 2SolidA genuine, tradeable edge.
2 – 3ExcellentStrong reward per unit of risk.
> 3SuspiciousRare on real money — check for overfitting or a too-short record.

A useful mental picture: the Sharpe ratio is the signal-to-noise of an equity curve. A high number means the upward drift is large compared to the day-to-day jitter around it. One handy property follows from this: Sharpe doesn't change when you scale leverage up or down — both the return and its volatility scale together — which is exactly why it works as a cross-account comparator where raw return doesn't. (The exception is leverage high enough to trigger margin stops or a blow-up; the fat-tail pitfall below covers that.)

Worked example

The series has one observation per trading day (the day's low-to-low return). Say the average daily return is 0.08% with a daily standard deviation of 0.6%, over a forex record where the data-driven annualization factor works out to ≈252. A daily number is tiny, so we scale it up to a full year — that's what annualized means, and the ×√252 stretches one day's reward-to-risk across the ~252 trading days in a year:

Sharpe = 0.08% / 0.6% × √252 = 0.133 × 15.87 ≈ 2.1

A daily reward-to-risk of 0.133 is modest, but scaled up across a full year of trading days it annualizes to an excellent ~2.1.

Pitfalls

Pitfalls & caveats
  • Volatility cuts both ways. A few huge winning days raise your standard deviation and lower your Sharpe — penalizing exactly the outcome you wanted. Sortino fixes this by measuring only downside deviation.
  • Not comparable across trade frequencies. Sharpe here is the daily return-to-risk scaled up by √252. A fast strategy that trades many times a day annualizes to a much bigger number than a slow one with the same per-trade skill — so a high-frequency Sharpe and a swing-trading Sharpe aren't the same yardstick. Same √N caveat as SQN.
  • Trending positions inflate it. The math assumes each day's return is independent of the last. Strategies that hold or pyramid into a trend produce smooth, autocorrelated returns that shrink the measured volatility and inflate Sharpe — the classic way a too-good Sharpe lies. Read it next to max drawdown, which serial correlation can't hide.
  • Short records inflate it. A handful of lucky weeks can produce a Sharpe above 3 that won't survive. Always read it next to the track-record length.
  • Fat tails hide here. Sharpe assumes returns are roughly normal. A strategy that sells options or martingales can show a great Sharpe right up until the blow-up — check kurtosis and max drawdown alongside it.
  • Below zero it inverts. When the average return is negative, more volatility makes Sharpe look less bad — so don't rank losing accounts by Sharpe, the math runs backwards there.

A Sharpe above 3 on a record shorter than a year is a yellow flag, not a gold star. On real money, sustained Sharpe ratios above 2 are uncommon.

Sharpe vs Sortino vs Calmar

All three are "return per unit of risk" — they differ in how they define risk:

MetricRisk measureBest when you care about…
Sharpetotal volatility (both sides)overall smoothness of the curve
Sortinodownside deviation onlynot penalizing upside spikes
Calmarmaximum drawdownsurviving the single worst stretch

Related metrics

Further reading