Quantitative Research

ExBeta Return — 120m Window

PCA on ExBeta+Size+Liquidity adjusted return signal, 120-month rolling window
@Pavanmirla  |  Generated: 24 February 2026  |  Data: Jan 1999 – Dec 2025

Configuration

PCA Window
120m
Components
5
Portfolios
10
Return (Signal)
ExBeta
Return (Backtest)
ExBeta
Return Horizon
T+1 month
Data coverage note  —  Backtest P&L ends Dec 2025  |  PCA scores available to Jan 2026  (1 months beyond backtest)
The data file covering Dec 2025 onward contains BARRA factor exposures but no return data. Factor exposures alone are sufficient to generate PCA scores and rank stocks — use the Positions Browser below to see the latest stock rankings through Jan 2026. Return data for that period is needed to extend the backtest statistics.

Methodology

Step 1
Load & Filter

Monthly BARRA factor exposures loaded. Stocks with all-NA factors excluded. Canada-class shares (gvkey suffix c/C) removed.

Step 2
Cross-Sectional Z-Score

Factor exposures are standardised cross-sectionally each month: subtract mean, divide by std. Prevents scale bias in PCA.

Step 3
Walk-Forward PCA

PCA fitted on a trailing 120-month window. Components applied to current month's universe. Sign-flip alignment ensures continuity across windows.

Step 4
Decile Backtest

Stocks sorted by PC score into 10 portfolios. Returns are T+1 forward (no look-ahead). Active = Decile − Universe mean. L/S = D1 − D10.

Signal & Backtest Interpretation

PCA Signal
ExBeta+Size+Liquidity
Returns used to rank stocks each month
=
Backtest Return
ExBeta+Size+Liquidity
Returns used to measure portfolio P&L
Lower vol (factor noise stripped) — requires factor hedges to trade

This run uses ExBeta+Size+Liquidity for both ranking and performance. Market beta, size, and liquidity drift are already stripped from returns before PCA sees the data, so the signal operates in a clean, factor-neutral space. The L/S portfolio has low residual market exposure, producing higher Sharpe ratios — but these returns are synthetic: to realise them you would need to hedge out the corresponding BARRA factors in your portfolio.

The three-run spectrum (from cleanest signal → real-money):
ExBeta+Ind
Market + sector stripped
Highest Sharpe
Requires hedges
ExBeta
Market only stripped
Mid Sharpe
Sector hedges needed
Total Return
No adjustment
Lower Sharpe
Fully tradeable
Concrete example — what the return columns mean

Suppose stock XYZ has the following in a given month:

Return typeValueWhat it captures
Total Return +4.8% Full price change — includes market rally (+2.1%), sector move (+1.2%), and stock-specific (+1.5%)
ExBeta Return +2.4% Market beta stripped — what remains after removing the broad market's contribution
ExBeta+Ind Return +1.5% Market + sector effects removed — pure stock-specific residual, lowest noise

When PCA is trained on ExBeta+Ind returns, it learns which combinations of BARRA factor exposures predict the stock-specific residual. When trained on Total Return, it tries to predict the full noisy signal including market and sector co-movement — harder, but the reward is directly tradeable.

L/S Performance Summary (D1 − D10)

Annualised statistics for the long-short portfolio (top decile minus bottom decile, equal-weighted). Returns not adjusted for transaction costs.

PC Ann Return Ann Vol Sharpe Max DD Hit Rate Months
PC1 -11.35% 29.94% -0.379 -362.99% 49.7% 324
PC2 9.25% 25.85% 0.358 -80.01% 57.7% 324
PC3 -4.81% 17.35% -0.277 -159.53% 42.0% 324
PC4 7.78% 18.01% 0.432 -58.58% 56.2% 324
PC5 2.21% 16.65% 0.133 -62.53% 51.5% 324

L/S Cumulative Return — All Components

Cumulative sum of monthly long-short returns. Click legend entries to toggle individual PCs.

Across all 5 components, PC4 is the strongest signal (Sharpe 0.43) and PC1 the weakest (Sharpe -0.38). 3 of 5 components produce a positive long-short return over the full period.

PC1 Analysis

PC1 shows no meaningful predictive power — Sharpe -0.38, L/S return -11.3% p.a., hit rate 49.7%, max drawdown -363.0%. D1 averages -6.9% vs D10 at +4.5% annualised active return. (324 monthly observations)

