Fast Quadratic Programming for Mean-Variance Portfolio Optimisation

  • PDF / 1,358,730 Bytes
  • 15 Pages / 439.642 x 666.49 pts Page_size
  • 99 Downloads / 231 Views

DOWNLOAD

REPORT


Fast Quadratic Programming for Mean-Variance Portfolio Optimisation Vasileios E. Kontosakos1,2 Received: 31 May 2020 / Accepted: 1 September 2020 / Published online: 15 September 2020 © Springer Nature Switzerland AG 2020

Abstract In this paper, a vectorised quadratic convex optimisation algorithm based on Matlab’s quadprog built-in function is proposed. We target specifically a classic problem confronted by portfolio analysts, that of optimising asset allocation when choosing among several asset classes, in the context of Markowitz’s modern portfolio theory. Simulating return trajectories for several asset classes, we formulate the optimisation routine in such a way that is able to handle multiple scenarios at the same time, instead of on a one-by-one basis, reducing computational times significantly, without introducing observable estimation errors. A sensitivity analysis is offered with respect to the optimal batch size. Keywords Quadratic programming · Vectorisation · Portfolio optimisation · Algorithmic efficiency

1 Introduction One of the standard problems in quantitative finance is that of multi-asset portfolio optimisation. In that, analysts need to calculate the optimal allocation for each asset class, incorporating several assumptions and uncertainty in their modelling. One of the main tools that determines a portfolio structure is Markowitz’s mean-variance model [19] that specifies optimal portfolio allocations to the asset classes by solving a quadratic problem under the presence of certain output constraints. In this paper, we propose a fast quadratic programming algorithm based on MATLAB’s quadprog that significantly reduces computational cost without inducing observable estimation error. Our implementation revolves around the method of vectorisation. Through  Vasileios E. Kontosakos

[email protected] 1

Department of Econometrics, Business Statistics, Monash University, Wellington Rd, Clayton, Victoria, 3800, Australia

2

Group Risk, Allianz SE, K¨oniginstrasse 28, 80802, Munich, Bavaria, Germany

25

Page 2 of 15

SN Operations Research Forum (2020) 1: 25

vectorisation, we organise our data in matrices instead of processing the data entries one-by-one in a purely iterative way. By doing so, we are able to instruct the algorithm to process larger blocks of data at once, avoiding this way the iterative call of complex optimisation functions that contribute to the large running times we observe when implementing a standard iterative routine in the form a for...loop. In a standard portfolio optimisation exercise, a mean-variance algorithm is applied to the outputs of a scenario generation mechanism, where a sufficiently large number of samples is drew from underlying probability distributions that attempt to match historical characteristics of asset prices and incorporate views on their future evolution. The generated scenarios are then used by an optimisation algorithm which derives optimal allocations to each of them, usually under certain user-specified output constraints. After