APEX factor · Microstructure

Microstructure factor — explained

Microstructure reads how thinly a stock trades and how much its price moves per dollar of volume. Liquid mega-caps absorb information continuously; thinly-traded names accumulate latent dislocation that releases as gap moves. The factor isolates the liquidity premium and the price-impact risk so position sizing 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 have a 0.6 expected APEX score. One trades $5bn per day on the NYSE; one trades $5m per day on a pink sheet. The signals look identical, but the second name's price will move 10% on a single $500k order — your fill price won't match the model's signal price. Microstructure quantifies this gap directly. It's not a return-prediction factor in the same sense as momentum or value; it's a liquidity and execution-risk factor. We use it to discount thinly-traded names' contribution to the composite (so the composite doesn't load on names you can't actually trade) and to widen prediction intervals where price impact is structurally larger.

No calibration constants

Math sketch

amihud_t = |daily_return_t| / dollar_volume_t                  // Amihud 2002
amihud_30d = mean( amihud over last 30 days )
spread_proxy = (high - low) / close                              // Roll 1984 effective spread
volume_z = z_score( log( dollar_volume_30d ) )
microstructure_raw = -1·z_score(amihud_30d) - z_score(spread_proxy) + volume_z
microstructure = z_score(microstructure_raw)

Sign-flipped on Amihud and Roll spread — high illiquidity is bearish for the factor (worse execution, higher price-impact risk). Volume size is positive — large dollar volume is bullish. Three anchors so the factor doesn't collapse to a single number — Amihud captures average price impact, Roll captures intraday spread, volume captures absolute size. All three z-scored across the universe so the factor is comparable across sectors. The 30-day window is the standard liquidity-research lookback.

Pipeline

How DeepVane implements it

Inputs come from Yahoo Finance EOD daily bars (open, high, low, close, volume). The factor refreshes nightly during the 06:00 UTC universe sweep using the trailing 30 trading days. We don't include intraday tick data — the marginal predictive lift is small for our 30-90 day horizon, and the data cost is high. The factor's role in the composite is largely defensive: it prevents the engine from over-loading on micro-cap names where the Amihud measure suggests price-impact risk dominates the signal.

One coherent posterior

How it composes with APEX

Microstructure interacts with Short Interest in the SHORT SQUEEZE SETUP confluence pattern — illiquid names with extreme short interest are exactly the squeeze candidates with the highest convex upside (low float + crowded short = forced cover with no liquidity to absorb it). Microstructure also widens the conformal prediction interval — the Mondrian bin partition uses liquidity as one of its conditioning dimensions, so illiquid names get wider intervals reflecting their genuinely higher uncertainty. Risk-tolerance settings on /pricing reduce position sizing in low-liquidity bins.

Honest limitations

When it fails

Two structural limitations. (1) End-of-day blindness. The factor uses daily bars; intraday liquidity events (a single block trade clearing the order book at a stretched price) are invisible until the close. For institutional flow we'd want tick-level data; we're not there yet. (2) Survivorship in the universe. Our 374-ticker universe is curated to exclude micro-caps with average daily volume under ~$5m. So microstructure's role is more about within-universe relative liquidity rather than warning against truly untradeable names — those are excluded upstream. The factor is an internal sizer, not a tradeability filter.

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 twelve composing the 0–100 APEX composite.

Try NVDA →Full methodology35 invariants live