PC2 Analysis

PC2 shows moderate predictive power — Sharpe 0.36, L/S return +9.2% p.a., hit rate 57.7%, max drawdown -80.0%. D1 averages +4.6% vs D10 at -4.6% annualised active return. (324 monthly observations)

PC3 Analysis

PC3 shows no meaningful predictive power — Sharpe -0.28, L/S return -4.8% p.a., hit rate 42.0%, max drawdown -159.5%. D1 averages -2.3% vs D10 at +2.5% annualised active return. (324 monthly observations)

PC4 Analysis

PC4 shows moderate predictive power — Sharpe 0.43, L/S return +7.8% p.a., hit rate 56.2%, max drawdown -58.6%. D1 averages +2.1% vs D10 at -5.7% annualised active return. (324 monthly observations)

PC5 Analysis

PC5 shows weak predictive power — Sharpe 0.13, L/S return +2.2% p.a., hit rate 51.5%, max drawdown -62.5%. D1 averages +0.3% vs D10 at -1.9% annualised active return. (324 monthly observations)

Positions Browser

Top & bottom 20 stocks ranked by PC score for any date and component. Ticker, company name, and sector are sourced from the raw data files.

#TickerCompany SectorGVKeyPC Score

Factor Loadings Snapshot

Loadings computed on a 120-month trailing window, updated monthly (walk-forward). Green = positive loading, Red = negative. Left: Jan 2024  ·  Right: Jan 2026

PC1 Positive: LIQUIDTY (+0.46), EARNVAR (+0.42), MIDCAP (+0.37)  ·  Negative: SIZE (-0.38), DIVYILD (-0.23), EARNYILD (-0.15). (vs Jan 2024: LTREVRSL ↑0.03, LEVERAGE ↑0.02)
PC2 Positive: GROWTH (+0.33), PROFIT (+0.32), RESVOL (+0.27)  ·  Negative: BTOP (-0.46), DIVYILD (-0.38), EARNYILD (-0.29). (vs Jan 2024: GROWTH ↑0.03, LTREVRSL ↑0.03)
PC3 Positive: RESVOL (+0.42), SIZE (+0.41), EARNQLTY (+0.34)  ·  Negative: MIDCAP (-0.42), PROFIT (-0.25), GROWTH (-0.12). (vs Jan 2024: LTREVRSL ↑0.05, LEVERAGE ↑0.03)
PC4 Positive: LTREVRSL (+0.43), EARNQLTY (+0.37), MOMENTUM (+0.28)  ·  Negative: EARNYILD (-0.41), BTOP (-0.35), GROWTH (-0.26). (vs Jan 2024: LEVERAGE ↑0.08, GROWTH ↑0.07)
PC5 Positive: PROFIT (+0.51), LEVERAGE (+0.47), EARNYILD (+0.39)  ·  Negative: MOMENTUM (-0.27), LTREVRSL (-0.26), BTOP (-0.23). (vs Jan 2024: EARNVAR ↑0.06, BETA ↑0.06)

How to Read: Factor Loadings Heatmap

Each cell shows how strongly a BARRA factor (column) contributes to a principal component (row). Loadings are computed on a rolling 120-month window and re-estimated each month (walk-forward).

The snapshot shown is from the most recent date in the data. Because PCA is unsupervised, the sign of a PC can flip between windows — what matters is the relative ordering of factor weights, not their absolute sign.

How to Read: Cumulative & Annualised Active Returns

Active Return is the return of a stock minus the equal-weighted cross-sectional average for that month — it strips out the broad market move so only relative performance remains.

Decile construction — each month stocks are ranked by their PC score and split into 10 equal groups (D1 = highest score, D10 = lowest). Returns are shifted forward one month (T+1) to avoid look-ahead bias.

Cumulative Active Return (left chart)

Cumulativet = Σ Active Returns   (s = 1…t)

A D1 line trending upward over time indicates that stocks with high PC scores consistently outperform. A clean spread from D1 (top) to D10 (bottom) confirms the PC has durable predictive power.

Annualised Active Return (right chart)

Ann. Return = mean(Monthly Active Return) × 12 × 100

A monotonically declining bar (D1 highest, D10 lowest) shows the PC ranks stocks reliably. The Long-Short Sharpe ratio in the summary table is computed as:

L/S Sharpe = mean(D1 − D10) × √12 / std(D1 − D10)