Case Study: Structuring step up CDO

Back to main page

Case study background and problem formulations

Instructions for optimization with PSG Run-File, PSG MATLAB Toolbox, PSG MATLAB Subroutines and PSG R.

PROBLEM 1: problem_example_1_case_1__BBB
Minimize Linear (minimize expected spread payments over all periods for tranche m)
subject to
Prmulti_pen ≤ Const1 (risk constraint assuring rating of a tranche)
Box constraints (box constraints on attachment points)
——————————————————————–
Prmulti_pen = Probability Exceeding Penalty for Loss Multiple
Box constraints = constraints on individual decision variables
——————————————————————–
  # of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset1 5 10,000 0.917241635 0.27
Environments
Run-File Problem Statement Data Solution
Matlab Toolbox   Data  
Matlab Subroutines Matlab Code Data  
R R Code Data  
Download other datasets in Run-File Environment.
Instructions for importing problems from Run-File to PSG MATLAB.
Problem Datasets # of Variables # of Scenarios Objective Value Solving Time, PC 2.66GHz (sec)
Dataset2 Problem Statement Data Solution 5 500,000 0.924930682 106.88

PROBLEM 2: problem_example_1_case_2__BBB

Minimize Linear (minimize expected spread payments over all periods for tranche m)
subject to
Linearmulti = Const2 (linear constraints)
Prmulti_pen ≤ Const3 (risk constraint assuring rating of a tranche)
Box constraints (box constraints on attachment points)
——————————————————————–
Linearmulti = Linear Multiple
Prmulti_pen = Probability Exceeding Penalty for Loss Multiple
Box constraints = constraints on individual decision variables

——————————————————————–

  # of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset1 5 10,000 1.11968081 1.08
Environments
Run-File Problem Statement Data Solution
Matlab Toolbox   Data  
Matlab Subroutines Matlab Code Data  
R R Code Data  
Download other datasets in Run-File Environment.
Instructions for importing problems from Run-File to PSG MATLAB.
Problem Datasets # of Variables # of Scenarios Objective Value Solving Time, PC 2.66GHz (sec)
Dataset2 Problem Statement Data Solution 5 500,000 1.113539965 7.63

PROBLEM 3: problem_example_2__BBB

Minimize PV (minimize PV of expected spread payments over all periods for tranche m)
subject to
Pr_pen ≤ Const4
Prmulti_pen ≤ Linear (default probabilities constraints at time period t)
Box constraints (box constraints on attachment points)
——————————————————————–
PV = Present Value
Pr_pen = Probability Exceeding Penalty for Loss
Prmulti_pen = Probability Exceeding Penalty for Loss Multiple
Box constraints = constraints on individual decision variables

——————————————————————–

  # of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset1 5 10,000 0.588263342 0.71
Environments
Run-File Problem Statement Data Solution
Matlab Toolbox   Data  
Matlab Subroutines Matlab Code Data  
R R Code Data  
Download other datasets in Run-File Environment.
Instructions for importing problems from Run-File to PSG MATLAB.
Problem Datasets # of Variables # of Scenarios Objective Value Solving Time, PC 2.66GHz (sec)
Dataset2 Problem Statement Data Solution 5 500,000 0.591988749 137.36

NOTE:
Problem statements can be simplified using InnerProduct and a set of matriсes.

 

PROBLEM 4: problem_example_3_case_1__BBB
Minimize PV (minimize PV of expected spread payments over all periods for tranche m)
subject to
Prmulti_pen ≤ Const5 (risk constraint assuring rating of a tranche)
Box constraints (box constraints on attachment points)
——————————————————————–
PV = Present Value
Prmulti_pen = Probability Exceeding Penalty for Loss Multiple
Box constraints = constraints on individual decision variables

——————————————————————–

  # of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset1 5 10,000 0.583782987354 0.35
Environments
Run-File Problem Statement Data Solution
Matlab Toolbox   Data  
Matlab Subroutines Matlab Code Data  
R R Code Data  
Download other datasets in Run-File Environment.
Instructions for importing problems from Run-File to PSG MATLAB.
Problem Datasets # of Variables # of Scenarios Objective Value Solving Time, PC 2.66GHz (sec)
Dataset2 Problem Statement Data Solution 5 500,000 0.587443654 102.60

NOTE:
Problem statements can be simplified using InnerProduct and a set of matriсes.

 


PROBLEM 5: problem_example_3_case_2__BBB

Minimize PV (minimize PV of expected spread payments over all periods for tranche m)
subject to
Linearmulti = Const6 (linear constraints)
Prmulti_pen ≤ Const7 (risk constraint assuring rating of a tranche)
Box constraints (box constraints on attachment points)
——————————————————————–
PV = Present Value
Linearmulti = Linear Multiple
Prmulti_pen = Probability Exceeding Penalty for Loss Multiple
Box constraints = constraints on individual decision variables

——————————————————————–

  # of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset1 5 10,000 0.78188185221 0.18
Environments
Run-File Problem Statement Data Solution
Matlab Toolbox   Data  
Matlab Subroutines Matlab Code Data  
R R Code Data  
Download other datasets in Run-File Environment.
Instructions for importing problems from Run-File to PSG MATLAB.
Problem Datasets # of Variables # of Scenarios Objective Value Solving Time, PC 2.66GHz (sec)
Dataset2 Problem Statement Data Solution 5 500,000 0.0.77790306 1.46

NOTE:
Problem statements can be simplified using InnerProduct and a set of matriсes.

 

PROBLEM 6: problem_example_4_case_1__BBB
Minimize Linear (minimize expected spread payments over all periods for tranche m)
subject to
Prmulti_pen ≤ Const8 (risk constraint assuring rating of a tranche)
Linear ≥ Const9 (constraint on income spread payments)
Linear = 1 (sum of weights constraint)
Box constraints (box constraints on attachment points)
——————————————————————–
Prmulti_pen = Probability Exceeding Penalty for Loss Multiple
Box constraints = constraints on individual decision variables

