This guide walks through creating a complete deal structure in DealStudio, from defining tranches to configuring the priority of payments waterfall.


Overview

A securitization waterfall defines how cash flows from the collateral pool to various stakeholders. In DealStudio, you'll configure:

  1. Collateral Deal - Either replines or a loan tape from Tape Cracker
  2. Tranches - Bond classes that receive interest and principal
  3. Fees - Servicing, trustee, and other periodic costs
  4. Accounts - Collection and reserve accounts
  5. Payment Rules - The waterfall logic governing distributions

What You'll Build

A simple 3-tranche sequential pay structure with:

  • Senior (A), Mezzanine (B), and Subordinate (C) tranches
  • Servicing and trustee fees
  • Interest and principal collection accounts
  • Sequential payment waterfall

Step 1: Define Collateral and Create a New Deal

  1. From the DealStudio dashboard, click New Deal to remove current configuration
  2. Enter deal details:
    FieldExample Value
    Deal NameEXAMPLE 2026-1
    First Collection Begin Date2026-02-01
    First Payment Date2026-03-25
  3. Choose either Replines or Tape to define the collateral.
    For quick modeling, create representative lines:
    ReplineBalanceWACWAMCount
    Prime$60,000,0007.5%605,000
    Near-Prime$30,000,0009.0%483,000
    Sub-Prime$10,000,00012.0%361,500
    Use Tape Cracker for loan-level precision:
    1. Click Upload via Tape Cracker
    2. Select your loan file
    3. Map columns to standard fields
    4. Validate and save, copy the URL from Tape Cracker into DealStudio

Step 2: Define Your Tranches

Navigate to Structure > Tranches and create each bond adding details for: name, type, balance, day count, accrual period, coupon, maturity date, coupon cap, and carryover capped interest

Tranche A (Senior)

Click Add Tranche and configure:

FieldValueNotes
NameAShort identifier
Balance85000000$85M
Coupon0.055.00% fixed
Accrual PeriodDistribution (Actual)Actual/360 day count

Tranche B (Mezzanine)

FieldValue
NameB
Balance10000000
Coupon0.065

Tranche C (Subordinate)

FieldValue
NameC
Balance5000000
Coupon0.085

Tranche Summary

TrancheBalance% of DealCoupon
A$85,000,00085%5.00%
B$10,000,00010%6.50%
C$5,000,0005%8.50%
Total$100,000,000100%


Step 3: Define Fees

Navigate to Structure > Fees and add periodic costs.

Servicing Fee

FieldValueNotes
NameServicing
Basis TypeOn Starting Collateral BalanceFee based on pool balance
Amount0.0050.50% annually
Frequency12Paid monthly

Trustee Fee

FieldValue
NameTrustee
Basis TypeFixed
Amount5000
Frequency12

Fee Summary

FeeTypeAmountAnnual Cost
Servicing% of Balance0.50%~$500,000 initially
TrusteeFixed$5,000/mo$60,000



Step 4: Configure Accounts

Navigate to Structure > Accounts to set up cash repositories.

Interest Collection Account

FieldValue
NameInterest_Collection
TypeCollection
Initial Balance0

Principal Collection Account

FieldValue
NamePrincipal_Collection
TypeCollection
Initial Balance0

Reserve Account (Optional)

FieldValue
NameReserve
TypeReserve
Initial Balance500000


Note: For a basic structure, you may only need collection accounts. Reserve accounts add credit enhancement.

Step 5: Build the Priority of Payments

This is the heart of your waterfall. Navigate to Structure > Priority of Payments.

Understanding Payment Rules

Each rule has:

  • From: Source account
  • To: Destination (tranche interest, tranche principal, fee, account)
  • Style: Sequential or Pro Rata
  • Up To Amount: Optional cap (formula or fixed)
  • Condition: Optional trigger

Sequential Pay Waterfall

For a standard sequential structure, payments flow in order: Fees → Senior Interest → Senior Principal → Mezz Interest → Mezz Principal → Sub Interest → Sub Principal.

Payment Rules

Add rules in this order:

#FromToStyleNotes
1Interest_Collectionfee[Trustee]SequentialTrustee paid first
2Interest_Collectionfee[Servicing]SequentialThen servicing
3Interest_Collectiontranche[A].interestSequentialSenior interest
4Interest_Collectiontranche[B].interestSequentialMezz interest
5Interest_Collectiontranche[C].interestSequentialSub interest
6Principal_Collectiontranche[A].principalSequentialSenior principal
7Principal_Collectiontranche[B].principalSequentialMezz principal (after A paid)
8Principal_Collectiontranche[C].principalSequentialSub principal (after B paid)

Adding Each Rule

For Rule #1 (Trustee Fee):

  1. Click Add Payment Rule
  2. Set From: Interest_Collection
  3. Set To: fee[Trustee]
  4. Set Style: Sequential
  5. Leave Up To Amount blank (pay full amount)
  6. Leave Condition blank (always applies)

