Apollo Daily MTM — Private Credit Pricing Engine

Three-pillar composite pricing with conservatism overlays · POC v0.1

RiskSpan Edge · Methodology Note May 2026

Methodology

Three pillars + two overlays · min(weighted, lowest mark, sector trigger)
Composite price equation
P_i,t = min { w₁·P_i,tTRADE + w₂·P_i,tCOMP + w₃·P_i,tMKT , L_i,t , P_i,tSECTOR_TRIGGER }
  • Pillar 1 — Trade VWAP: time-decayed volume-weighted average of secondary trades. w_j = q_j · exp(−ln 2 · δ_j / h); half-life h = 5 (DL) or 3 (ABF) trading days. Set q₁ = 0 if no trade in 30d.
  • Pillar 2 — Comparable issuer: median basket Z-spread + αilliq + βrating·Δrating + γsize·log₁₀(size), discounted via DCF (first-order duration approximation in POC).
  • Pillar 3 — Sector index drift: PMKT = P_{t−1} · (1 + β_i · ΔS_k,t)
  • Dynamic weights: w_j = (π_j · q_j) / Σ (π_k · q_k), with priors π = (0.55, 0.35, 0.10).
  • Lowest-mark overlay: hard floor at lowest observed external co-lender mark.
  • Sector trigger: if the sector's 5-day return falls below −2.5%, every position in that sector is marked down by that 5d return.

Data sourcing

Maps each input to its production source on Edge / RS_DATA_WAREHOUSE
InputProduction sourcePOC source in this tool
Pillar 1 tradesICE Private Credit Intelligence feed; Apollo market-making feed; LSTA settled trades → RS_DATA_WAREHOUSE.MARKET.SECONDARY_TRADESPer-position trade tape, format price/size/days_ago; …
Pillar 2 comparablesICE BAML indices; LSTA loan index; CDS curves; existing Edge BOND_REFERENCE, CDS_CURVES; new view COMP_BASKET_DAILYUser-entered basket median Z-spread + N (after IQR trim)
Cash flowsExisting Edge cash flow engine; /cashflows endpoint; RiskSpan Bond Analyzer MCPFirst-order duration approximation: P ≈ 100 − (zpos − coupon) · ModDur
Pillar 3 sector indexICE BAML; Morningstar/LSTA; Bloomberg ABS; RS NQM Spread Index → RS_DATA_WAREHOUSE.MARKET.SECTOR_INDEX_DAILYUser-entered 1d and 5d sector index returns
Lowest markBDC 10-Q/10-K filings; ICE PCI co-lender data; counterparty reports → new COLENDER_MARKS tableOptional per-position field
Sector triggerComputed view on SECTOR_INDEX_DAILY; threshold parameter in configComputed locally from 5d return + threshold

Calibration parameters

Defaults from §4.4 / §6 of methodology note · refit quarterly in production

Portfolio

0 positions
ID Asset Sector Notional ($MM) Coupon spread (bps) ModDur (y) Prev price β to sector Trades (price/size/days; …) Basket med Z (bps) Basket N Δ rating (notches) Sector 1d (%) Sector 5d (%) Lowest ext mark

Trade format: price/size/days_ago; price/size/days_ago — e.g. 98.5/5/1; 98/3/4; 97.25/8/9. Leave blank for "no qualifying trade." Δ rating is position notch − basket median notch (positive = position weaker, adds spread). Lowest ext mark is optional — leave blank when no co-lender mark observed.

Run daily pricing

Click to compute composite marks for all positions