Linear programming and cash flow matching

13 visualizaciones (últimos 30 días)
L Smith
L Smith el 19 de Ag. de 2019
Comentada: L Smith el 27 de Ag. de 2019
I am trying to solve a simple large scale linear /non-linear programming problem to match liability cash flows with asset cash flows. I am thinking between MATLAB and R to solve this problem. I have explained the problem below and I was wondering whether MATLAB can be used to solve this.
Can anyone please let me know if and how MATLAB can be used to solve this problem? If any particular MATLAB optimization toolboxes will be needed then please let me know.
A fixed set of liability cash flows are given, say for the next 20 years. We need to select appropriate bonds to match these liability cash flows, ignoring interest rate risk and other market risks. We are given market value of bonds and their cash flows based on which we need to decide which bonds to select. The objective function is to minimise value of liabilities, which is calculated by discounting liability cash flows at a flat discount rate, say 1% + a spread. This spread depends upon internal rate of return of the assets portfolio, e.g. spread = 50% of internal rate of return on the asset portfolio (the higher the spread, the lower the value of liabilities. Constraints are: weights of bonds can be either zero or 1 (i.e. either we invest in a bond or we don’t) and asset cash flows can be lower than liability cash flows in certain years but cumulatively say at every 3 years asset cash flows should exceed liability cash flows.

Respuestas (1)

Alan Weiss
Alan Weiss el 22 de Ag. de 2019
I don't know for sure, but perhaps this example is relevant.
Alan Weiss
MATLAB mathematical toolbox documentation
  15 comentarios
Walter Roberson
Walter Roberson el 26 de Ag. de 2019
Sometimes it is easier to write the expressions using the problem based approach, so that you can write in terms of variable names that are meaningful for you. However the problem based approach is not more powerful than the solver based approach: in most cases they use the same internal logic, sometimes simply converting to solver based internally and using that.
As you have found, the problem based approach is not yet as flexible as the solver based approach.
In setting up systems such as these, often the "better" approach is the one that makes it most likely that what is optimized is what you need to be optimized. The solver based approach is more flexible but it does require a lot of packing and unpacking of variables into a vector of values to be optimized over, and it can be a lot easier in such a way of writing that code to accidentally code values into the wrong place in arrays.
L Smith
L Smith el 27 de Ag. de 2019
Thank you Mary and Walter much appreciated. I agree with you that it is much easier to apply the problem based approach.

Iniciar sesión para comentar.

Categorías

Más información sobre Get Started with Optimization Toolbox en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by