# Case Study: Cash Matching Bond Portfolio

** 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.