Introduction
Rolling returns (aka rolling period returns) are a way to measure an investment’s performance over overlapping time windows. Instead of measuring return for a single fixed start and end date (for example Jan 1, 2010 → Dec 31, 2019), rolling returns compute the annualized return for every possible contiguous window of a chosen length (for example every 10-year window, every 5-year window, or every trailing-12-month window). This smooths short-term noise, reveals the distribution of outcomes, and shows how frequently and by how much performance varied over time.
Key takeaways
– Rolling returns show the annualized return for overlapping periods of a fixed length (e.g., 3‑yr, 5‑yr, 10‑yr).
– They smooth volatility and reveal how returns vary depending on the entry date.
– Trailing 12 months (TTM) is a common rolling period used to annualize recent data and remove seasonality.
– Rolling returns are backward-looking and should be combined with other analytics (drawdowns, volatility, fundamentals).
How rolling returns are constructed (mechanics)
1. Choose a window length (n years, n months, or n quarters).
2. Choose a frequency for rolling windows (monthly, daily, quarterly).
3. For each possible window ending at each sample point, compute the annualized return (CAGR) over that window.
4. Collect the series of those annualized returns. You can analyze the time series, histogram, percentiles, min/max, or averages of that series.
Core formula: annualized return (CAGR) for a period
For a window that starts with value V0 and ends with value Vt covering t years:
CAGR = (Vt / V0)^(1/t) − 1
If your data are monthly and the window is M months:
Annualized return = (V_end / V_start)^(12 / M) − 1
Practical example (conceptual)
– 5‑year rolling return for 2015 covering Jan 1, 2011 → Dec 31, 2015.
– 5‑year rolling return for 2016 covers Jan 1, 2012 → Dec 31, 2016.
Repeat for each end date (monthly or daily end dates if using higher frequency).
Step-by-step: compute rolling returns (practical workflow)
1. Gather price/total-return series
• Use total-return series (include dividends) for funds and equities to reflect true investor returns.
• Use consistent frequency (daily, monthly, quarterly). For many analyses monthly returns balance noise and sample size.
2. Decide window length and roll frequency
• Typical windows: 1y (TTM), 3y, 5y, 10y.
• Typical roll frequency: monthly or daily for finer resolution.
3. Compute annualized returns for each rolling window
• For each window, compute CAGR = (V_end / V_start)^(1 / years) − 1.
• For monthly data and M-month windows, years = M / 12.
4. Analyze the rolling-return series
• Plot the time series (shows how rolling return evolved).
• Plot histogram and compute percentiles, mean, median, min, max.
• Combine with rolling volatility, drawdowns, or rolling Sharpe ratio for deeper insight.
Excel: formulas and approach
– Suppose monthly prices in column B starting at B2 (date in A2) and you want 60-month (5-year) rolling annualized returns output in C2 onward.
– A simple INDEX-based formula for row i representing window starting at row i and ending at row i+59:
= (INDEX($B:$B,ROW()+59) / INDEX($B:$B,ROW()))^(12/60) – 1
– If you want the series keyed to the window end date, you may shift row references accordingly.
– If you have returns rather than prices, you can compute cumulative return with PRODUCT(1+range) and annualize:
= (PRODUCT(1 + OFFSET($B$2,ROW()-1,0,60,1)) )^(12/60) – 1
– Note: For irregular or nonuniform spacing (business days, missing data), use date-aligned INDEX or XLOOKUP for start/end dates.
Python / pandas: practical snippet
(Concept, use in a script)
– If you have a pandas Series of prices indexed by date (monthly):
def rolling_cagr(prices, window_months):
# rolling window of length window_months
def cagr(x):
start = x.iloc[0]
end = x.iloc[-1]
years = (len(x) / 12.0)
return (end / start)**(1.0/years) – 1.0
return prices.rolling(window=window_months).apply(lambda x: cagr(x), raw=False)
– For performance on large series, compute start and end via shift: cagr_series = (prices / prices.shift(window_months)) ** (12.0 / window_months) – 1
Trailing 12 months (TTM): role and calculation
– TTM uses the most recent 12 consecutive months of data to create an annualized metric. It is commonly used for revenue, EPS, cash flow, and for short rolling returns with monthly/quarterly data.
– TTM is useful because it lessens seasonality and one-off distortions. It is backward-looking and constructed from the last 12 months’ reported values.
– Example (from public filings): To compute TTM revenue when quarterly data are available:
TTM revenue = Full-year revenue for last fiscal year − Revenue from the comparable quarter of the prior year + Revenue for the most recent quarter.
(General Electric example: TTM revenue computed by adjusting 2019 full-year revenue with Q1 2020 minus Q1 2019.)
– Note: TTM is not typically shown in GAAP filings; analysts may compute it from quarters.
How to interpret rolling returns
– Distribution: Look at median, mean, min, max, and percentiles. This reveals how often an investor entering at random times would have achieved certain annualized returns.
– Volatility: Compare rolling returns for different window lengths. Shorter windows will show more dispersion.
– Sensitivity: If rolling returns change a lot with small changes in start date, returns are path-dependent and timing matters.
– Use with other metrics: Rolling returns alone can hide drawdowns and risk. Combine with maximum drawdown, rolling volatility, and Sharpe ratios.
Use cases
– Mutual fund and ETF performance comparison (shows robustness rather than cherry-picked start dates).
– Manager skill analysis — how consistently a manager outperformed across many entry points.
– Backtesting strategy stability — check how often a strategy achieved target returns.
– Corporate KPI analysis using TTM to assess most recent performance on an annualized basis.
Advantages
– Smooths short-term fluctuations and reduces the impact of a single start/end date.
– Shows the distribution and frequency of outcomes across many possible entry dates.
– Useful for comparing strategies/funds on a more robust basis.
Limitations and pitfalls
– Backward-looking — no guarantee of future performance.
– Sensitive to window length and data frequency — choose windows consistent with investor horizon.
– Survivorship bias — ensure the dataset includes delisted funds/assets if you want realistic distribution.
– Can mask short-term risks such as severe drawdowns if only looking at annualized figures.
– Rolling returns computed from prices ignore cash flows (contributions/withdrawals) unless you use cash-flow aware metrics (IRR/XIRR).
Suggested best practices
– Report multiple window lengths (1y/3y/5y/10y) so stakeholders see short- and long-term behavior.
– Use total-return data (including dividends/distributions) where relevant.
– Present rolling returns with associated risk metrics (volatility, drawdowns).
– Visualize both the time series and the distribution (histogram, boxplot).
– Avoid drawing conclusions from a single rolling-window chart — analyze percentiles and consistency.
Visualization ideas
– Time-series plot of rolling return over time (shows trends).
– Histogram or kernel density of rolling-return values (shows dispersion).
– Boxplots for different windows (compare 1y vs 3y vs 5y distributions).
– Overlay benchmark rolling returns to compare relative performance.
Sample interpretation scenarios
– Narrow band of 5‑yr rolling returns with high mean: suggests stable, robust performance across entry dates.
– Wide dispersion and many negative tails in 5‑yr rolling returns: implies high path dependence and risk of poor outcomes depending on timing.
Bottom line
Rolling returns are a practical, robust way to understand how sensitive investment outcomes are to entry date and to visualize the range of realized annualized returns over many overlapping windows. They are widely used by analysts to smooth seasonality and short-term noise, and TTM is a common rolling window for assessing recent annualized performance. Combine rolling-return analysis with volatility, drawdowns, and fundamental assessment for a complete picture.
Sources
– Investopedia, “Rolling Returns”
– General Electric Form 10-Q (quarterly) and 2019 Annual Report (examples of computing TTM): cited in the Investopedia article.