Credit: mortgage pool on a prepayment ramp
A mortgage pool on a ramping prepayment curve, where speeds build over the first thirty months before levelling off.
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
The same 30-year agency mortgage pool, but on a ramping prepayment curve: speeds build month by month over the first thirty months, then level off. A ramp is the standard market assumption for a seasoning pool.
The reference
The industry's own standard formulas for analyzing mortgage-backed securities, which define the ramp and publish a complete cash flow schedule computed on it.
Not redistributable. The publisher forbids reproduction in any form, so the source is neither vendored nor quoted; its figures are carried as anchor values and cited as facts.
What it exercises
| Pack | credit |
| Contract types | credit.loan |
| Language features | pack contract lowering to four cash flow lines; a per-period pool factor carried as state |
| Conventions | a prepayment ramp over thirty months, CPR-to-SMM conversion, default, severity, recovery lag |
Under a changing hazard the surviving balance is a running product, and a
closed-form pow(k, p) is exact only while the rate holds still.
The result
Interest, scheduled principal, prepayments and recoveries each reproduce as their own column across the schedule.
Asserted: four stream columns period by period.
The delta
The tolerance is 0.51 — just over half a dollar — set by the published schedule's whole-dollar rounding.
Run configuration
{
"deterministic": {
"annual_discount_rate": 0.08
}
}Verified results
Checked period by period: 4 series across 25 periods — 95 values in all, each within ±0.51 of the reference.
credit.loan.interest.acredit.loan.sched_principal.acredit.loan.prepay.acredit.loan.recoveries.a