Repeat for each rule in the waterfall.


Step 6: Pro Rata Alternative

For tranches that pay proportionally instead of sequentially:

Pro Rata Interest Example

#FromToStyle
3Interest_CollectionProRata(tranche[A].interest, tranche[B].interest)Pro Rata

This splits available interest between A and B based on their current balances.

Mixed Sequential/Pro Rata

Many deals have senior tranches paying pro rata, then sequential for subordinates:

1. Fees (Sequential)
2. Senior Interest - A1, A2 (Pro Rata)
3. Senior Principal - A1, A2 (Pro Rata)
4. Mezz Interest (Sequential)
5. Mezz Principal (Sequential)
6. Sub Interest (Sequential)
7. Sub Principal (Sequential)

Step 7: Add Conditions (Optional)

Conditions control when rules apply. Common examples:

Clean-Up Call

Add a condition that triggers deal redemption at 10% factor:

Condition Name: CleanupCall

Expression:

collateral[ALL].endingBalance <= 0.10 * collateral[ALL].originalBalance

Then reference in payment rules:

  • Normal principal rules: Condition = NOT CleanupCall
  • Redemption rule: Condition = CleanupCall

Step-Down Trigger

Subordination can release after performance tests pass:

Condition Name: StepDown

Expression:

@CumulativeLoss / collateral[ALL].originalBalance < 0.02

Step 8: Test Your Structure

Validate Configuration

DealStudio will flag errors:

  • Missing tranche references in payment rules
  • Circular payment logic
  • Invalid formulas

Fix any red-highlighted items before proceeding.

Run a Cashflow

  1. Go to Cashflows tab
  2. Create a scenario:
    • Prepay: 15% CPR
    • Default: 3% CDR
    • Severity: 40%
  3. Click Run Cashflow

Verify Results

Check that:

  • Fees are paid first each period
  • Interest flows to tranches in correct order
  • Principal pays sequentially (A → B → C)
  • Total distributions equal total collections
  • Tranches amortize to zero

Complete Example: JSON Export

Here's what a complete sequential structure looks like when exported:

{
  "dealName": "EXAMPLE 2026-1",
  "settleDate": "2026-02-15",
  "tranches": [
    {"name": "A", "balance": 85000000, "coupon": 0.05},
    {"name": "B", "balance": 10000000, "coupon": 0.065},
    {"name": "C", "balance": 5000000, "coupon": 0.085}
  ],
  "fees": [
    {"name": "Trustee", "basisType": "FIXED", "amount": 5000},
    {"name": "Servicing", "basisType": "ON_STARTING_BALANCE", "amount": 0.005}
  ],
  "paymentRules": [
    {"from": "Interest_Collection", "to": "fee[Trustee]", "style": "SEQUENTIAL"},
    {"from": "Interest_Collection", "to": "fee[Servicing]", "style": "SEQUENTIAL"},
    {"from": "Interest_Collection", "to": "tranche[A].interest", "style": "SEQUENTIAL"},
    {"from": "Interest_Collection", "to": "tranche[B].interest", "style": "SEQUENTIAL"},
    {"from": "Interest_Collection", "to": "tranche[C].interest", "style": "SEQUENTIAL"},
    {"from": "Principal_Collection", "to": "tranche[A].principal", "style": "SEQUENTIAL"},
    {"from": "Principal_Collection", "to": "tranche[B].principal", "style": "SEQUENTIAL"},
    {"from": "Principal_Collection", "to": "tranche[C].principal", "style": "SEQUENTIAL"}
  ]
}

Waterfall Patterns Reference

Sequential Pay

Senior Int → Senior Prin → Mezz Int → Mezz Prin → Sub Int → Sub Prin

Use for: Traditional senior/sub structures

Pro Rata Pay

All Interest (Pro Rata) → All Principal (Pro Rata)

Use for: Pari passu tranches

Turbo Structure

Senior Int → Mezz Int → Sub Int → ALL Principal to Senior until paid

Use for: Accelerated senior paydown

Shifting Interest

Senior Int → Sub Int → Senior Prin (locked %) → Sub Prin (locked %)

Use for: RMBS with subordination floors


Troubleshooting

"Tranche not found" Error

  • Check spelling and case of tranche name
  • Ensure tranche is defined before payment rules reference it

Interest Shortfall

  • Verify fee amounts aren't consuming all interest
  • Check that coupon rates and accrual periods are correct

Principal Not Flowing

  • Ensure principal collection account receives collateral payments
  • Check that no conditions are blocking principal rules

Circular Reference

  • Payment rules cannot create loops
  • Ensure "From" and "To" don't reference each other

Last Updated: January 2026
Questions? Contact support@dv01.co