——————————————————————–

  # of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset1 58 10,000 1.005085900229 6.37
Environments
Run-File Problem Statement Data Solution
Matlab Toolbox   Data  
Matlab Subroutines Matlab Code Data  
R R Code Data  
Download other datasets in Run-File Environment.
Instructions for importing problems from Run-File to PSG MATLAB.
Problem Datasets # of Variables # of Scenarios Objective Value Solving Time, PC 2.66GHz (sec)
Dataset2 Problem Statement Data Solution 58 300,000 0.669823048 218.15


NOTE:
Problem statements can be simplified using InnerProduct and a set of matriсes.

PROBLEM 7:  Selection of the pool of assets with POE rating constraints
Minimize Linear (minimize expected spread payments over all periods)
subject to
Prmulti_pen≤ Const10 (risk constraint assuring rating of a tranche)
Linear ≥ Const11 (constraint on income spread payments)
Linear = 1 (sum of weights constraint)
Box constraints (box constraints on attachment points)
——————————————————————–
Prmulti_pen = Probability Exceeding Penalty for Loss Multiple
Box constraints = constraints on individual decision variables

——————————————————————–

Problem Datasets # of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset3 Problem Statement Data Solution 73 300,000 544.54 3222.78
Dataset3 Stress Problem Statement Data Solution 73 300,000 550.24 3976.29

NOTE: Problem statements can be simplified using InnerProduct and a set of matriсes.

PROBLEM 8:  Selection of the pool of assets with bPOE rating constraints
Minimize Linear (minimize expected spread payments over all periods)
subject to
bPOE≤ Const12 (risk constraint assuring rating of a tranche)
Linear ≥ Const11 (constraint on income spread payments)
Linear = 1 (sum of weights constraint)
Box constraints (box constraints on attachment points)
——————————————————————–
bPOE= Buffered Probability of Exceedance (bPOE) is an inverse function to Conditional Value-at-Risk
Box constraints = constraints on individual decision variables

——————————————————————–

Problem Datasets # of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset3 Problem Statement Data Solution 73 300,000 545.78 285.91
Dataset3 Stress Problem Statement Data Solution 73 300,000 589.72 182.06

NOTE: Problem statements can be simplified using InnerProduct and a set of matriсes.

PROBLEM 9:  Selection of the pool of assets with CVaR rating constraints
Minimize Linear (minimize expected spread payments over all periods)
subject to
CVaR≤ 0 (risk constraint assuring rating of a tranche)
Linear ≥ Const11 (constraint on income spread payments)
Linear = 1 (sum of weights constraint)
Box constraints (box constraints on attachment points)
——————————————————————–
CVaR= Conditional Value-at-Risk
Box constraints = constraints on individual decision variables

——————————————————————–

Problem Datasets # of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset3 Problem Statement Data Solution 73 300,000 545.78 285.91

NOTE: Problem statements can be simplified using InnerProduct and a set of matriсes.

PROBLEM 10:  Simultaneous asset selection and attachment/detachment assignment with rCDF rating constraints
Minimize discounted expected spread payments over all periods and tranches
subject to
rCDF ≤ p_m (risk constraint assuring rating of a tranche)
Linear ≥ eta (constraint on expected income spread payments)
Linear = 1 (sum of weights constraint)
0 ≤ attachment/detachment points ≤ 1 ( Box Contraints)
——————————————————————–
rCDF = reduced cumulative distribution function

Grechuk, Zabarankin, Mafusalov and Uryasev, “Buffered and Reduced Multidimensional Distribution Functions an Their Application in Optimization” (Download PDF)

——————————————————————–

Problem Datasets # of Variables # of Scenarios Objective Value Solving Time, PC i7-2.6Ghz, 32Gb DDR4-3200Mhz (sec)
Dataset3 Python Code Data Solution 73 300,000 577.83 1481.56
 

CASE STUDY SUMMARY

This case study demonstrates an optimization approach for determining attachment points and instruments in step-up Collateralized Debt Obligation (CDO). It is based on time to default scenarios for obligors (instruments) generated by Standard & Poor’s CDO Evaluator™.

The case study is done from the bank-originator point of view. CDO is a credit derivative based on defaults of a pool of assets. CDO makes available credit risk exposure to a broad set of investors. A common structure of CDO involves tranching or slicing the credit risk of the reference pool into different risk levels. The risk of loss on the reference portfolio is divided into tranches of increasing seniority. The losses first affect the equity (first loss) tranche, then the mezzanine tranche, and finally the senior and super senior tranches. The lower tranche boundary is called an attachment point, while the upper tranche boundary is called the detachment point. The payoff structure of a CDO is designed to offer risk/return profiles that are specifically targeted to investment restrictions of different investor groups. For instance, a CDO based on unrated or speculative-graded underlying portfolio enhances the credit rating of most of the notes to the high investment-grade ratings by concentrating the default risk in the first loss tranche. Investors invest in these notes; however, they may not be allowed to invest in the underlying assets themselves.

This case study includes 9 problems. For these problems two versions are considered. “Short case studies” use Dataset1 with 10,000 scenarios for Problems 1-6. “Long case studies” use Dataset2 and Dataset3. Dataset2 consists of up to 500,000 loss scenarios and Dataset3 consists of 300,000 default scenarios of underlying asset payments of the CDO. Dataset3 is used for problems 7-9. Additionally, in “Dataset3 Stress”, 500 scenarios are modified from Dataset3 to have 50% default rate of underlying instrument payments in the 5-th year. Dataset3 Stress is used in problems 7 and 8.