π Returns & Growth Rates
This page covers the mathematical foundations of investment returns β how to measure, compare, and annualize growth rates. These concepts are used throughout LibreFolio's FX measurement tools and portfolio analytics.
π Simple (Discrete) Return
The simple return over a period is the percentage change:
Example
If EUR/USD moves from 1.10 to 1.14:
π Properties
- Intuitive: directly represents "how much you gained/lost"
- Not additive: you cannot simply sum simple returns across periods to get total return
- Compounding: multi-period returns must be multiplied, not added
π Logarithmic (Continuous) Return
The log return is the natural logarithm of the price ratio:
π Properties
- Additive across time: total log return = sum of sub-period log returns
- Symmetric: a +5% move followed by a β5% move returns exactly to the starting point
- Approximately equal to simple return for small values: \(r_{log} \approx R_{simple}\) when \(R_{simple}\) is small
π Conversion
π Annualized Return
To compare returns across different time periods, we annualize them β projecting the observed growth rate to a full year.
π Compound Annual Growth Rate (CAGR)
The most common annualization method. Given a total return over \(d\) calendar days:
This is what LibreFolio's Measures tool displays.
Example
EUR/USD moves from 1.10 to 1.14 over 90 days:
π Annualized Log Return
For log returns, annualization is simply scaling:
This linearity is one of the key advantages of log returns in quantitative finance.
π Relationship Between Simple and Log Returns
| Property | Simple Return \(R\) | Log Return \(r\) |
|---|---|---|
| Compounding | Multiplicative: \((1+R_1)(1+R_2)\) | Additive: \(r_1 + r_2\) |
| Symmetry | Asymmetric: +10% then β10% β 0 | Symmetric: +10% then β10% = 0 |
| Annualization | \((1+R)^{365/d} - 1\) | \(r \times 365/d\) |
| Portfolio returns | Weighted sum works β | Weighted sum doesn't work β |
| Time series | Not additive β | Additive β |
| Interpretation | "I gained 5%" | "Log growth rate was 0.0488" |
When to use which?
- Simple returns for reporting to users and computing portfolio-level returns
- Log returns for statistical analysis, volatility estimation, and time-series models
π Day Count Conventions
The number of days \(d\) can be computed differently depending on the convention:
- Actual/365: Calendar days (what LibreFolio uses)
- Actual/360: Calendar days over a 360-day year (common in money markets)
- 30/360: Assumes 30-day months and 360-day year
For more details, see Day Count Conventions.
β οΈ Pitfalls
- Very short periods: Annualizing a 3-day return can produce misleading figures (e.g., a 0.1% 3-day move β 12.5% annualized)
- Negative prices: Log returns are undefined for negative values β not an issue for FX rates
- Compounding frequency: CAGR assumes continuous compounding; real-world instruments may compound daily, monthly, or quarterly