Case Study: Cash Matching Bond Portfolio

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: (Linear Programming) Surplus (extra cash) is not reinvested.
Minimize Linear (minimizing portfolio cost)
subject to
Linearmulti < = 0 (constraints assuring zero underperformance of replicating portfolio)
Box constraints (lower bounds on positions)
——————————————————————
# of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset 10 6 2,381.14 <0.01
Environments
Run-File Problem Statement Data Solution
Matlab Toolbox Data
Matlab Subroutines Matlab Code Data

 

PROBLEM 2: (Using Maximum Risk, max_risk, PSG function) Surplus (extra cash) is not reinvested. This problem is equivalent to Problem 1.

Minimize Linear (minimizing portfolio cost)
subject to
Max_risk < = 0 (constraints assuring zero underperformance of replicating portfolio)
Box constraints (lower bounds on positions)
——————————————————————
# of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset 10 6 2,381.14 <0.01
Environments
Run-File Problem Statement Data Solution
Matlab Toolbox Data
Matlab Subroutines Matlab Code Data
R R Code Data

 

PROBLEM 3: (Linear Programming) Extra cash is carried forward at interest r.
Minimize Linear (minimizing portfolio cost)
subject to
Linearmulti = 0 (cash balance constraints)
Box constraints (lower bounds on positions)
——————————————————————

# of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset 16 6 2,299.81 <0.01
Environments
Run-File Problem Statement Data Solution
Matlab Toolbox Data
Matlab Subroutines Matlab Code Data
R R Code Data

 

PROBLEM 4: (Using Maximum Risk, max_risk, PSG function ) Extra cash is carried forward at interest r.

Minimize Linear (minimizing portfolio cost)
subject to
Max_risk < = 0 (constraints assuring zero underperformance of replicating portfolio)
Box constraints (lower bounds on positions)
——————————————————————

# of Variables # of Scenarios Objective Value Solving Time, PC 3.14GHz (sec)
Dataset 16 6 2,299.81 <0.01
Environments
Run-File Problem Statement Data Solution
Matlab Toolbox Data
Matlab Subroutines Matlab Code Data
R R Code Data

 

CASE STUDY SUMMARY
This case study demonstrates several optimization setups for a simple cash matching problem described in Luenberger (1998), p.108. The model matches cash obligations over some periods with payments from a portfolio of bonds. Bonds of various maturities pay coupons as well as face values at different time periods. We design a portfolio providing cash flows to cover liabilities at all periods and minimizing the initial portfolio cost. Four optimization problems are formulated. The first and the second problems disregard surplus cash at every time period, i.e., surplus is not reinvested. The first problem is a Linear Programming problem. The second problem, which is equivalent to the first problem, is formulated with PSG nonlinear function max_risk. The third and the fourth problems carry forward extra cash with some interest. This carry-over is done with additional carry-over variables which can be interpreted as artificial bonds. The third problem is a Linear Programming problem. The fourth problem, which is equivalent to the third problem, is formulated with the PSG nonlinear function max_risk.References
• Luenberger, D.G. (1998): Investment Science, Oxford University Press, 494 p.