APEX: Bayesian-coherent composition of twelve academic factors on the equity cross-section
1. Introduction
The multi-factor literature has produced over six hundred candidate factors since Fama-French (1992), with replication studies (Hou-Xue-Zhang 2020, Harvey-Liu-Zhu 2016) suggesting most are statistically fragile. The institutional response has been twofold: shrink the factor zoo to a small validated set, and combine those factors via principled aggregation rather than equal-weight averaging.
This paper documents an implementation of the second response. We compose twelve factors with peer-reviewed literature support into a single composite using multiplicative Bayesian composition across the regime, pattern, and tail-dependence layers, rather than the additive aggregation that produces well-known overstacking pathologies (Naive-Bayes-style independence assumption) on correlated signals.
The contribution is operational rather than theoretical: we describe a complete, testable, publicly-verifiable system that ships every layer of the composition to production daily and exposes its mathematical invariants for independent audit.
2. Engine architecture
2.1 Twelve-factor scoring layer
Each ticker receives twelve independent 0-100 factor scores computed daily:
| Factor | Anchor | Construction |
|---|---|---|
| Quality | Novy-Marx (2013) | Gross profit / total assets, FCF yield |
| Value | Fama-French (1992) | P/E, P/B, forward divergence |
| Momentum | Jegadeesh-Titman (1993) | 12-1 month price + revenue acceleration |
| PEAD | Bernard-Thomas (1989) | Earnings surprise magnitude × subsequent drift |
| Insider | Seyhun (1998) | 90-day net SEC Form 4 dollar flow, size-normalised |
| NLP tone | Loughran-McDonald (2011) + Li (2008) | 10-K MD&A negativity + readability |
| Options | Pan-Poteshman (2006) | Volume-weighted P/C ratio + IV skew |
| Accruals | Sloan (1996) | (NI − CFO) / total assets, deciled |
| Spillover | Cohen-Frazzini (2008) | Lagged industry-peer momentum |
| Sector | Moskowitz-Grinblatt (1999) | Sector vs broad-market 12-1 |
| Short | Asquith-Pathak-Ritter (2005) | Short-interest with directional inversion |
| Interaction | Asness-Moskowitz-Pedersen (2013) | (Q × V × M) standardised triplet |
Each factor returns a value in [0, 100] where 50 represents the universe median for that factor.
2.2 Cross-sectional standardisation
Per Asness (2013), each factor score is z-scored across the daily universe:
z_{i,f,t} = \frac{s_{i,f,t} - \mu_{f,t}}{\sigma_{f,t}}where \mu_{f,t} and \sigma_{f,t} are the cross-section mean and standard deviation of factor f on day t. This removes universe-wide drift in any single factor (e.g. all momentum scores rising together in a strong bull market) and produces a comparable z-vector.
2.3 Bayesian-shrunk adaptive weights
The factor weight vector w is estimated via Bayesian shrinkage of measured per-factor information coefficients (IC) toward a prior derived from cited effect sizes. The prior weight vector w_{prior} = (\theta_1, \theta_2, \ldots, \theta_{12}) is calibrated to published per-factor IC bounds; specific values are proprietary and withheld.
With insufficient OOS data (current state, prior to 16 May 2026), w defaults to the prior. Once the calibrate-weights cron has accumulated n \geq n_{min} filled forward returns per factor, the posterior weight is
\hat{w}_f = \frac{\tau \, w_{f,prior} + n_f \, \hat{IC}_f}{\tau + n_f}with shrinkage factor \tau chosen so the threshold sample size produces an equal blend with the prior. Specific \tau and n_{min} are proprietary.
2.4 Composite assembly
The composite is
C_i = 50 + \kappa \cdot \sum_f w_f z_{i,f}clipped to [c_{min}, c_{max}] to prevent extreme outliers. Scale factor \kappa and clip bounds are calibrated to keep the composite distribution centred and unimodal across the universe.
3. Composition layers above the composite
3.1 Regime conditioning (Hamilton 1989, Ang-Bekaert 2002)
A three-state Hidden Markov Model over (VIX, market breadth, 10Y-3M yield curve) classifies each day into {risk_on, transition, risk_off}. The composite is reweighted using regime-specific factor weights w^{(R)}, with a hard cap \Delta_{regime} on the regime-induced shift:
C_i^{adapted} = \text{clip}(C_i^{(R)} - C_i^{(static)},\, \pm \Delta_{regime}) + C_i^{(static)}This safety rail prevents a single regime classification from monopolising the verdict — a known failure mode where a transition-regime classifier could flip a strong factor signal into the opposite verdict. The specific value of \Delta_{regime} is calibrated to allow at most one verdict-tier shift and is proprietary.
3.2 Confluence pattern overlay
A library of multi-factor patterns (QUALITY_COMPOUNDER, VALUE_TRAP, SHORT_SQUEEZE_SETUP, REGIME_FACTOR_DIVERGENCE, etc.) detects specific cross-factor configurations with their own academic anchors (Lakonishok-Shleifer-Vishny 1994, Asquith-Pathak-Ritter 2005, Bradshaw 2004). When triggered, a pattern emits a signed override delta \delta_p bounded by published effect-size ranges:
C_i^{final} = C_i^{adapted} + \delta_pPattern delta bounds, the exact pattern set, percentile thresholds per factor, and pattern priorities are proprietary. Pattern deltas are applied AFTER the regime cap so that legitimate alpha signals are not suppressed.
3.3 Conformal prediction intervals (Vovk-Gammerman-Shafer 2005)
A 90% prediction interval [L_i, U_i] accompanies the point composite. We use Mondrian conformal binning (Barber-Candès-Ramdas-Tibshirani 2021) with bins indexed by (tail-alignment bucket × regime). When a bin has fewer than the minimum-calibration-sample threshold it falls back to the marginal halfwidth.
3.4 Copula tail-dependence amplifier (Schmidt-Stadtmüller 2006)
The Schmidt-Stadtmüller estimator \hat\lambda \in [0, 1] measures historical co-movement of pattern-constituent factors in their joint upper or lower tail. A tail-aligned signal earns a multiplicative amplifier K_{tail}(\lambda) bounded in a literature-anchored range; specific bounds and the \lambda-to-amplifier mapping are proprietary.
4. Forward return projection
Per-horizon expected return:
E[r_{i,h}] = m_h + \alpha(z_i) \cdot A_{regime} \cdot M_{pattern} \cdot K_{tail}where:
m_h= horizon-scaled market drift (Heston square-root time)\alpha(z) = z \cdot \alpha_{max} \cdot \sqrt{h / h_{ref}}, with\alpha_{max}bounded by the Asness-Moskowitz-Pedersen 2013 reported multi-factor IC range; specific value proprietaryA_{regime},M_{pattern},K_{tail}are bounded multiplicative amplifiers; specific bounds are proprietary- The four horizons
h \in \{1, 7, 30, 90\}trading days correspond to commonly reported holding windows in the cited literature
Var[r_{i,h}] = \sigma^2_{market}(h) \cdot I_{conformal}(w) \cdot V_{regime} \cdot D_{conf}Each variance amplifier is bounded with a documented ceiling. P(positive return) is computed via the Gaussian residual assumption justified by CLT after multiplicative shaping.
5. Portfolio construction
We use Treynor-Black (1973) inverse-volatility weighting with alpha tilt:
w_i^{raw} = \frac{\max(0, \alpha_i)}{\sigma_i}Long-only, normalised to sum 1, then iteratively constrained by per-position cap, per-sector cap, minimum position size, and maximum number of positions. Constraint values are parametrised by a user-selected risk tolerance level; specific bounds are proprietary.
We deliberately avoid full mean-variance optimisation due to the well-known instability of the inverse covariance matrix on small-N stock samples. Risk-parity-with-alpha-tilt produces stable weights and is the structural approach used by Bridgewater's All Weather strategy.
6. Transaction cost model
Per Hasbrouck (2009), Almgren et al. (2005), and Frazzini-Israel-Moskowitz (2018), we attach a tier-based round-trip cost (in basis points) anchored to the effective-spread ranges those studies report, plus an Almgren square-root impact penalty for trades exceeding a fraction of average daily volume. Net edge = gross alpha − round-trip TC; positions retaining less than half of their gross edge are flagged marginal. Tier boundaries and per-tier cost values are calibrated and proprietary.
7. Public verifiability
The implementation exposes a 21-invariant test battery at /diag/engine that runs on every request, asserting:
- neutrality (z=0 → drift only)
- maximum bull/bear bounded
- bull/bear alpha symmetry
- variance positivity
P(positive) \in [0, 1]- 90% CI symmetry around mean
- monotone horizon scaling
- graceful null-input degradation
- 27-cell stress matrix (verdict × regime × score) finite
/api/backtest endpoint emitting Sharpe, IC (composite + per-factor), max drawdown, and equity curve over the live signal_history (warming up; first published metrics 16 May 2026).
8. Status and next steps
The framework is production-ready. Live forward returns begin filling 16 May 2026, after which:
1. First measured per-factor IC vector replaces priors via Bayesian shrinkage. 2. Conformal intervals tighten to empirical residual quantiles. 3. Adaptive weights per regime become non-prior. 4. Portfolio Sharpe transitions from theoretical to backtested.
Future work: full Markowitz with proper covariance matrix, Black-Litterman views integration, microstructure factor (Amihud illiquidity proxy), earnings-call NLP (extending 10-K MD&A coverage).
9. Disclosure of proprietary constants
This paper documents the architecture of the engine — every layer, every composition rule, every academic anchor — but withholds the calibrated numeric constants that turn the architecture into an operational system. Specifically the following are proprietary and not disclosed:
- The twelve prior factor weights
\theta_1 \ldots \theta_{12}and the Bayesian shrinkage factor\tau - The regime-shift safety cap
\Delta_{regime} - Pattern delta bounds, the full pattern set membership, per-factor percentile thresholds, and inter-pattern priority ordering
- The tail-amplifier mapping
\hat\lambda \to K_{tail}including its bounds - The horizon-conditioned
\alpha_{max}and the regime / pattern / tail amplifier rangesA_{regime},M_{pattern},K_{tail} - The full transaction-cost tier table and per-tier basis-point assignments
- Constraint values used by the portfolio construction module
- Conformal calibration sample-size thresholds and bin boundaries
/backtest but not in their per-factor calibrated form.
References
Asness, C., Moskowitz, T., Pedersen, L. (2013). "Value and momentum everywhere." Journal of Finance.
Asquith, P., Pathak, P., Ritter, J. (2005). "Short interest, institutional ownership, and stock returns." Journal of Financial Economics.
Barber, R., Candès, E., Ramdas, A., Tibshirani, R. (2021). "Predictive inference with the jackknife+." Annals of Statistics.
Bernard, V., Thomas, J. (1989). "Post-earnings-announcement drift." Journal of Accounting Research.
Cohen, L., Frazzini, A. (2008). "Economic links and predictable returns." Journal of Finance.
Fama, E., French, K. (1992). "The cross-section of expected stock returns." Journal of Finance.
Frazzini, A., Israel, R., Moskowitz, T. (2018). "Trading costs." Working paper, AQR.
Hamilton, J. (1989). "A new approach to the economic analysis of nonstationary time series." Econometrica.
Hasbrouck, J. (2009). "Trading costs and returns for U.S. equities." Journal of Finance.
Jegadeesh, N., Titman, S. (1993). "Returns to buying winners and selling losers." Journal of Finance.
Loughran, T., McDonald, B. (2011). "When is a liability not a liability? Textual analysis, dictionaries, and 10-Ks." Journal of Finance.
Moskowitz, T., Grinblatt, M. (1999). "Do industries explain momentum?" Journal of Finance.
Novy-Marx, R. (2013). "The other side of value: The gross profitability premium." Journal of Financial Economics.
Pan, J., Poteshman, A. (2006). "The information in option volume for future stock prices." Review of Financial Studies.
Schmidt, R., Stadtmüller, U. (2006). "Non-parametric estimation of tail dependence." Scandinavian Journal of Statistics.
Seyhun, H. N. (1998). Investment Intelligence from Insider Trading. MIT Press.
Sloan, R. (1996). "Do stock prices fully reflect information in accruals and cash flows about future earnings?" Accounting Review.
Treynor, J., Black, F. (1973). "How to use security analysis to improve portfolio selection." Journal of Business.
Vovk, V., Gammerman, A., Shafer, G. (2005). Algorithmic Learning in a Random World. Springer.