factor · Microstructure

Microstructure factor — explained

Microstructure reads how thinly a stock trades. Liquid mega-caps absorb information continuously; thinly-traded names accumulate latent dislocation that releases as gap moves. The factor is a liquidity-tier proxy for that premium and its execution risk — not a full price-impact model — so the composite can respect both.

Where this comes from

Academic anchor

Amihud 2002 — Illiquidity and Stock Returns: Cross-Section and Time-Series Effects
Constructs an illiquidity measure equal to absolute daily return divided by dollar volume — the price impact per dollar traded — and shows that the cross-section of US stock returns carries a liquidity premium of roughly 1-2% annually for the most illiquid quintile over 1964-1997. The premium is cyclical: it widens in market stress and compresses in calm regimes (Acharya-Pedersen 2005). For a long-only quant strategy the implication is twofold: illiquid names offer compensated extra return, but they also carry execution risk that any honest position-sizing model must respect.
Plain English

What it actually measures

Two stocks both look equally attractive on fundamentals. One trades $5bn per day on the NYSE; one trades $50m per day. Decades of evidence (Amihud 2002) say the thinner name should earn a small extra return — investors demand compensation for the risk that they can't exit at the model's price. Microstructure encodes that premium at liquidity-tier level: thinner tiers score higher, and an abnormal single-day move (a sign the crowd has already arrived) trims the premium back. It is one modest input among thirteen — not an execution-cost model, and it does not touch the prediction interval.

No calibration constants

Math sketch

inputs   · the ticker's liquidity tier (mega / large / mid / small,
           classified from float and typical dollar volume)
         · today's price move as a rough attention proxy
ideas    · smaller tier → higher expected illiquidity premium
           (the cross-sectional pattern Amihud 2002 documents)
         · an abnormal single-day move signals heavy attention,
           which trims the premium for that day (bounded adjustment)
output   · tier baseline ± the bounded adjustment, then
           cross-sectionally standardised like every other factor

This is deliberately a liquidity-TIER proxy, not a computed Amihud ratio — we do not currently ingest per-ticker volume series for this factor. The tier baselines and the adjustment cap are calibrated and proprietary. Public: the tier structure, the sign convention (smaller/thinner = higher premium, attention trims it), and the academic anchor for why the premium exists (Amihud 2002, Acharya-Pedersen 2005).

Pipeline

How Framler implements it

The tier classification comes from the universe's curated float / typical-volume banding; the only daily input is the ticker's price change from the scoring sweep. A true Amihud |return| / dollar-volume construction over a trailing window is the planned upgrade — it needs a per-ticker volume history we don't yet ingest for this factor. Until then the factor awards the illiquidity premium at tier granularity: coarse by design, honest about being coarse.

One coherent posterior

How it composes with Framler

Microstructure currently works at the composite level only: it awards the illiquidity premium to thinner tiers as one modest input among thirteen. It does not gate any confluence pattern (SHORT SQUEEZE SETUP triggers on short interest, momentum and options — not on this factor), and it does not condition the conformal interval: the Mondrian partition is tail-alignment × regime only. Wiring liquidity into squeeze detection and interval width are researched upgrades, not live behaviour.

Honest limitations

When it fails

Two structural limitations. (1) Tier coarseness. The factor sees only which liquidity band a ticker sits in plus today's price move — a name whose liquidity genuinely deteriorates inside its band looks unchanged until it's re-tiered. A computed Amihud ratio over a trailing volume window would catch that; we don't run one yet. (2) Survivorship in the universe. Our 1,001-ticker universe is curated to exclude micro-caps with average daily volume under ~$5m. So microstructure prices within-universe relative liquidity rather than warning against truly untradeable names — those are excluded upstream.

Pro depth

Engineering integration

How Microstructure flows through the production engine
Sign convention
Bullish-when-high. Universal across all 13 factor families — a high Microstructure 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

Short InterestOptionsMomentum

See Microstructure score on a real ticker

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

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