- 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
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. |
|
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).