Simple vs Log Returns — Which to Use and Why
Simple and log returns measure the same underlying price change but behave differently under aggregation, transformation, and statistical modeling. Choosing the wrong one introduces silent bias into compounding calculations, volatility estimates, and any model that assumes additivity or normality.
The two definitions
Given a price series P at times t-1 and t, simple (arithmetic) returns and log (continuously compounded) returns are defined as follows. Both are dimensionless and reduce to roughly the same number when the move is small.
The relationship between them is exact: r_log = ln(1 + r_simple), and conversely r_simple = exp(r_log) - 1. For |r| under about 5%, the two differ by less than 0.13 percentage points. Past 10%, the divergence is material and the choice matters.
When to use which
Use log returns when you are aggregating across time. They are additive: the log return over N periods equals the sum of the per-period log returns. This makes them the natural choice for compounding, time-scaling volatility (sigma scales with sqrt(T)), Brownian-motion-based models, GARCH, and anything fed into a regression where you want symmetric, additive errors.
Use simple returns when you are aggregating across assets at a single point in time. A portfolio's simple return is the weighted sum of its constituents' simple returns. Log returns do not have this property — the log return of a portfolio is not the weighted sum of its components' log returns. For attribution, position sizing, and any cross-sectional calculation, simple returns are correct.
Typical ranges and interpretation
Daily equity log returns sit in roughly ±2% on quiet days and ±5% on volatile ones. A daily log return below -10% is a once-per-decade event in broad indices and a once-per-year event in single names. Annualized log volatility for liquid equities typically lands between 0.15 and 0.40; crypto majors run 0.60 to 1.20.
The arithmetic mean of log returns is always less than or equal to the arithmetic mean of simple returns, with equality only when variance is zero. The gap is approximately sigma squared over 2 — the volatility drag. This is why a strategy with positive mean simple return can have negative mean log return, and why CAGR (a geometric measure) is always below the arithmetic mean of simple returns.
What returns do not capture
Neither flavor encodes path. A 20% drawdown followed by a 25% recovery produces a log return of zero and a simple return of zero, but the experience of holding that position — margin calls, forced liquidations, behavioral capitulation — is not visible in the endpoint number. Drawdown statistics, time-under-water, and ulcer index exist precisely because returns alone are insufficient.
Returns also assume frictionless reinvestment. If you cannot actually compound at the realized rate — because of lot sizes, minimum tick increments, borrow costs that scale non-linearly, or tax lots — then the geometric series implied by log returns overstates achievable performance. Backtests that compound log returns without modeling these frictions produce upward-biased equity curves.
Finally, returns are scale-invariant but not regime-invariant. A 1% daily log return means something different in a 10% annualized vol regime than in a 40% one. Standardizing by rolling volatility (z-scoring returns) is often more informative than the raw series for signal construction.
In Kestrel Signal
Kestrel Signal stores price-derived series in log-return space internally — volatility, correlation, and time-series statistics are computed there for additivity and numerical stability. Portfolio-level P&L, position weights, and equity curves are presented in simple-return space, since that is the basis on which capital actually compounds and on which a trader allocates between strategies. Conversions happen at well-defined boundaries, and both representations are exposed in the API for any custom metric you build on top.