Aventura, Florida · serving clients across the United States (305) 404-9404Toll-free (800) 767-8566Emergency? Get a call within 1 hour
Banking, $5–10B US bank Illustrative engagement

Seeing inside the black box: ALM, deposit and CECL models brought in-house at a mid-size US bank

A nationally chartered bank in the Midwest with roughly $7 billion in assets and a treasury team of five.

Scale
~$7B in assets, ~1,150 staff, 2 parallel-run quarter-ends, 40+ rate scenarios, 14 years of deposit history
Engagement
Roughly 40 weeks from discovery to handover, then a quarterly support retainer

The challenge

The bank outsourced interest-rate-risk, deposit and CECL analytics. Each quarter it sent data out and got PDF reports back about three weeks later, with assumptions it could not inspect. After the regional-bank failures of March 2023 the asset-liability committee could not quickly answer what would happen to economic value of equity (EVE) and net interest income if deposit betas came in well above the vendor's default. CECL came from a second vendor with different prepayment assumptions, so the same loans had two expected lives.

For a bank of this size the asset-liability model is one of the most consequential pieces of software it uses, and many banks rent it. This one sent data tapes to a specialist vendor each quarter and received PDF reports about three weeks later. Treasury could not see the assumptions behind the numbers, could not run its own scenarios between quarter-ends, and paid for every custom analysis. After the March 2023 failures, the committee wanted to know what a deposit beta fifteen points above the default would do to EVE, and nobody could answer quickly.

The supervisory side added pressure. Under SR 11-7 and OCC Bulletin 2011-12, a model has to be developed, validated and governed with documentation an examiner can follow, including sensitivity testing of the assumptions that matter. Vendor defaults for deposit decay and beta were industry averages, not the bank's own behavior, and CECL used a second vendor's prepayment speeds. Our team rebuilt the analytical stack on published methods and open-source libraries and fed it the bank's own instrument-level data, without using any vendor's proprietary code or report layouts.

The engine is a Ho-Lee term-structure model calibrated to today's Treasury and SOFR curves, with a Hull-White volatility fit for option-sensitive instruments, on QuantLib and the Open Source Risk Engine. Behavioral models sit on top: prepayment and default hazards fitted on public GSE loan-level data and recalibrated to the bank's portfolio, and non-maturity deposit decay and asymmetric betas fitted on fourteen years of account-level history. Peer data from FFIEC call reports steadies the thin products. EVE, net interest income, key rate durations, liquidity runoff and CECL all run on one cash-flow engine.

Deposit behavior was the finding that changed the answer. The bank's money-market beta in the 2022 to 2023 cycle ran well above the vendor default, and its savings balances decayed more slowly. Together these changed the answer. For a 200‑basis-point rise, EVE fell about 9.4 percent in the in-house model against 4.3 percent in the vendor report, and the 12‑month NII gain from the same rise shrank from 3.2 percent to 0.9 percent. In a 200‑basis-point fall the gap was smaller: EVE rose 2.6 percent against 1.1. The bank took it to its examiners on its own initiative. The numbers in this illustrative case are modeled, not measured, but the lesson is general: pricing math is published and takes weeks, while behavior takes months and decides the result.

Trust came from a parallel run. For two quarter-ends the new models ran beside the vendor, and base-case EVE agreed within 1.9 percent, every difference above one percent of EVE got a written explanation, and an independent validator reviewed the lot. Only then did the bank's staff run a close unaided and let the vendor contract lapse. Everything runs inside the bank's own tenancy with role-based access, version control and reproducible outputs, so any past committee number can be recreated for an auditor. Public data supplies nearly everything except option volatility, which needs one modest market-data license.

What our team delivered

  • A data layer fed by instrument-level extracts from the core, loan and deposit systems, reconciled to the general ledger and call report
  • A term-structure engine (Ho-Lee, with a Hull-White volatility calibration), built on QuantLib and the Open Source Risk Engine and priced off the Treasury and SOFR curves
  • Behavioral models fitted on the bank's own history: mortgage prepayment and default hazards, non-maturity deposit decay, and asymmetric rising and falling deposit betas
  • EVE and net interest income simulation: parallel shocks, the Basel interest-rate-risk-in-the-banking-book shocks, historical replays and deposit-beta stress tests
  • CECL lifetime loss on the same cash-flow engine, conditioned on published Federal Reserve scenarios and professional-forecaster paths
  • Public inputs wherever they exist: Treasury, Federal Reserve, New York Fed, FRED, FHFA, FDIC, FFIEC and NCUA call reports and the GSE loan-level datasets
  • A parallel run beside the vendor for two quarter-ends, with a written explanation for every difference above one percent of EVE
  • Independent validation under model-risk guidance, version-controlled models with two-person approval, and everything inside the bank's own cloud tenancy

Result

The committee package is ready 6 business days after quarter-end instead of 19, scenarios grew from 9 to more than 40 a quarter, ad-hoc scenarios run the same day, and every parameter and its data lineage are visible to treasury and examiners. The bank's own deposit behavior moved its rate sensitivity noticeably, which it presented to examiners itself. Figures are modeled; the pattern holds: the hard part is behavior, not mathematics, and a parallel run builds trust.

From public data to the ALCO package

