Skip to content

Institutional Intent Score

The Institutional Intent Score (IIS) is a per-symbol 0–100 daily composite that condenses Unusual Whales options-flow evidence into one auditable reading of how large, institution-style options orders have been positioned over a rolling window (default: 10 sessions). It is computed by a pure deterministic function — no LLM anywhere in the calculation — and appears only on the admin momentum research surfaces.

Status

Shipped (2026-07). The scoring specification lives in PRD §14.1; every weight and threshold lives in momentum_screener/screener_config.py. The full component breakdown renders in the /momentum expanded rows and on every /momentum/early and /momentum/discovery row.

Why a score instead of raw flow

Displaying raw flow pushes all interpretation onto the reader: a single sweep looks dramatic but may be noise, while quiet multi-day accumulation is easy to miss. A scored composite with a per-component breakdown is auditable (every point traces to a weighted component), replay-testable against history, and consistent from day to day.

Components

Seven components, each weighted in momentum_screener/screener_config.py (IIS_WEIGHTS, summing to 100):

Component Direction What it reads
opening_call_sweeps Bullish Ask-side call sweep premium whose volume/open-interest character indicates opening trades — weighted above ordinary prints.
leaps_call_positioning Bullish Ask-side call premium with long-dated expiries (≥ IIS_LEAPS_MIN_DTE days) and opening character — long-horizon conviction.
put_selling Bullish Bid-side put premium — willingness to be assigned stock at the strike.
put_buying_pressure Bearish Ask-side put premium. Discounted by IIS_HEDGE_DISCOUNT when the same window shows positive net call premium and price above the 20-day MA (protective-hedge context); full negative weight when it coincides with distribution.
oi_migration Either Net call open-interest change minus net put open-interest change over the window, normalized by average total open interest.
flow_persistence Amplifier Share of sessions with bullish premium above bearish premium, with a consecutive-streak bonus — multi-day flow beats a one-day anomaly.
price_flow_resonance Amplifier Agreement between net-flow sign and price action — inflow while price holds scores above inflow into a falling tape.

Score bands

Default thresholds (defined in momentum_screener/screener_config.py, IIS_BANDS):

Composite Band label Reading
≥ 70 strong inflow Large options orders clearly positioned bullish over the window
55–70 leaning bullish Moderately bullish flow, not emphatic
45–55 balanced Bullish and bearish flow roughly offset
30–45 leaning bearish Moderately bearish flow
< 30 distribution Flow shows distribution characteristics

The label describes what large options orders did — never what anyone should do.

Reading the score

Scores are banded (IIS_BANDS) into descriptive labels shown on the admin momentum pages, with the full component breakdown available in expanded rows. Missing or partially failed Unusual Whales endpoints produce null components plus a data-quality object — never fake zeros — so a low score always means "the flow read bearish," not "the API was down."

Cost control

The score is computed only for the Top-20, Early Momentum, and Discovery shortlists, capped by IIS_MAX_SYMBOLS. It never triggers a full-universe options-flow sweep.

Product boundary

IIS is display and context only. It does not gate Top-20 eligibility, and it may influence ranking only through the existing bounded paid-confirmation bonus path — and only after historical replay shows the component has real discrimination. The wording stays descriptive throughout: the score reports what large options orders did, never what anyone should do.

The output is descriptive market research, not investment advice.