Problem 1. Linear transaction costs. Polinomial Absolute budget constraint
Mathematical Problem Statement
Problem dimension and solving time
Solution in Run-File Environment
Solution in MATLAB Environment
Problem 2. Linear transaction costs. Linear budget constraint
Mathematical Problem Statement
Problem dimension and solving time
Solution in Run-File Environment
Solution in MATLAB Environment
Problem 3. Nonlinear transaction costs
Mathematical Problem Statement
Problem dimension and solving time
Solution in Run-File Environment
Solution in MATLAB Environment
This case study considers portfolio optimization problem with the average gain objective function, CVaR constraint, and nonlinear transaction cost depending upon the total dollar value of the bought/sold assets, see, for instance Krokhmal et al., (2002, 2006). The basic portfolio optimization methodology with CVaR functions is described in Rockafellar and Uryasev (2000). For a treatment of non-convex transaction costs see Konno and Wijayanayake (1999). This case study presents two equivalent problem formulations. The first problem formulation uses nonlinear function polynomial_abs to account for nonlinear transactions costs involving both short and long positions. The second problem formulation, in case of linear transaction costs, doubles number of variables and uses linear functions for accounting for transaction costs (similar to Krokhmal at al., (2002)). The first formulation may be preferable for portfolios with large number of instruments or scenarios and when transaction costs nonlinearly depend upon investments.
Problem considers linear transaction costs and includes the budget constraint with Polynomial Absolute function and power coefficients.
Maximize Avg_g (maximizing expected portfolio gain)
subject to
Cvar ≤ Const1 (constraint on CVaR)
Polynom_abs + Linear ≤ Const2 (budget constraint (linear transaction costs,
(linear transaction costs, power coefficient in Polynom_abs function for each instrument = 1))
Box constraints (bounds on positions)
where
Avg_g = Average Gain
Polynom_abs = Polynomial Absolute
Box constraints = constraints on individual decision variables
Mathematical Problem Statement
Problem dimension and solving time
Number of Variables |
100 |
Number of Scenarios |
224 |
Objective Value |
1309.67359 |
Solving Time (sec) |
0.02 |
Solution in Run-File Environment
Input Files to run CS:
Output Files:
Solution in MATLAB Environment
Solved with PSG MATLAB function tbpsg_run (PSG Subroutine Interface):
Input Files to run CS:
Problem considers linear transaction costs and based on linear version of the budget constraint (with linear functions).
Maximize Avg_g (maximizing expected portfolio gain)
subject to
Cvar_risk ≤ Const3 (constraint on CVaR)
Linear + Linear ≤ Const4
Box constraints (bounds on positions)
where
Avg_g = Average Gain
Cvar_risk = CVaR Risk for Loss
Box constraints = constraints on individual decision variables
Mathematical Problem Statement
Problem dimension and solving time
Number of Variables |
200 |
Number of Scenarios |
224 |
Objective Value |
1309.67065 |
Solving Time (sec) |
0.02 |
Solution in Run-File Environment
Input Files to run CS:
Output Files:
Solution in MATLAB Environment
Solved with PSG MATLAB function tbpsg_run (PSG Subroutine Interface):
Input Files to run CS:
Problem considers linear transaction costs and includes the nonlinear budget constraint with Polynomial Absolute function and power
coefficients.
Maximize Avg_g (maximizing expected portfolio gain)
subject to
Cvar_risk ≤ Const51 (constraint on CVaR)
Polynom_abs + Linear ≤ Const6 (budget constraint,
(linear transaction costs, power coefficient in Polynom_abs function for each instrument > 1))
Box constraints (bounds on positions)
where
Avg_g = Average Gain
Cvar_risk = CVaR Risk for Loss
Polynom_abs = Polynomial Absolute
Box constraints = constraints on individual decision variables
Mathematical Problem Statement
Problem dimension and solving time
Number of Variables |
100 |
Number of Scenarios |
224 |
Objective Value |
193.59187 |
Solving Time (sec) |
1.04 |
Solution in Run-File Environment
Input Files to run CS:
Output Files:
Solution in MATLAB Environment
Solved with PSG MATLAB function tbpsg_run (PSG Subroutine Interface):
Input Files to run CS:
[1] Krokhmal. P., Palmquist, J., and S. Uryasev (2002): Portfolio Optimization with Conditional Value-At-Risk Objective and Constraints. The Journal of Risk, V. 4, No. 2, 11-27.
[2] Krokhmal P. and S. Uryasev (2006): A Sample-Path Approach to Optimal Position Liquidation. Annals of Operations Research, Published Online, November, , 1-33.
[3] Rockafellar, R. T. and S. Uryasev (2000): Optimization of Conditional ValueAt-Risk, The Journal of Risk, Vol. 2, No. 4, pp. 21-51.
[4] Konno, H. and A. Wijayanayake (2002): Portfolio optimization under D.C. transaction costs and minimal transaction unit constraints, Journal of Global Optimization, V. 22, Issue 1-4 (January), 137-154.