Public market and regulatory data is combined with the bank's own instrument-level extracts in a private data store, reconciled to the general ledger, run through a QuantLib and ORE cash-flow engine, and delivered to the Asset Liability Committee as EVE, NII and CECL results with every assumption visible.

From public data to the ALCO packageFive sources feed the pipeline: the Treasury and SOFR curves, FFIEC and NCUA call reports, GSE loan-level data, FRED and survey forecasts, and the bank's own core-system extracts. They land in a PostgreSQL and Parquet data store reconciled to the general ledger, then flow into a cash-flow and valuation engine built on QuantLib and Open Source Risk Engine. Three outputs follow: EVE and NII under rate shocks, CECL lifetime loss, and funds transfer pricing and profitability. They are assembled into the ALCO package for decisions. The whole pipeline runs inside the bank's private cloud. PUBLIC DATA + THE BANK'S OWN EXTRACTSTreasury + SOFRdaily curvesFFIEC / NCUAcall reportsGSE loan dataprepay + creditFRED · SPFmacro pathsBank coreinstrument-levelPostgreSQL + Parquet data storereconciled to the general ledger and the call reportCash-flow and valuation engineQuantLib + Open Source Risk Engine + own code, curves repriced exactlyEVE · NIIrate shocksCECLlifetime lossProfitabilityFTP + pricingALCO packagedecisions + boardBank's private cloudFull assumption lineage

The same rate shock, two answers

Sensitivity of a bank's economic value of equity (EVE) and net interest income (NII) to a 200 basis-point rate move, from the vendor model and from an in-house model with deposit betas fitted to the bank's own account history. EVE is the present value of assets minus liabilities; NII is the interest earned minus interest paid over the next 12 months. The in-house model shows more value at risk when rates rise, because the bank's deposits reprice faster than the vendor default assumed. Illustrative parallel-run figures.

The same rate shock, two answersGrouped horizontal bars of percent change from a 200 basis point rate move, vendor model versus in-house model. EVE if rates rise: vendor minus 4.3 percent, in-house minus 9.4. EVE if rates fall: plus 1.1 and plus 2.6. NII over 12 months with a rising ramp: plus 3.2 and plus 0.9.Sensitivity to a 200 bp rate move (% change)Vendor modelIn-house model−10%−5%0+5%EVE change if rates rise 200 bp−4.3%−9.4%EVE change if rates fall 200 bp+1.1%+2.6%NII change over 12 months, rates up 200 bp (ramp)+3.2%+0.9%Fitted deposit betas show abouttwice the value at riskEvery gap above 1% of EVE was explained in writing during a two-quarter parallel run.

Separate by region and by business unit

Each business unit lives in its own VRF and VLAN in every region, so a problem in retail cannot reach finance. Traffic between units has to pass a firewall that denies by default and allows only what is written down.

Separate by region and by business unitA grid with three regions, Americas, EMEA and APAC, and three business units, Finance, Retail and R&D. Each cell is a separate VRF with its own VLAN and VNI. Each business unit has one overlay running across its three regional cells, shown as a row. On the right a firewall zone enforces a zero-trust policy that denies by default. A red packet from Retail trying to reach Finance is blocked at the firewall. A teal packet from R&D to the shared DNS and identity services is allowed. AMERICASEMEAAPACFinanceVRF fin · VLAN 110VNI 10110VRF fin · VLAN 110VNI 10110VRF fin · VLAN 110VNI 10110RetailVRF retail · VLAN 120VNI 10120VRF retail · VLAN 120VNI 10120VRF retail · VLAN 120VNI 10120R&DVRF rnd · VLAN 130VNI 10130VRF rnd · VLAN 130VNI 10130VRF rnd · VLAN 130VNI 10130Firewallzoneszero trustdeny bydefaultSharedDNS · IdPdenyallowVRF · L3 isolationVLAN to VNI · L2Default-deny policyEVPN-VXLAN fabricWireGuard + IPsec WANLogs to one SIEM

Frequently asked questions

Direct answers to the questions we hear most. Something else on your mind?

Send us a message
Why would a bank bring ALM and CECL modeling in-house?

Outsourced models often return reports weeks later with assumptions the bank cannot inspect or change quickly. In-house models let the asset-liability committee run its own scenarios, such as higher deposit betas, the same day and show examiners the lineage of every input. The trade-off is ownership of validation and upkeep, which ongoing support from us can help with.

What data and tools are used?

Instrument-level extracts from the bank's own systems, reconciled to the general ledger, plus public data from the Treasury, Federal Reserve, New York Fed, FRED, FHFA, FDIC, FFIEC and NCUA. Open-source QuantLib and the Open Source Risk Engine do the pricing math. Everything runs inside the bank's own cloud tenancy.

How do you satisfy model risk management expectations?

Models are version-controlled with two-person approval, documented, independently validated and monitored, in line with the Federal Reserve and OCC model-risk guidance (SR 11-7, OCC 2011-12). The bank still owns the model and its governance. We do not replace your validators or your auditors.

How do you build trust in the new numbers?

A parallel run beside the existing vendor for two quarter-ends, with a written explanation for every difference above one percent of economic value of equity. The case figures are modeled, not measured. Real differences usually come from behavioral assumptions such as prepayment and deposit decay, not from the mathematics.

Do you know if your company is safe?

Speak with a security engineer today. The first assessment call is free and confidential.

CallFree assessment