WATERFALL FORENSICS
Every dollar answers to a clause.
We turn securitization contracts into running code, then prove the code against history. For Sequoia Mortgage Trust 2013-1 that meant rebuilding all 93 monthly distributions the trustee ever reported. The worst principal miss across eight years: eight cents.
This waterfall is live
rules: 424B2 S-72, S-75, S-76/77 · not a video
Cash falls. The contract decides. Drag prepayments and defaults and watch the 2013-1 rules route every dollar: scheduled principal splits at the senior percentage, prepayments run entirely to the seniors, losses burn the junior stack from the bottom. B-5 has been locked out of principal since the first distribution date. This page knows why.
93
monthly distributions rebuilt, Feb 2013 to final termination
$363M
of actual cash flows reproduced from the contract alone
99.7%
of 2,139 comparisons within one dollar
$0.08
worst principal difference, any class, any month, ever
served live from the verification engine, not a screenshot
01 · DECONSTRUCT
A deal's documents become a graph: tranches, triggers, waterfall steps, floor provisions. Every node cites the clause that defines it, down to the page.
02 · EXECUTE
One interpreter runs the encoding: backtests against every reported distribution, Monte Carlo over the same rules, code export in your language. An engine that cannot reproduce what happened has no business predicting what should have.
03 · VERIFY
Your team confirms or flags each encoding beside the source text. The ledger is append-only. A correction is a new row, forever, with a name on it. That is what an expert can stand behind in a deposition.
code/sequoia_mortgage_trust_2013_1_waterfall.py · generated, yours to keep
# Senior Prepayment Percentage (S-72):
# "for any distribution date occurring
# before February 2018, 100%"
prepay_pct = min(1.0, pct + shift * sub_pct)
# Subordinate lockout (S-76/77): a class
# at or below 1.20% of closing balance
# stops receiving principal. B-5 fails
# this test on day one.
if cum_junior <= floor_amt:
locked.add(cls)The download is readable Python and R with the clause citations inline, the datasets with a source on every row, the deconstructed contract, and a manifest of hashes. Run one script and reproduce the trustee's numbers on your own machine.
Built for the people who have to swear to it.
Expert teams rebuild these models by hand, matter by matter, at hourly rates, and throw them away when the case ends. Subscribe to the library instead. Verify it once, cite it forever.
waterfallforensics.com · the numbers above update as the engine runs