๐ 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 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
๐ Rolling Return
A rolling return is the simple return of the sections above, measured over a window that slides along the series: one value per date, each looking back over the same span. Two features of an asset's page compute it, and they differ in how the span is counted โ in sessions, or in calendar days. The ๐ guide button on the card of the Rolling Return signal opens this page.
๐ Over a Window of Sessions
The Rolling Return signal of the Signals panel, in the risk family, reads the asset's prepared return series, in the chart's currency: one simple return per session, a day on which the asset has a quote of its own. A price stored on a weekend or a market holiday that only repeats the close before it is not a session. With \(V_t\) the value at session \(t\) and \(r_t = V_t / V_{t-1} - 1\), the rolling return over a window of \(w\) sessions is
computed through logarithms, \(R_t^{(w)} = \exp\left(\sum_{k=0}^{w-1} \ln(1 + r_{t-k})\right) - 1\), so that the window can slide one step at a time. The window \(w\) โ 30 by default, from 1 to 500 โ counts return observations, not calendar days: 30 sessions of an instrument quoted on weekdays span about six weeks, 30 sessions of one quoted every day span 30 days. The first value appears once \(w + 1\) valuations are available.
๐๏ธ Over a Window of Calendar Days
The chart's Rolling Return mode measures each date against the close exactly \(N\) calendar days earlier. With \(\hat{P}(d)\) the resolved close of calendar day \(d\) โ the last close available on or before \(d\), converted into the chart's currency, so that a weekend or a holiday reads the session before it โ the return on day \(d\) is
The presets 1W, 1M, 3M and 1Y set \(N\) to 7, 30, 90 and 365 days; a custom window counts 7 days a week, 30 a month and 365 a year. A point is left empty, never estimated, when either end has no resolved close or a close that is not positive; when no point of the range can be computed, the result is unavailable. Each point reports the reference date it asked for and the dates of the price and exchange rate actually used โ see the Interactive Chart.
โ๏ธ Sessions or Calendar Days
Both measures are price-only simple returns: neither adds dividends, coupons or cash flows, and neither is annualised. They answer slightly different questions:
| Window of sessions | Window of calendar days | |
|---|---|---|
| Span | \(w\) quotes, whatever time they cover | exactly \(N\) days, whatever the quoting rhythm |
| Defined on | the asset's sessions | every date of the chart |
| Comparing two assets | equal \(w\) can mean different spans | equal \(N\) always means the same span |
| A closed day at either end | cannot occur: only sessions are used | resolved to the last close before it |
To compare a rolling return with one over a different span, annualise it with the CAGR formula above, \(d\) being the span in calendar days โ bearing in mind the pitfall on very short periods below.
๐ 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.
๐ฐ Portfolio Return Methods
When a portfolio has cash flows (deposits, withdrawals), a single return formula is not enough, because capital injections or withdrawals would dilute or artificially inflate the percentage return.
To solve this, advanced performance metrics are used: - TWRR (Time-Weighted Rate of Return): Isolates the performance of the assets, ignoring the investor's cash flow timing. - MWRR (Money-Weighted Rate of Return): Measures the investor's personal performance, taking cash flow timing into account.
For a deep dive into how these metrics work, why they differ, and how LibreFolio uses them, see the dedicated Performance Metrics chapter.
โ ๏ธ 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