From filing to file, the same way every night

Six stages run every night, in the same order, on the same maintained universe. Nothing about the pipeline is hand-run, and nothing about it changes between two nights of the same week.

  1. Universe. U.S. registered funds from the 50 largest U.S. mutual fund and ETF complexes by assets, covering the funds that actually show up in client books. The complex list is a maintained file, so the universe stays consistent over time.
  2. Holdings, parsed. Every N-PORT Part C filing is read in a single streaming pass: the top 100 positions, Part A net assets, Part B monthly flows, and per-class returns. Positions outside the top 100 are preserved as one aggregate row, and the coverage those named positions represent, as a share of the fund's net assets, is stated rather than left for you to infer.
  3. Weights, projected. As-filed weights move from the filing date to today through price drift. The calculation runs at output time as a pure function of as-filed weights and price history, so every re-run reproduces the same answer. Unpriced positions and the aggregate tail drift at the fund's median priced return. Cash stays pinned at its filed value, because a money-market sweep holds its value while the fund's equities move.
  4. Liquidity, from the fund's own activity. ETFs score daily using their own exchange average daily volume. Open-end funds score monthly using N-PORT Part B sales and redemptions. Both measures normalize into an annualized turnover ratio against Part A net assets.
  5. Scenarios. Three participation rates: orderly at 20%, stressed at 10%, and firesale at 5% of the fund's own daily activity. Each rate is crossed with exits equal to 10%, 25%, 50%, 75%, and 100% of net assets.
  6. Recency. A portfolio whose newest filing is more than one year old retains its liquidity row, because that measure comes from the fund's own activity. Its weights leave the holdings file, keeping the published portfolio data current and dependable.

The liquidity score is calculated independently of the holdings.

The liquidity math, published

Published formulas. Reproducible calculations. A score you can inspect.

An ETF's turnover equals its 90-day average daily share volume, multiplied by price and 252, then divided by net assets. An open-end fund's turnover equals monthly redemptions, multiplied by 12, then divided by net assets.

Days to turn equals 252 divided by turnover. The liquidity score maps turnover onto a 0-to-100 scale through an exponential curve, reflecting the diminishing benefit of each additional increase in trading activity.

The published exit_days is the 50% exit point under the base scenario. At that same point, the spread between orderly and firesale conditions becomes the fund's fragility measure. One number shows how strongly the exit horizon depends on calm market conditions.

Tell us the funds you carry and we’ll show you how these two files land on your book — identifiers, coverage, and the join.

Talk about coverage