Skip to content
FIXnotes

FMI Methodology

How the FIXnotes Market Index is computed.

The FIXnotes Market Index (FMI) represents the weighted average sale price as a percentage of unpaid principal balance for non-performing residential mortgage notes tracked through FIXnotes market-data records since 2020. Weights are by note UPB at trade time.

Updated daily. Values for the most recent 30 days are provisional and may adjust as late-reporting transactions settle; values older than 30 days are frozen and reproducible.

Windows

90-day and 365-day rolling windows. Toggle between them on the index chart. A 30-day window is deferred until members request it.

Which facts are included

  • Solid line (the index proper): sales with status finalized — the deal has closed.
  • Dashed projection line: sales with status pending or finalized — includes deals currently in due diligence.
  • Cancelled facts (failed DD, buyer withdrawn) never contribute to either line.

Trade date

Each fact's sold_date is frozen at insert as the trade date — round lock date for round-accepts, counter-accept date for counter-accepts, historical sale date for pre-platform data. It never changes.

Weighting

By UPB.weighted_avg_price_upb = SUM(price_amount) / SUM(upb_snapshot)

Minimum-sample rule

Applied independently to solid and dashed variants. A snapshot with fewer than 10 deals in the window shows as a gap (insufficient data) rather than a published price. Prevents small-sample segments from looking like real signal.

Restatement policy

Snapshot rows with snapshot_date within the last 30 days are recomputed daily. Older snapshot rows are never touched — that's the freeze mechanism.

A late-reported fact (e.g., reconciliation at day 35) contributes to recent snapshot dates via the 90/365-day trailing window, but does not alter the snapshot row for its own sold_date. This keeps historical values reproducible.

The dashed projection line

Pending deals (awarded or counter-accepted, currently in due diligence) carry their trade-time pricing forward. They surface directional movement before the roughly 30-45 day DD lag closes.

The dashed line includes deals that are subject to close or fail. Those that fail DD or are withdrawn revise out of the index as they cancel. Due diligence typically takes 21 days, followed by a 7-day close window. Historical DD pass rates are estimated from prior-system transaction data; platform-specific pass rates will be published as they accumulate.

Historical transactions (pre-2020)

Pre-FIXnotes-platform transactions are included for volume and historical context. They appear in the chart as individual trade dates but do not imply a marketplace cadence during that period — historical bulk-disposal tranches ran intermittently rather than on a rhythm.

Source code

The index computation is implemented in lib/market-index/compute.js. The materialized snapshot table is market_index_snapshots. Daily recomputation runs from /api/cron/market-index-snapshot.

Disclaimer. The FMI is for informational use only and does not constitute investment advice, a solicitation to buy or sell any security, or a guarantee of future performance. Market-data publication is governed by Terms of Service §6.1.