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

61 lines
3.6 KiB
Markdown

---
description: "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."
tags: [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).