Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
joellewis avatar

Fixed Income Structured

  • 387 installs
  • 161 repo stars
  • Updated July 18, 2026
  • joellewis/finance_skills

fixed-income-structured is a finance skill that decodes structured fixed-income products such as ABS, MBS, and bespoke notes for developers and analysts modeling cash flows, explaining risks, or validating suitability in

About

fixed-income-structured is a finance analysis skill from joellewis/finance_skills for structured fixed-income products including ABS, MBS, and bespoke notes. The skill helps developers and analysts decode tranche structures, cash-flow waterfalls, prepayment and default risk, and suitability checks used in wealth management and institutional portfolios. Reach for fixed-income-structured when building pricing tools, risk dashboards, or compliance workflows that must explain structured note mechanics accurately. It targets financial modeling and validation logic rather than generic bond yield formulas for plain-vanilla government debt.

  • Cash-flow waterfall logic
  • Prepayment and extension risk
  • Credit enhancement layers
  • Rating and liquidity caveats
  • Scenario stress framing

Fixed Income Structured by the numbers

  • 387 all-time installs (skills.sh)
  • +15 installs in the week ending Aug 2, 2026 (Skillselion tracking)
  • Ranked #281 of 1,106 Finance & Trading skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/joellewis/finance_skills --skill fixed-income-structured

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs387
repo stars161
Last updatedJuly 18, 2026
Repositoryjoellewis/finance_skills

How do you model structured fixed-income cash flows?

Decode structured fixed-income products such as ABS, MBS, and bespoke notes when modeling cash flows, explaining risks, or validating suitability in wealth and institutional workflows.

Who is it for?

Developers and analysts building wealth or institutional tools who must decode ABS, MBS, and bespoke note structures and risks.

Skip if: Retail stock trading apps, crypto DeFi protocols, or teams handling only plain government or corporate bonds.

When should I use this skill?

A developer models cash flows, explains risks, or validates suitability for ABS, MBS, or bespoke structured fixed-income products.

What you get

Structured product breakdown with cash-flow model assumptions, risk factors, and suitability validation notes for ABS, MBS, or bespoke notes.

  • cash-flow model assumptions
  • risk breakdown
  • suitability validation notes

Files

SKILL.mdMarkdownGitHub ↗

Fixed Income — Structured Products

Core Concepts

MBS Pass-Throughs

A pool of mortgages whose cash flows (principal, interest, prepayments) are passed through to investors on a pro-rata basis. Agency MBS (Ginnie Mae, Fannie Mae, Freddie Mac) carry a government or GSE guarantee against credit losses, isolating prepayment risk as the primary concern. Non-agency MBS lack this guarantee and carry both credit and prepayment risk.

Prepayment Risk

Borrowers can refinance when rates drop, returning principal early. This creates negative convexity — when rates fall, MBS prices rise less than comparable Treasuries because prepayments accelerate and shorten the bond's effective life. Prepayment risk has two faces:

Contraction risk: Rates fall, prepayments accelerate, duration shortens. Investors receive principal back when reinvestment rates are lower.

Extension risk: Rates rise, prepayments slow, duration extends. Investors are locked into below-market coupons for longer than expected.

PSA Prepayment Model

The Public Securities Association model provides a benchmark prepayment speed:

100% PSA = ramp from 0% CPR to 6% CPR linearly over the first 30 months, then constant at 6% CPR thereafter.

At 150% PSA, all speeds are multiplied by 1.5 (e.g., the plateau is 9% CPR). At 200% PSA, the plateau is 12% CPR.

CPR and SMM

CPR (Conditional Prepayment Rate): Annualized prepayment rate as a percentage of the remaining pool balance.

SMM (Single Monthly Mortality): Monthly prepayment rate.

SMM = 1 - (1 - CPR)^(1/12)

Weighted Average Life (WAL)

WAL = sum(t × Principal_t) / Total Principal. Unlike maturity, WAL accounts for the timing of principal repayments (both scheduled and prepayments). WAL is shorter than maturity for amortizing securities and is sensitive to prepayment assumptions.

CMO Tranches

Collateralized Mortgage Obligations redistribute MBS cash flows into tranches with different risk profiles:

Sequential pay: Principal flows to the first tranche until retired, then the second, etc. Earlier tranches have shorter duration, later tranches have longer duration.

PAC (Planned Amortization Class): Provides a predictable principal schedule within a band of prepayment speeds (e.g., 100-250% PSA). Stability comes at the expense of companion/support tranches that absorb prepayment variability.

Support/Companion tranches: Absorb excess or deficit prepayments to protect PAC tranches. Highly volatile duration.

ABS (Asset-Backed Securities)

