Alpha Rotation
A sophisticated rotation strategy that selects sector ETFs based on their Fama-French alpha—the portion of returns unexplained by common risk factors. Unlike raw momentum, alpha rotation identifies true outperformance after adjusting for market, size, and value exposures.
Overview
The alpha rotation strategy improves upon simple momentum by using risk-adjusted alpha instead of raw returns. Alpha is the intercept from regressing sector returns against the Fama-French factors (market, size, value, profitability, investment), representing returns that cannot be explained by exposure to common risk factors.
The intuition is simple: a sector showing high raw returns might just be taking on more market risk. By computing alpha, we isolate the true excess return—the portion that represents genuine outperformance rather than factor loading. Positive alpha indicates skill or an anomaly worth exploiting.
Research by Sarwar, Mateus, and Todorovic (2017) found that a long-only sector rotation strategy buying sectors with positive five-factor alpha generates four times higher Sharpe ratio than S&P 500 buy-and-hold. When combined with a recession filter, the Sharpe ratio improvement is ten-fold.
Key Insight
Sector Alpha Rankings
Sectors ranked by Fama-French 3-factor alpha.Sectors with positive alpha (α > 0) are selected for the portfolio.
Research
Alpha-based rotation combines insights from factor investing and sector rotation research. By using regression alpha instead of raw returns, the strategy identifies sectors with genuine excess returns after controlling for systematic risk exposures.
The Mathematics
In Plain English
The math behind this strategy is straightforward. Here's what you're actually doing:
- 1Collect 36 months of monthly returns for each sector ETF
- 2Run a regression of each sector's returns against the Fama-French factors
- 3Extract the alpha (intercept) from each regression
- 4Select all sectors with positive alpha for the portfolio
- 5Equal-weight the selected sectors and hold for one month
- 6Repeat monthly with updated rolling regressions
That's it. The formulas below just express this process precisely.
1Fama-French Three-Factor Regression
Where R_i(t) is sector i return, R_f is risk-free rate, MKT is market excess return, SMB is small-minus-big (size), HML is high-minus-low (value). Alpha (α_i) is the unexplained excess return.
2Fama-French Five-Factor Regression
Adds RMW (robust-minus-weak profitability) and CMA (conservative-minus-aggressive investment). The five-factor model better fits sector returns and produces more reliable alpha estimates.
3Selection Rule
Select all sector ETFs with positive estimated alpha. Equal-weight the selected sectors. If no sectors have positive alpha, hold cash or a broad market ETF.
Rolling WindowNote
Use a 36-month rolling window to estimate alpha. This balances stability (longer window) with responsiveness (shorter window). Some implementations use 60 months for more stable estimates.
Factor Data SourceNote
Fama-French factor returns are available free from Kenneth French's data library. Use monthly factor returns matching your ETF return frequency.
Strategy Rules
Universe & Data
- Use the 10 S&P 500 sector ETFs (XLK, XLV, XLF, XLY, XLP, XLE, XLI, XLB, XLRE, XLU)
- Collect at least 36 months of monthly return history
- Download Fama-French factor data from Kenneth French's website
- Use total returns (dividend-adjusted) for sector ETFs
- Match the frequency: monthly returns with monthly factors
Alpha Calculation
- 1Run OLS regression of excess returns on FF3 or FF5 factors
- 2Use 36-month rolling window ending at month-end
- 3Extract the intercept (alpha) from each regression
- 4Record statistical significance (t-stat) if filtering by it
- 5Update regressions monthly with new data
Portfolio Construction
- Select all sectors with alpha > 0
- Equal-weight selected sectors
- If no positive alphas, hold cash or broad market ETF (SPY)
- Optional: require t-stat > 1.5 for stronger conviction
- Rebalance on the last trading day of each month
Risk Management
- 1Monitor number of selected sectors (diversification)
- 2Consider recession filter: hold bonds during NBER recessions
- 3Set maximum sector allocation (e.g., 25% per sector)
- 4Track factor exposures of overall portfolio
- 5Review regression fit (R-squared) for reliability
Implementation Guide
Implementing alpha rotation requires running monthly regressions, which is more complex than simple momentum but provides risk-adjusted signals. Python or R makes this straightforward.
Gather Return Data
Collect monthly total returns for the 10 sector ETFs going back at least 36 months. Use adjusted close prices to capture dividends.
- Data sources: Yahoo Finance, Alpha Vantage, Tiingo
- Calculate monthly returns: (P_t / P_{t-1}) - 1
- Align dates to end-of-month
- Store in a structured format (CSV, DataFrame)
Download Fama-French Factors
Get the monthly Fama-French factor returns from Kenneth French's data library. These are freely available and updated regularly.
- URL: mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html
- Download "Fama/French 3 Factors" or "Fama/French 5 Factors (2x3)"
- Factors are in percentage form—match your ETF return format
- RF (risk-free rate) is included in the file
Run Rolling Regressions
For each sector, run a regression of excess returns (R_i - RF) on the factors using a 36-month rolling window. Extract the alpha (intercept) from each regression.
- Python: use statsmodels OLS or sklearn LinearRegression
- R: use lm() function
- Excess return = ETF return - RF
- Save alpha, t-statistic, and R-squared for each sector
Ensure your factor data dates align exactly with your ETF return dates. Misalignment causes incorrect alpha estimates.
Select Positive Alpha Sectors
At month-end, identify all sectors with positive alpha. These are your buy candidates. Equal-weight them for the next month's portfolio.
- Simple rule: alpha > 0 means include
- Stricter rule: require t-stat > 1.5 or 2.0
- If no positive alphas, hold cash or SPY
- Record your selections for performance tracking
Execute & Rebalance Monthly
On the last trading day of each month, rebalance to the new set of positive-alpha sectors. Sell sectors that turned negative, buy new positive-alpha sectors.
- Use limit orders around the close
- Equal-weight means 100% / number of selected sectors
- Typical selection: 4-7 sectors out of 10
- Track turnover for tax efficiency
Tools Required
This strategy requires running regressions, so you'll need Python, R, or Excel with regression capability. A basic broker account is sufficient for execution. Consider automating the monthly calculation with a script.
Helpful Tools & Resources
Strategy Variations
Explore different ways to implement this strategy, each with its own trade-offs and benefits.
Five-Factor Alpha
Use the Fama-French five-factor model instead of three factors. Adds profitability (RMW) and investment (CMA) factors for more precise alpha estimates.
Research shows five-factor model fits sector returns better.
Recession Filter
During NBER-defined recessions, move entirely to bonds or cash regardless of sector alphas. Dramatically improves Sharpe ratio by avoiding drawdowns.
Ten-fold Sharpe improvement vs. buy-and-hold.
Alpha Momentum
Instead of just positive/negative alpha, rank sectors by alpha and select top N. Combines alpha signal with momentum-style ranking.
More concentrated portfolio, potentially higher returns.
Long/Short Alpha
Go long sectors with positive alpha and short sectors with negative alpha. Creates a market-neutral portfolio betting on alpha dispersion.
Requires margin and short-selling capability.
Statistical Significance Filter
Only select sectors where alpha has t-statistic > 2.0, indicating statistical significance. Reduces false positives from noisy estimates.
Fewer positions but higher conviction.
Risks & Limitations
Alpha is estimated from a 36-month regression and contains estimation error. Past alpha may not persist, especially when based on noisy data or short windows.
The relationship between sectors and factors can change over time. A sector's alpha may flip from positive to negative as market regimes shift.
The Fama-French model may not capture all relevant risk factors. Apparent alpha could actually be compensation for omitted risks.
Running monthly regressions requires data management and coding skills. Errors in factor alignment or return calculation can invalidate the strategy.
When few sectors have positive alpha, the portfolio becomes concentrated. This increases idiosyncratic risk and volatility.
As factor investing becomes mainstream, sector alphas may shrink. More capital chasing the same signals can arbitrage away excess returns.
References
- Sarwar, G., Mateus, C., & Todorovic, N. (2017). US Sector Rotation with Five-Factor Fama-French Alphas. Journal of Asset Management, 19(2), 116-132 [Link]
- Hübner, G. (2018). Alpha Momentum and Price Momentum. International Journal of Financial Studies, 6(2), 49 [Link]
- Fama, E.F. & French, K.R. (2015). A Five-Factor Asset Pricing Model. Journal of Financial Economics, 116(1), 1-22 [Link]
- Ehsani, S. & Linnainmaa, J. (2022). Factor Momentum and the Momentum Factor. Journal of Finance, 77(3), 1877-1919 [Link]
ETF trading involves risk of loss. Alpha rotation requires running statistical regressions and may produce unreliable signals during regime changes. Past alpha does not guarantee future alpha. This is educational content, not investment advice.
Ready to explore more ETF strategies?
Discover additional tactical ETF strategies including sector momentum, factor timing, and risk parity approaches.
Browse ETF Strategies