factor · Interaction

Interaction factor — explained

The interaction factor rewards tickers where quality, value and momentum all line up in the same direction. The bet is that stocks bullish on three independent dimensions outperform stocks bullish on only one — independent confirmations strengthen each other multiplicatively, not additively.

Where this comes from

Academic anchor

Asness-Moskowitz-Pedersen 2013 — Value and Momentum Everywhere
Documents that combining value and momentum signals across eight asset classes (US equities, international equities, equity indices, bonds, currencies, commodities) produces a portfolio whose Sharpe is materially higher than either factor alone. The two signals are negatively correlated across regimes, so a stock strong on both is a rare conjunction — and conjunctions of independent signals carry information beyond the sum of their parts. Subsequent literature (Novy-Marx 2013, Fama-French 2015) extended the same logic to quality.
Plain English

What it actually measures

Three independent witnesses making the same call carry more weight than one. If quality, value and momentum are scored from different academic traditions on different inputs (balance sheet, valuation multiples, price history) and all three agree on a ticker, that agreement is informative beyond the sum of the three individual scores. The interaction factor explicitly rewards alignment so the composite reflects the conjunction, not just the average. A ticker bullish on quality but bearish on momentum gets a lower interaction score than a ticker moderately bullish on all three — the second case has more agreement, not more strength.

No calibration constants

Math sketch

inputs   · quality factor score (cross-sectional, standardised)
         · value factor score (cross-sectional, standardised)
         · momentum factor score (cross-sectional, standardised)
ideas    · alignment: how strongly the three scores agree on direction
         · disagreement penalty: how strongly they pull against each other
         · multiplicative reinforcement when all three lean the same way
output   · cross-sectional standardised score, sign-aligned (high → bullish)

The exact alignment metric, the disagreement penalty curve and the multiplicative coefficient are calibrated and proprietary. Public: that the factor reads three independent inputs (quality, value, momentum) and rewards conjunction beyond the sum, in line with Asness-Moskowitz-Pedersen 2013 cross-class evidence.

Pipeline

How Framler implements it

Computed at scoring time from the three underlying factor scores that are already in stock_universe. No additional data fetch. Sits alongside the other factors in the composite blend. Influence is bounded — a single contradicting factor will pull the interaction score down sharply rather than letting two strong factors carry a borderline third.

One coherent posterior

How it composes with Framler

Interaction amplifies the GROWTH REGIME ALIGNED confluence pattern (when quality + value + momentum all bullish in the same risk-on regime) and the QUALITY CRACK pattern (when momentum flips bearish on a quality + value name). It also dampens noisy single-factor signals — a ticker rated 90 on momentum but 30 on quality and 35 on value will not carry the same composite as a ticker rated 70 on all three. The factor is regime-conditional: alignment matters more in risk-on regimes when factor returns are co-moving, less in risk-off when correlations break down.

Honest limitations

When it fails

Interaction can over-penalise legitimate single-factor bets. A deep-value contrarian play (high value score, neutral quality, low momentum) is a real strategy in academic literature (Lakonishok-Shleifer-Vishny 1994); the interaction factor will score it low because momentum disagrees. The composite still surfaces it via the standalone value factor, but the interaction component will not. This is by design — we prefer to under-call single-factor opportunities than over-call them. The conformal interval widens automatically when the factor disagreement is large, so position sizing self-adjusts.

Pro depth

Engineering integration

How Interaction flows through the production engine
Sign convention
Bullish-when-high. Universal across all 13 factor families — a high Interaction score reads as a bullish lean, low as bearish, 50 as neutral. The composite inherits the convention unchanged.
Standardisation
Cross-sectional z-score per scoring day across the 1,000+-ticker universe, then mapped to 0-100. Tickers without sufficient input data surface as null and the composite skip-and-renormalise path takes over (Asness-Frazzini-Pedersen 2014).
Refresh cadence
Recomputed daily via the universe-scoring cron (production runs 06:00 UTC on weekdays via Vercel + GitHub Actions). Factor-specific upstream data refresh is described in the implementation section above.
Composite entry
Enters the Bayesian composite with a regime-conditional weight calibrated weekly by the calibrate-weights cron against accumulated forward-return data. Per-regime weight vectors are proprietary; the architecture is in the math sketch above.
Diagnostic surface
Live structural invariants on /coherence exercise the math stack on every request (factor correlation matrix, BOCPD posterior, Mondrian bin coverage). Coverage and IC accumulate weekly via the accuracy-check cron; the sector-honesty panel on /track-record publishes per-cohort calibration tiers.
Hidden by design
The exact factor weight, regime-conditional multipliers, and any constant inside the math sketch marked «calibrated and proprietary» stay private — that's the engineering moat. Everything above architecture-level is published; everything below stays in the engine.
Read next

Related factors

QualityValueMomentum

See Interaction score on a real ticker

Every ticker page shows the per-factor decomposition. The Interaction score is one of thirteen composing the 0–100 the composite score.

Try NVDA →Full methodologyMath coherence live
Interaction factor explained | Framler