Log Returns vs. Returns

In the world of finance, comparing asset performance isn't always straightforward. This post dives into the difference between returns and log returns, emphasising the nice mathematical properties of the latter.

Simple Returns

Raw prices can be misleading when comparing assets. A high-priced stock might appear impressive, but what if it's stagnant? Meanwhile, a lower-priced stock could be experiencing rapid growth. As an investor/trader you do not care what the exact price of an asset is, only where the price is relative to where it where it has been.

Let's denote $p_t$ as the price of an asset at time t. The return ($r_t$) is calculated as:

$$ r_t = \frac{p_t - p_{t-1}}{p_{t-1}} = \frac{p_t}{p_{t-1}} - 1 $$

In essence, return is the relative change in price over a given time period. It's worth noting that $r_t > -1$, as prices can't go below zero (usually)

For example, if $p_{t-1} = 100$ and $p_t = 110$, then $r_t = 0.1$, representing a 10% return.

Log Returns

Log returns aim to capture the same idea - change instead of price - but calculates it differently.

Log returns are given by: $$ z_t := \log \left(1+r_t \right) = \log \left( \frac{p_t}{p_{t-1}} \right) $$

Log returns offer several compelling advantages:

  1. Accurate approximation: For small returns, log returns closely approximate raw returns.
  2. Simplified compounding: Log returns can be easily summed over time periods.
  3. Infinite support: Unlike raw returns, log returns aren't bounded, resulting in greater symmetry.
  4. Normality: Assuming log-normally distributed prices, log returns follow a normal distribution.

Let's explore each of these benefits in detail:

Approximation of Raw Returns

For small values of $ x $, $\log(1 + x) = x - \frac{x^2}{2} + \frac{x^3}{3} - \dots \approx x$. This means that for typical daily returns, which are often close to zero, log returns provide a good approximation of raw returns while offering mathematical advantages.

Simplified Compounding

One of the most elegant properties of log returns is how they simplify the calculation of compounded returns.

Say you want to find the return over a tradiing week with daily returns $ r_0 = 0.01, r_1 = 0.05, r_2 = -0.2, r_3 = 0.1, r_4 = 0.12 $.

The price at the end of the week ($p_4$) can be calculated using each return: $$ p_4 = (p_0)(1+0.01)(1+0.05)(1-0.2)(1+0.1)(1+0.12) = 1.0452288 p_0$$

Thus, $$ r_{0:4} = \frac{1.0452288p_0}{p_0} -1 = 0.0452288 $$

From this we can see the general formula is $$ r_{0:T} = \prod_{t=0}^{T} (1+r_t) -1$$

To get log returns we use the definition: $$ \begin{aligned} z_{0:T} &= \log (1+r_{0:T}) \\[0.5em] &= \log \left( 1 + \prod_{i=0}^{T} (1+r_i) - 1 \right) \\[0.5em] &= \sum_{t=0}^{T} \log(1+r_i)\\[0.5em] & =\sum_{t=1}^T \log \left(\frac{p_t}{p_{t-1}}\right) \\[0.5em] & =\sum_{t=1}^T\left[\log p_t-\log p_{t-1}\right] \\[0.5em] & =\log p_T-\log p_0\\[0.5em] &= \sum_{t=1}^T z_t \end{aligned} $$

This property makes log returns particularly useful when dealing with high-frequency data or long time series, as we can just add the intermediate log returns to get the log returns over the whole period.

Infinite Support

Raw returns have a lower bound of -1 (100% loss), but no upper bound. Log returns, however, have infinite support in both directions.

Symmetry

Simple returns are not symmetric. In order to recover from a return of -0.9 you need a return of 10.0. Log returns, however, solve this problem. The natural logarithm function accentuates small negative returns while squashing large positive returns. Because of this, the log return for a doubling is the same distance from 0 as the log return from a halving; returns are symmetric. This symmetry is not only helpful for human intuition, but often aligns better with statistical models and risk management techniques.