Portfolio Optimization with Nonlinear Transaction Costs

 

Background

Problem 1. Linear transaction costs. Polinomial Absolute budget constraint

Simplified Problem Statement

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

Simplified Problem Statement

Mathematical Problem Statement

Problem dimension and solving time

Solution in Run-File Environment

Solution in MATLAB Environment

Problem 3. Nonlinear transaction costs

Simplified Problem Statement

Mathematical Problem Statement

Problem dimension and solving time

Solution in Run-File Environment

Solution in MATLAB Environment

 

 

Background

 

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 1

Problem considers linear transaction costs and includes the budget constraint with Polynomial Absolute function and power coefficients.

 

Simplified Problem Statement

 

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

 

Formal 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

 

Description (Run-File)

 

Input Files to run CS:

Problem Statement (.txt file)
DATA (.zip file)

 

Output Files:

Output DATA (.zip file)

 

Solution in MATLAB Environment

 

Solved with PSG MATLAB function tbpsg_run (PSG Subroutine Interface):

 

Description (tbpsg_run)

 

Input Files to run CS:

MATLAB code (.txt file)
Data (.zip file)

 

 

Problem 2

Problem considers linear transaction costs and based on linear version of the budget constraint (with linear functions).

 

Simplified Problem Statement

 

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

 

Formal 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

 

Description (Run-File)

 

Input Files to run CS:

Problem Statement (.txt file)
DATA (.zip file)

 

Output Files:

Output DATA (.zip file)

 

Solution in MATLAB Environment

 

Solved with PSG MATLAB function tbpsg_run (PSG Subroutine Interface):

 

Description (tbpsg_run)

 

Input Files to run CS:

MATLAB code (.txt file)
Data (.zip file)

 

 

Problem 3

Problem considers linear transaction costs and includes the nonlinear budget constraint with Polynomial Absolute function and power

coefficients.

 

Simplified Problem Statement

 

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

 

Formal 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

 

Description (Run-File)

 

Input Files to run CS:

Problem Statement (.txt file)
DATA (.zip file)

 

Output Files:

Output DATA (.zip file)

 

Solution in MATLAB Environment

 

Solved with PSG MATLAB function tbpsg_run (PSG Subroutine Interface):

 

Description (tbpsg_run)

 

Input Files to run CS:

MATLAB code (.txt file)
Data (.zip file)

 

 

References

 

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