Securitized pools of non-mortgage assets:

  • Auto loans: amortizing, relatively predictable cash flows
  • Credit cards: revolving, with a revolving period followed by a controlled amortization period
  • Student loans: longer duration, income-driven repayment creates uncertainty

CLOs (Collateralized Loan Obligations)

Tranched portfolios of leveraged loans (typically 150-250 loans). AAA tranches benefit from significant subordination (30-40% of the structure below them). Equity tranches receive residual cash flows after all senior tranches are paid. Waterfall tests (overcollateralization and interest coverage tests) redirect cash flows to protect senior tranches when the portfolio deteriorates.

Waterfall Structure

Cash flows are distributed by seniority: senior tranches receive interest and principal first, mezzanine next, equity last. If pool performance deteriorates, lower tranches absorb losses first (subordination protects senior tranches). Overcollateralization (OC) tests and interest coverage (IC) tests trigger cash flow diversions when breached.

OAS for Structured Products

OAS is essential for MBS because it captures prepayment optionality. Standard modified duration is inappropriate for MBS — use effective duration (computed via OAS models) or empirical duration. Monte Carlo simulation of interest rate paths and corresponding prepayment responses is the standard valuation approach for MBS.

Key Formulas

FormulaExpressionUse Case
SMM from CPRSMM = 1 - (1-CPR)^(1/12)Monthly prepayment rate
CPR from SMMCPR = 1 - (1-SMM)^12Annualize monthly rate
PSA CPR (month t, t<=30)CPR = 6% × (t/30) × PSA/100Ramping prepayment model
PSA CPR (month t, t>30)CPR = 6% × PSA/100Plateau prepayment model
WALsum(t × Principal_t) / Total PrincipalAverage principal timing
OAS PriceP = E[sum CF_t(path) / (1+s_t+OAS)^t]MBS valuation

Worked Examples

Example 1: Convert PSA to CPR

Given: 150% PSA, month 20 Calculate: CPR and SMM in month 20 Solution: At 100% PSA, month 20: CPR = 6% × (20/30) = 4.0% At 150% PSA: CPR = 4.0% × 1.5 = 6.0% SMM = 1 - (1 - 0.06)^(1/12) = 1 - (0.94)^(0.0833) = 1 - 0.99486 = 0.00514 = 0.514%

In month 20 at 150% PSA, approximately 0.514% of the remaining pool balance prepays each month, equivalent to 6.0% annualized.

Example 2: CLO Tranche Analysis

Given: A CLO with $500M total assets. AAA tranche = $325M (65%), AA = $50M (10%), A = $37.5M (7.5%), BBB = $25M (5%), BB = $12.5M (2.5%), Equity = $50M (10%). Calculate: Subordination level for the AAA tranche Solution: Subordination below AAA = AA + A + BBB + BB + Equity = $50M + $37.5M + $25M + $12.5M + $50M = $175M Subordination % = $175M / $500M = 35%

The AAA tranche has 35% subordination — the portfolio would need to lose more than 35% of its value before AAA investors suffer any principal loss. This substantial credit enhancement is why CLO AAA tranches have historically experienced zero defaults.

Common Pitfalls

  • Ignoring negative convexity of MBS — MBS underperform Treasuries in both rallies (contraction) and selloffs (extension)
  • Using modified duration for MBS — use effective/OAS duration instead, as cash flows change with rates
  • Assuming constant prepayment speeds — speeds vary with rates, seasonality, borrower demographics, and housing turnover
  • Not understanding that waterfall mechanics affect tranche risk differently — senior and subordinate tranches of the same deal have very different risk profiles

Cross-References

  • fixed-income-sovereign: the Treasury curve and duration/convexity concepts
  • fixed-income-corporate: credit spread concepts applied to non-agency MBS and CLOs
  • real-assets: real estate market fundamentals underlying MBS
  • asset-allocation: structured products in multi-asset portfolios

Running the Script

uv run scripts/fixed_income_structured.py            # run the demo (uses PEP 723 inline deps)
uv run scripts/fixed_income_structured.py --verify   # check demo outputs against the worked examples (exit 1 on mismatch)
python3 scripts/fixed_income_structured.py            # alternative (requires: pip install numpy)

The demo prints the calculations covered above; its values match the worked examples in this skill. Run --help for a list of the classes and functions. For programmatic use, import the module rather than running it — the demo only executes under python fixed_income_structured.py.

Related skills

FAQ

What products does fixed-income-structured cover?

The fixed-income-structured skill decodes ABS, MBS, and bespoke structured notes for cash-flow modeling, risk explanation, and suitability validation in wealth management and institutional finance workflows.

Is fixed-income-structured for developers or analysts?

fixed-income-structured serves both developers building finance tools and analysts modeling structured products. The skill focuses on accurate mechanics and risk factors rather than generic plain-vanilla bond math.

Finance & Tradingfinancepricing

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.