Files
ai/gateway/knowledge/trading/strategies/stocks/mean-reversion-weighted-regression.md
Tim Olson 47471b7700 Expand model tag support: add GLM-5.1, simplify Anthropic IDs, scan tags anywhere in message
- Flink update_bars debouncing
- update_bars subscription idempotency bugfix
- Price decimal correction bugfix of previous commit
- Add GLM-5.1 model tag alongside renamed GLM-5
- Use short Anthropic model IDs (sonnet/haiku/opus) instead of full version strings
- Allow @tags anywhere in message content, not just at start
- Return hasOtherContent flag instead of trimmed rest string
- Only trigger greeting stream when tag has no other content
- Update workspace knowledge base references to platform/workspace and platform/shapes
- Hierarchical knowledge base catalog
- 151 Trading Strategies knowledge base articles
- Shapes knowledge base article
- MutateShapes tool instead of workspace patch
2026-04-28 15:05:15 -04:00

3.6 KiB

description, tags
description tags
Extends cluster mean-reversion to a general loadings matrix with non-binary (continuous) risk factor exposures and regression weights, enabling neutrality to arbitrary factor sets.
stocks
mean-reversion
weighted-regression
statistical-arbitrage

Mean-Reversion — Weighted Regression

Section: 3.10 | Asset Class: Stocks | Type: Mean-Reversion / Statistical Arbitrage

Overview

This strategy generalizes the cluster mean-reversion approach (Section 3.9) by replacing the binary loadings matrix with a general (possibly non-binary) loadings matrix Omega_{iA}. The resulting demeaned returns are orthogonal to all K loadings vectors, providing neutrality to the corresponding risk factors. Non-binary columns can represent industry-neutral, style factor, or principal component exposures.

Construction / Signal

The orthogonality condition for the twiddled (demeaned) returns R_tilde_i to a general loadings matrix Omega_{iA}:

sum_{i=1}^{N} R_tilde_i Omega_{iA} = 0,   A = 1,...,K    (313)

The twiddled returns are the residuals epsilon_i of the regression of R_i on Omega_{iA} with regression weights z_i:

R_tilde = Z epsilon                                        (314)
epsilon = R - Omega Q^{-1} Omega^T Z R                    (315)
Z = diag(z_i)                                             (316)
Q = Omega^T Z Omega                                       (317)

When the intercept is included in Omega_{iA} (i.e., a linear combination of columns equals the unit N-vector nu), then automatically:

sum_{i=1}^{N} R_tilde_i = 0                               (318)

(dollar-neutrality is automatic).

Weights z_i can be taken as z_i = 1/sigma_i^2 where sigma_i are historical volatilities (inverse-variance weighting).

Entry / Exit Rules

  • Entry: Compute residuals from the weighted regression; enter positions proportional to -R_tilde_i (buy underperformers relative to factor model, short outperformers).
  • Exit: Close when residuals converge; or at a fixed holding horizon.
  • Dollar-neutrality: Automatically satisfied if intercept is included in Omega.

Key Parameters

  • Loadings matrix Omega_{iA}: Binary (industry/sector) or non-binary (continuous risk factors, PCA components)
  • Regression weights z_i: Often 1/sigma_i^2 (inverse variance) or uniform
  • Number of factors K: At least 1; more factors remove more systematic risk exposures
  • Holding period: Short-term, matching the mean-reversion horizon

Variations

  • Binary Omega (reduces to Section 3.9): When Omega is a binary cluster membership matrix, recovers the single-cluster or multi-cluster mean-reversion formula exactly
  • PCA-based Omega: Use principal components of the return covariance matrix as non-binary columns
  • Style factor neutrality: Add style factor exposures (value, momentum, size, liquidity, volatility) as columns in Omega

Notes

  • This is the most general form of the cluster mean-reversion strategy family.
  • Non-binary columns in Omega (e.g., industry-based continuous risk factors, or PCA-derived factors) allow neutralization of more complex systematic risks.
  • In the zero specific-risk limit (all variance is factor-driven), optimization reduces to weighted regression.
  • The choice of Omega and z_i is the key design decision; binary industry/sector classifications are stable out-of-sample; continuous factor exposures require more frequent recalibration.
  • Building a reliable loadings matrix Omega is closely related to constructing a risk model (see Kakushadze and Yu references).