Skip to main content

Structured Finance Modeling with Object-Oriented VBA

Structured Finance Modeling with Object-Oriented VBA

Evan Tick

ISBN: 978-1-118-16066-4

Jul 2011

352 pages



A detailed look at how object-oriented VBA should be used to model complex financial structures

This guide helps readers overcome the difficult task of modeling complex financial structures and bridges the gap between professional C++/Java programmers writing production models and front-office analysts building Excel spreadsheet models. It reveals how to model financial structures using object-oriented VBA in an Excel environment, allowing desk-based analysts to quickly produce flexible and robust models. Filled with in-depth insight and expert advice, it skillfully illustrates the art of object-oriented programming for the explicit purpose of modeling structured products. Residential mortgage securitization is used as a unifying example throughout the text.


List of Acronyms.


About the Author.

Chapter 1. Cash-Flow Structures.

1.1 Getting Started.

1.2 Securitization.

1.3 Synthetic Structures.

1.4 Putting It All Together.

Chapter 2. Modeling.

2.1 Dipping a Toe in the Shallow End.

2.2 Swimming Toward the Deep End.

2.3 Types.

2.4 Class Architecture.

2.4.1 Weak Inheritance.

2.4.2 Parameterized Class.

2.4.3 Which Is Better?

2.5 Exercises.

Chapter 3. Assets.

3.1 Replines.

3.2 Portfolio Optimization.

3.2.1 Zero-One Program.

3.2.2 Simulated Annealing.

3.3 Losses, Prepayments, and Interest Rates.

3.4 Cash-Flow Model.

3.4.1 Zero-Prepay Cash Flows.

3.4.2 Actual Cash Flows.

3.4.3 Examples.

3.5 S&P Cash-Flow Model.

3.5.1 Model Parameters.

3.6 Moody’s Cash-Flow Model.

3.6.1 Model Parameters.

3.6.2 Algorithm.

3.7 Option ARMs.

3.8 Class Architecture: Multiple Inheritance.

3.9 Doing It in Excel: SumProduct.

3.10 Exercises.

Chapter 4. Liabilities.

4.1 Getting Started.

4.2 Notation.

4.3 Expenses.

4.4 Interest.

4.5 Over-collateralization.

4.5.1 Current Subordinated Amount.

4.5.2 Stepdown Date.

4.5.3 Target Subordinated Amount.

4.6 Principal.

4.6.1 Gross Principal Distributions.

4.6.2 Detailed Principal Distributions.

4.7 Writedowns and Recoveries.

4.8 Derivatives.

4.8.1 Corridors.

4.8.2 Swaps.

4.8.3 Excess Reserve Fund Account.

4.9 Triggers.

4.9.1 Call Features.

4.9.2 Overcollateralization Test.

4.9.3 Interest Coverage Test.

4.9.4 Delinquency Trigger.

4.9.5 Loss Trigger.

4.10 Residuals: NIMs and Post-NIM.

4.11 Class Architecture.

4.11.1 Passive Approach.

4.11.2 Active Approach.

4.11.3 Comparison.

4.12 Doing It in Excel: Data Tables.

4.13 Exercises.

Chapter 5. Sizing the Structure.

5.1 Senior Sizing.

5.2 Subordinate Sizing.

5.2.1 Fully Funded vs. Non–Fully Funded.

5.3 Optimizations and Complexity.

5.4 Example of Sizing.

5.5 NIM and OTE Sizing.

5.6 Class Architecture.

5.6.1 Inheritance Revisited.

5.6.2 Odds and Ends.

5.7 Doing It in Excel: Solver.

5.8 Exercises.

Chapter 6. Analysis.

6.1 Risk Factors.

6.1.1 Prefunding.

6.1.2 Prepayments.

6.1.3 Buybacks and Cleanup Calls.

6.1.4 Defaults.

6.1.5 Interest Rates.

6.1.6 Spreads.

6.1.7 Miscellaneous.

6.1.8 Residual Sensitivities.

6.2 Mezzanine and Subordinate Classes.

6.3 NIM Classes.

6.4 Putting It All Together.

6.5 Exercises.

Chapter 7. Stochastic Models.

7.1 Static versus Stochastic.

7.2 Loss Model.

7.2.1 Probability of Default from Transition Matrix.

7.2.2 Probability of Default from Spread.

7.2.3 Probability of Time to Default.

7.3 Gaussian Copula.

7.4 Monte Carlo Simulation.

7.5 Synthetic Credit Indexes.

7.5.1 Loss Lets.

7.5.2 Analysis.

7.5.3 Hedging.

7.6 Doing It in Excel.

7.7 Exercises.

Appendix A. Excel and VBA.

A.1 Spreadsheet Style.

A.2 Code Style.

A.3 Compilation.

A.4 Bloomberg.

Appendix B. Bond Math.

B.1 Mortgage Payment.

B.2 Yield to Price.

B.3 Price to Yield.

B.4 Duration.

B.4.1 Index or Interest-Rate Duration.

B.4.2 Discount Spread Duration.

B.5 Hazard Rate.

B.6 Static Credit Card Model.



  • Teaches the art of simple object-oriented programming for the explicit purpose of modeling structured products.
  • Provides Wall Street analysts and MBA students with both mathematical specifications and programming techniques with examples, using object-oriented VBA.
  • Wall Street analysts and MBA students learning object-oriented VBA programming skills are in great demand on Wall Street, and a step above MBAs without these skills.