Credit: floating-rate bridge pool
A floating-rate bridge loan pool priced off a forward curve, where the coupon resets each period rather than being fixed at origination.
Every number below is checked against an independent reference implementation on every commit — period by period, and on each metric, inside a declared tolerance. See benchmark methodology.
The case
A $15m floating-rate bridge pool. The coupon is a benchmark rate plus 275 basis points, resetting each period off a stepped forward series, with a 7.00% floor that binds from month 12 to maturity, the last 24 of the 36 months. It runs 36 months to a bullet, bought at par, against a 10% prepayment rate, a 2.5% default rate, 45% severity and a five-month recovery lag.
The reference
Floating-rate pool conventions as defined by the standard market formulas —
a coupon reset off an index, clamp(index + margin, floor, cap), so the floor
applies after the spread.
Provenance. No external source exists for this case. The expectations come from an in-repo reference implementation generated from the pack's rules, built separately from the model and compared month by month, pending practitioner review. Nothing external asserts them.
What it exercises
| Pack | credit |
| Contract types | credit.loan, credit.purchase |
| Language features | a series-shaped assumption (assume sofr = curve step …) read per period by the term index = inputs.sofr |
| Conventions | a coupon that resets rather than fixing at origination, a binding rate floor, a bullet maturity |
A series-shaped assumption is exercised end to end here: its declaration, its representation in the compiled model, and the per-period read.
The result
Present value −433,719.03, multiple on invested capital 1.151953 and weighted average life 2.367044 years.
Asserted: net cash flow per period across 41 months, plus ten metrics, the three above among them.
The delta
None: every period agrees inside a one-cent tolerance, including the periods where the floor binds and the coupon stops tracking the index.
Run configuration
{
"deterministic": {
"annual_discount_rate": 0.075
}
}Verified results
Checked period by period: 1 series across 41 periods — 41 values in all, each within ±0.01 of the reference.
net_cash_flow
Summary metrics for the base run:
| Metric | Value | Tolerance |
|---|---|---|
model.npv | -433,719.03 | ±1 |
metric.moic | 1.151953 | ±0.0001 |
model.wal_years | 2.367044 | ±0.0001 |
domain.credit.interest | 2,670,923.28 | ±1 |
domain.credit.principal | 14,053,633.59 | ±1 |
domain.credit.recoveries | 520,501.53 | ±1 |
domain.credit.wal_years | 2.54018 | ±0.0001 |
domain.credit.collections | 17,245,058.4 | ±1 |
domain.credit.purchase | 15,000,000 | ±1 |
domain.credit.collections_multiple | 1.149671 | ±0.0001 |