Skip to main content

Structured Finance: The Object Oriented Approach

Structured Finance: The Object Oriented Approach

Umberto Cherubini, Giovanni Della Lunga

ISBN: 978-0-470-51272-2

Apr 2007

298 pages



Structured Finance: The Object Orientated Approach is aimed at both the finance and IT professionals involved in the structured finance business with the intention of sharing common concepts and language within the industry. The financial community (structurers, pricers and risk managers) view structured products as collections of objects under the so-called replicating portfolio paradigm. The IT community use object oriented programming (OOP) techniques to improve the software updating and maintenance process. For them structured products are collections of objects as well. Despite use of the same object concept, it looks like communication between these different professional functions has been problematic. Recently, construction of standard data structures known as FpML has begun to lay out a common definition of objects, at least for plain vanilla derivatives, both between IT and financial people and across different market players. Along this line, this book builds upon the concept of object to provide frontier treatment of structured finance issues relevant to both communities engaged in building, pricing and hedging products and people engaged in designing and up-dating the corresponding software. 

Structured Finance: The Object Orientated Approach will enable you to: 

  • decompose a structured product in elementary constituent financial objects and risk factors (replicating portfolio)
  • understand the basics of object oriented programming (OOP) applied to the design of structured cash flows objects
  • build your own objects and to understand FpML data structures available for standard products
  • gauge risk exposures of the objects in structured products to: risk factors, their volatilities and the correlation among them (which factor are you long/short? Are you long/short volatility? Are you long/short correlation?)
  • update your risk management system to accommodate structured products with non linear exposures and to design objects to represent, price and hedge, counterparty risk 
1 Structured Finance: A Primer.

1.1 Introduction.

1.2 Arbitrage-free valuation and replicating portfolios.

1.3 Replicating portfolios for derivatives.

1.3.1 Linear derivatives.

1.3.2 Nonlinear derivatives.

1.4 No-arbitrage and pricing.

1.4.1 Univariate claims.

1.4.2 Multivariate claims.

1.5 The structuring process.

1.5.1 The basic objects.

1.5.2 Risk factors, moments and dimensions.

1.5.3 Risk management.

1.6 A tale of two bonds.

1.6.1 Contingent coupons and repayment plans.

1.6.2 Exposure to the risky asset.

1.6.3 Exposure to volatility.

1.6.4 Hedging.

1.7 Structured finance and object-oriented programming.

References and further reading.

2 Object-Oriented Programming.

2.1 Introduction.

2.2 What is OOP (object-oriented programming)?

2.3 Analysis and design.

2.3.1 A simple example.

2.4 Modelling.

2.4.1 The unified modelling language (UML).

2.4.2 An object-oriented programming language: Java.

2.5 Main ideas about OOP.

2.5.1 Abstraction.

2.5.2 Classes.

2.5.3 Attributes and operations: the Encapsulation principle.

2.5.4 Responsibilities.

2.5.5 Inheritance.

2.5.6 Abstract classes.

2.5.7 Associations.

2.5.8 Message exchanging.

2.5.9 Collections.

2.5.10 Polymorphism.

References and further reading.

3 Volatility and Correlation.

3.1 Introduction.

3.2 Volatility and correlation: models and measures.

3.2.1 Implied information.

3.2.2 Parametric models.

3.2.3 Realized (cross)moments.

3.3 Implied probability.

3.4 Volatility measures.

3.4.1 Implied volatility.

3.4.2 Parametric volatility models.

3.4.3 Realized volatility.

3.5 Implied correlation.

3.5.1 Forex markets implied correlation.

3.5.2 Equity “average” implied correlation.

3.5.3 Credit implied correlation.

3.6 Historical correlation.

3.6.1 Multivariate GARCH.

3.6.2 Dynamic correlation model.

3.7 Copula functions.

3.7.1 Copula functions: the basics.

3.7.2 Copula functions: examples.

3.7.3 Copulas and survival copulas.

3.7.4 Copula dualities.

3.8 Conditional probabilities.

3.9 Non-parametric measures.

3.10 Tail dependence.

3.11 Correlation asymmetry.

3.11.1 Correlation asymmetry: finance.

3.11.2 Correlation asymmetry: econometrics.

3.12 Non-exchangeable copulas.

3.13 Estimation issues.

3.14 Lévy processes.

References and further reading.

4 Cash Flow Design.

4.1 Introduction.

4.2 Types of bonds.

4.2.1 Floaters and reverse floaters.

4.2.2 Convertible bonds.

4.2.3 Equity-linked notes.

4.2.4 Inflation-linked bonds.

4.2.5 Asset-backed securities.

4.3 Time and scheduler issues.

4.3.1 Payment date conventions.

4.3.2 Day count conventions and accrual factors.

4.4 JScheduler.

4.4.1 Date handling in Java.

4.4.2 Data models.

4.4.3 Design patterns.

4.4.4 The factory method pattern.

4.5 Cash flow generator design.

4.5.1 UML’s activity diagram.

4.5.2 An important guideline to the data model for derivatives: FpML.

4.5.3 UML’s sequence diagram.

4.6 The cleg class.

References and further reading.

5 Convertible Bonds.

5.1 Introduction.

5.2 Object-oriented structuring process.

5.2.1 Financial asset class.

5.3 Contingent repayment plans.

5.3.1 Payoff class.

5.4 Convertible bonds.

5.4.1 Exercise class.

5.5 Reverse convertible bonds.

5.6 Barriers.

5.6.1 Contingent convertibles: Co.Cos.

5.6.2 Contingent reverse convertibles.

5.6.3 Introducing barriers in the Payoff class.

5.6.4 Parisian options: a short description.

5.7 Pricing issues.

5.7.1 Valuation methods for barrier options: a primer.

5.7.2 The strategy pattern.

5.7.3 The option class.

5.7.4 Option pricing: a Lego-like approach.

References and further reading.

6 Equity-Linked Notes.

6.1 Introduction.

6.2 Single coupon products.

6.2.1 Crash protection.

6.2.2 Reducing funding cost.

6.2.3 Callability/putability: compound options.

6.3 Smoothing the payoff: Asian options.

6.3.1 Price approximation by ""moment matching.""

6.3.2 Variable frequency sampling and seasoning process.

6.4 Digital and cliquet notes.

6.4.1 Digital notes.

6.4.2 Cliquet notes.

6.4.3 Forward start options.

6.4.4 Reverse cliquet notes.

6.5 Multivariate notes.

6.5.1 The AND/OR rule.

6.5.2 Altiplanos.

6.5.3 Everest.

6.5.4 Basket notes.

6.6 Monte Carlo method.

6.6.1 Major components of a Monte Carlo algorithm.

6.6.2 Monte Carlo integration.

6.6.3 Sampling from probability distribution functions.

6.6.4 Error estimates.

6.6.5 Variance reduction techniques.

6.6.6 Pricing an Asian option with JMC program.

References and further reading.

7 Credit-Linked Notes.

7.1 Introduction.

7.2 Defaultable bonds as structured products.

7.2.1 Expected loss.

7.2.2 Credit spreads.

7.3 Credit derivatives.

7.3.1 Asset swap spread.

7.3.2 Total rate of return swap.

7.3.3 Credit default swap.

7.3.4 The FpML representation of a CDS.

7.3.5 Credit spread options.

7.4 Credit-linked notes.

7.5 Credit protection.

7.6 Callable and putable bonds.

7.7 Credit risk valuation.

7.7.1 Structural models.

7.7.2 Reduced form models.

7.8 Market information on credit risk.

7.8.1 Security-specific information: asset swap spreads.

7.8.2 Obligor-specific information: equity and CDS.

References and further reading.

8 Basket Credit Derivatives and CDOs.

8.1 Introduction.

8.2 Basket credit derivatives.

8.3 Pricing issues: models.

8.3.1 Independent defaults.

8.3.2 Dependent defaults: the Marshall–Olkin model.

8.3.3 Dependent defaults: copula functions.

8.3.4 Factor models: conditional independence.

8.4 Pricing issues: algorithms.

8.4.1 Monte Carlo simulation.

8.4.2 The generating function method.

8.5 Collateralized debt obligations.

8.5.1 CDO: general structure of the deal.

8.5.2 The art of tranching.

8.5.3 The art of diversification.

8.6 Standardized CDO contracts.

8.6.1 CDX and i-Traxx.

8.6.2 Implied correlation.

8.6.3 ""Delta hedged equity"" blues.

8.7 Simulation-based pricing of CDOs.

8.7.1 The CABS (asset-backed security) class.

8.7.2 Default time generator.

8.7.3 The waterfall scheme.

References and further reading.

9 Risk Management.

9.1 Introduction.

9.2 OTC versus futures style derivatives.

9.3 Value-at-risk & Co.

9.3.1 Market risk exposure mapping.

9.3.2 The distribution of profits and losses.

9.3.3 Risk measures.

9.4 Historical simulation.

9.4.1 Filtered historical simulation.

9.4.2 A multivariate extension: a GARCH+DCC filter.

9.4.3 Copula filters.

9.5 Stress testing.

9.5.1 Sources of information.

9.5.2 Consistent scenarios.

9.5.3 Murphy’s machines.

9.6 Counterparty risk.

9.6.1 Effects of counterparty risk.

9.6.2 Dependence problems.

9.6.3 Risk mitigating agreements.

9.6.4 Execution risk and FpML.

References and further reading.

Appendix A Eclipse.

Appendix B XML.


""This book builds upon the concept of object to provide frontier treatment of structured finance issues relevant to both communities engaged in building, pricing and hedging products and people engaged in designing and up-dating the corresponding software."" (Zentralblatt MATH, 2010)