Portfolios Dominating Indices: Optimization with Second-Order Stochastic Dominance Constraints vs. Minimum and Mean Variance Portfolios

The paper compares portfolio optimization with the Second-Order Stochastic Dominance (SSD) constraints with mean-variance and minimum variance portfolio optimization. As a distribution-free decision rule, stochastic dominance takes into account the entire distribution of return rather than some specific characteristic, such as variance. The paper is focused on practical applications of the portfolio optimization and uses the Portfolio Safeguard (PSG) package, which has precoded modules for optimization with SSD constraints, mean-variance and minimum variance portfolio optimization. We have done in-sample and out-of-sample simulations for portfolios of stocks from the Dow Jones, S&P 100 and DAX indices. The considered portfolios’ SSD dominate the Dow Jones, S&P 100 and DAX indices. Simulation demonstrated a superior performance of portfolios with SD constraints, versus mean-variance and minimum variance portfolios.


Introduction
Standard portfolio optimization problems are based on several distribution characteristics, such as the mean, variance and Conditional Value-at-Risk (CVaR) of the return distribution. For instance, Markowitz' [1] mean-variance approach uses estimates of the mean and covariance matrix of the return distribution. Mean-variance portfolio theory works quite well when return distributions are close to normal. This paper considers the portfolio selection problem based on the Stochastic Dominance (SD) rule. Stochastic dominance takes into account the entire distribution of return, rather than some specific characteristics. The SD was introduced in mathematics by Mann and Whitney [2] and Lehmann [3]. Later on, the SD concept was adopted in theoretical studies in economics. There is a very extensive literature on the theoretical aspects of SD, for instance the role of SD rules and their relation with mean-variance rules are discussed in the monograph by Levy [4]. Muller and Stoyan [5], Shaked and Shanthikumar [6] and Whitmore and Findlay [7] provide extensive discussions of the stochastic dominance relations and other comparison methods for random outcomes.
This paper deals with the practical aspects of portfolio optimization problems with SD constraints. Lizyayev [8] published an overview of various approaches for testing of SD efficiency and finding efficient portfolios. The problem of constructing mean-risk models, which are consistent with the second-degree stochastic dominance relation, was considered by Ogryczak and Ruszczynski [9]. Dencheva and Ruszczynski [10] and Kuosmanen [11] developed the first algorithms to identify a portfolio that dominates a given benchmark by solving a finite dimension optimization problem. Dentcheva and Ruszczynski's [10] optimization approach was further developed in Dentcheva and Ruszczynski [12] and Rudolf and Ruszczynski [13]. Dentcheva and Ruszczynski [14] introduced inverse stochastic dominance constraints, which were later employed in Kopa and Chovanec's [15] refined method for testing stochastic dominance efficiency. Dentcheva and Ruszczynski [16] developed an efficient cutting plane algorithm using inverse stochastic dominance constraints. Roman et al. [17] suggested a portfolio optimization algorithm for SD efficient portfolios. They used SD with a multi-objective representation of a problem with CVaR in the objective. Fabian et al. [18,19] considered the cutting plane method to solve the optimization problem with SD constraints.
This paper considers the optimization problem statement with the Second-Order Stochastic Dominance (SSD) constraints similar to Rudolf and Ruszczynski [13]. We concentrated on implementation issues of portfolio optimization and conducted a numerical case study. We used the Portfolio Safeguard (PSG) [20] optimization package of AORDA 1 which has precoded functions for optimization with SSD constraints. We solved optimization problems for stocks in the Dow Jones, S&P 100 and DAX indices and found portfolios for which SSD dominate these indices. We have done out-of-sample simulations and compared the performance of these portfolios with the mean-variance portfolios based on constant and time-varying covariance matrices. These simulations have limited usefulness because they were conducted for some specific indices and specific time periods. Nevertheless, the paper shows that the portfolio optimization with SSD constraints can be done quite easily, and our findings may be quite helpful to financial optimization practitioners.

SSD Constraints Definition
Denote by F X (t) the cumulative distribution function of a random variable X. For two integrable random variables X and Y, we say that X dominates Y in the second-order, if: In short, we say that X dominates Y in the SSD sense and denote it by X 2 Y. With the partial moment function of a random variable X for a target value η, the SSD dominance can be equivalently defined as follows [21]: where [η − X] + = max (0, η − X). Suppose that Y has a discrete distribution with outcomes, y i , i = 1, . . . , N. Then, Condition (2) can be reduced to the finite set of inequalities: We use further inequalities (3) for defining a portfolio X dominating benchmark Y. 1 American Optimal Decision (www.aorda.com), Gainesville, FL 32611, USA.

Portfolio Optimization Problem with SSD Constraints
Let us denote: w j = portfolio weight of the instrument j, j = 1, . . . , n. p i = probability of scenario i, i = 1, . . . , N, r ji = return of instrument j on scenario i, w = vector of portfolio weights, w = (w 1 , w 2, , . . . , w n ) T , r (w) = portfolio return as a function of portfolio weights w, r (w) = expected portfolio return as a function of portfolio weights w.
Portfolio return on scenario i equals: Expected portfolio return equals: Y stands for the random return of the benchmark portfolio, and y_i denotes the realizations of the benchmark portfolio Y(i = 1, . . . , N). We want to find a portfolio SSD dominating the benchmark portfolio Y and having minimum cost c (w). We do not allow for shorting of instruments. Let us denote by W the set of feasible portfolios: The optimization problem is formulated as follows: Since the benchmark portfolio has a discrete distribution, with (3), we reduce the portfolio optimization problem (4) to: maximize w r (w) subject to:

Portfolio Optimization with SSD Constraints: PSG Code
This section is intended for readers interested in the practical implementation of portfolio optimization with SSD constraints. The Introduction referred to many efficient implementations of portfolio optimization problems with SSD constraints. However, these implementations are described in research papers, and they are not readily available for portfolio optimization practitioners. The optimization problem (5) can be directly solved with PSG software without additional coding. PSG is free for academic purposes. We posted at this link [22] several instances of solved problems (codes, data and solutions) in PSG Run-File (text) format and in PSG MATLAB (MathWorks, Natick, MA, USA) format. Below is the code for Problem (5)  Matrix "matrix_sde" contains a set of scenarios for instruments of the portfolio. The function "avg_g (matrix_sde)" calculates the average return of the portfolio defined by the matrix of scenarios. Linear function "linear (matrix_budget)" is used in the budget constraint; it is defined by the coefficients in the matrix "matrix_budget". SSD constraints are defined by the partial moment function "pm_pen (vector_benchmark_sd, matrix_sde)", which depends on the "vector_benchmark_sd" containing the components of the vector, y i , i = 1, . . . , N and the matrix of scenarios "matrix_sde" for instruments.
The vector "vector_ubound_sd" contains values E [y i − Y] + , i = 1, . . . , N. The PSG code does not have cycles; basically, it is presenting the problem (5) in analytic format with precoded functions. The website link [22] also contains data for the PSG MATLAB Toolbox for solving Problem (5) with data imported from PSG text format. Furthermore, the MATLAB subroutine for Problem (5) was automatically generated from the PSG MATLAB Toolbox. A reader can solve Problem (5) by using the PSG MATLAB subroutine without learning the PSG capabilities. This MATLAB subroutine was used in cycles in the out-of-sample simulations described in the following section.
Further, we discuss several numerical runs posted at the link [22]. The problems were solved with a PC with 3.14 GHz.
PROBLEM_1 describes three instances of portfolio optimization problems considered in the following section. We found portfolios of stocks, which SSD dominate, the DAX, Dow Jones and S&P 100 indices. The instances have 3046, 3020 and 3020 scenarios (daily returns) and 26, 29 and 90 variables (stocks from the indices included in the optimization), accordingly. The solution times are 0.27, 0.05 and 0.21 s, accordingly. The PSG automatic procedure for removing redundant constraints removed 8, 0 and 2 constraints in the three instances, accordingly.
PROBLEM_2 describes a dataset with 30,000 scenarios considered in Fabian et al. [18]. This dataset contains many repeated (coinciding) nonlinear constraints. The PSG MultiConstraint setting in the problem statement does automatic preprocessing and removes redundant and repeated constraints. The initial number of constraints (corresponding to the number of scenarios) is 30,000; the automatic PSG preprocessing of constraints reduces this number to 972. The solution time is 1.41 s.
PROBLEM_3 describes the same dataset as PROBLEM_2 with 30,000 scenarios, but all SSD constraints are manually specified in the list. The list includes only 972 constraints, because we manually removed repeated constraints. The solution time is 1.40 s.
PSG is free for academic purposes. The PSG solution times for similar dimensions are comparable with the solution times of specialized algorithms described in Dentcheva and Ruszczynski [12,14], Dentcheva and Ruszczynski [16], Rudolf and Ruszczynski [13], Roman et al. [17] and Fabian et al. [18,19]. The advantage of the described problems and PSG codes is that the numerical runs can be easily verified with the data posted at the link [22]. Similar problems can be solved by replacing data in the matrices included in the PSG code. Since PSG codes are specified in analytic format, it is possible to modify the codes without significant effort. For instance, additional constraints, such as "cardinality", can be included in the problem statement to limit the number of securities in an optimal portfolio.

Mean-Variance Portfolios versus Portfolios with SSD Constraints
This section calculates mean-variance optimal portfolios and optimal portfolio with SSD constraints specified by (5) for datasets of stocks from the Dow Jones, S&P 100 and DAX indices.
The first dataset includes stocks from the Dow Jones Index (DJI), and the DJ Index is considered as a benchmark. Similar, the second and third datasets include stocks from the S&P 100 and DAX indices, and the S&P 100 and DAX indices were used as a benchmark, respectively. The data were downloaded from Yahoo! Finance [23] and include 3020, 3020 and 3046 historical daily returns of stocks from 1 January 2004 to 31 December 2015 for the DJ, S&P 100 and DAX indices respectively. The lists of stocks in the indices are taken on 31 December 2015. Therefore, we considered only 29 stocks from the DJ Index, 90 stocks from the S&P 100 Index and 26 stocks from the DAX Index (Appendix B contains the list of the stocks selected for this paper). The stock returns on a daily basis, r ji , were calculated using the logarithm of the ratio of the stock adjusted closing prices, f i , We adjusted for splits the stocks prices of four companies from the DAX Index 2 . We considered daily returns as equally probable scenarios. We calculated SSD-based portfolios described in (5), equally weighted, minimum variance and mean-variance portfolios with the constant and time-varying covariance matrices. Shorting is not allowed, and the sum of portfolio weights is equal to one, Here is a brief description of the portfolios: i.
Equally Weighted (EW) All stocks in the portfolio are equally weighted. Every stock has the same weight 1/n, where n is the number of stocks in the portfolio. ii.
Minimum Variance (MinVar) The minimum variance portfolio has minimum variance without any constraint on portfolio return. Shorting is not allowed, and the sum of the portfolio weights is equal to one. iii.
Mean-Variance (Mean-Var) The mean-variance portfolio [1] uses the mean return and the variance of the stock returns. We considered Mean-Var problems having variance in the objective function and the expected portfolio return of 8% per year in the constraint. Shorting is not allowed, and the sum of the portfolio weights is equal to one. We imposed a 0.2 upper bound constraint on the positions.
The numerical code was implemented with MATLAB R2012b [24]. We have used the PSG riskprog subroutine for MATLAB environment to solve MinVar and mean-variance portfolio problems. The calculations were performed on a notebook having a 2.5-GHz CPU and 8 GByte of RAM. Table 1 shows the expected yearly returns of the portfolios for the considered approaches.  The SSD dominating portfolios can be used for actual investments. At least in the past, these portfolios SSD dominated the corresponding indices. Moreover, the expected yearly return of the portfolio SSD dominating the DJ index equals 0.08762 and significantly exceeds the DJ index return in this period. Similar observations are valid for the portfolio of S&P 100 and DAX indices; the expected yearly returns of portfolio SSD dominating the benchmarks equal 0.24250 and 0.17922, respectively.
We compared solving times of SSD constrained optimization (using the PSG subroutine) with the MinVar and Mean-Var approaches (using the PSG riskprog subroutine). Data loading and solving times are given in Table 2; all problems are solved almost instantaneously.

Out-Of-Sample Simulations
We have evaluated the out-of-sample performance of several variants of mean-variance portfolios and SSD constrained portfolios. We considered a time series framework where the estimation period (750 and 1000 days) is rolled over time. Portfolios are re-optimized on every first business day of the month using the recent historical daily returns (750 or 1000). We kept constant positions during the month. We set a 9% per year return constraint in Mean-Var problem. If the expected return 9% per year is not feasible (in the beginning of the month), then we set a 6% expected return constraint, and if we still do not have feasibility, we reduce the expected return to 3% and then to 0%.
The classical mean-variance model considers the constant covariance matrix. For the out-of-sample simulations, we also considered the time-dependent covariance matrix using the Constant and Dynamic Conditional Correlation GARCH (CCC and DCC) models in the MinVar and Mean-Var approaches. Further, we briefly describe the estimation procedure for the time-dependent covariance matrices.
We considered constant and dynamic conditional correlation GARCH models for estimation of large time-dependent covariance matrices [25][26][27][28]. We estimated the time-dependent covariance matrix using H t with a simple GARCH(1,1) model. The CCC-GARCH model assumes that correlations are constant, R = ρ ij , and that covariances may change over time, and the time-dependent covariance matrix H t is extracted from this model, where H t = D t RD t . The DCC-GARCH model assumes that correlations may change over time, and time-dependent covariance matrix H t is extracted from the model, where H t = D t R t D t . Here, D t is the diagonal matrix from a univariate GARCH model, and R t is the time-dependent correlation matrix [29]. This paper assumes the simplest conditional mean return equation where r j = N −1 ∑ N i=1 r ji is the sample mean, and the deviation of returns (r t − r) is conditionally normal with zero mean and time-dependent covariance matrix H t [30]. We used H t in MinVar and Mean-Var problems. For the estimation of the time-dependent covariance matrix, we used the MFE Toolbox 3 [31]. The difficulty in the estimation of the covariance matrices with the DCC model is that the time-dependent conditional correlation matrix has to be positive definite for all time moments. We observe that with small in-sample time intervals (such as 250 days), the variance-covariance matrix may not be positive definite. Therefore, we have used 750 and 1000 days as the in-sample periods. Figures 1-6 show the out-of-sample compounded daily returns of the portfolios.                In Table 3 (DJ stocks, t = 750), the SSD constrained portfolio has the highest T_R (1.3961) and Sh_R (0.5761) higher than all considered portfolios, except DCC Mean-Var and CCC Mean-Var.    In Table 3 (DJ stocks, t = 750), the SSD constrained portfolio has the highest T_R (1.3961) and Sh_R (0.5761) higher than all considered portfolios, except DCC Mean-Var and CCC Mean-Var.    In Table 3 (DJ stocks, t = 750), the SSD constrained portfolio has the highest T_R (1.3961) and Sh_R (0.5761) higher than all considered portfolios, except DCC Mean-Var and CCC Mean-Var. In Table 3 (DJ stocks, t = 750), the SSD constrained portfolio has the highest T_R (1.3961) and Sh_R (0.5761) higher than all considered portfolios, except DCC Mean-Var and CCC Mean-Var. In Table 4 (DJ stocks, t = 1000), the SSD constrained portfolio has the highest T_R (1.5317) and Sh_R (0.9008). In Table 5 (S&P 100 stocks, t = 750), the SSD constrained portfolio has the highest T_R (3.0027) and Sh_R (0.9157). In Table 6 (S&P 100 stocks, t = 1000), the SSD constrained portfolio has the highest T_R (1.9756) and Sh_R (0.7110).  In Table 8 (DAX stocks, t = 1000), the SSD constrained portfolio has T_R (1.4897) and Sh_R (0.39520) higher than all considered portfolios, except MinVar, CCC MinVar and DCC MinVar. Appendix A shows the weights of SSD constrained portfolios at the last month of the out-of-sample period and portfolio weights with all in-sample data. Appendix B shows company codes and names for the Dow Jones, SP500 and DAX indices.

Conclusions
This paper used Portfolio Safeguard (PSG) for portfolio optimization with SSD constraints. The algorithms are very efficient and can be run on a regular PC. The index portfolio optimization instances have 3046, 3020 and 3020 scenarios (daily returns) and 26, 29 and 90 variables, accordingly. The solution times are 0.27, 0.05 and 0.21 s for these instances. Another instance with 76 variables and 972 scenarios was optimized during 1.4 s. We have done out-of-sample simulations and compared SSD constrained portfolios with the minimum variance and mean-variance portfolios. The portfolios were constructed from the stocks of the DJ, S&P 100 and DAX indices. The SSD constrained portfolio demonstrated quite good out-of-sample performance and in the majority of cases had the highest compounded return and Sharpe ratio (among the considered portfolios). We think that SSD constrained optimization can be widely used in actual portfolio management, similar to mean-variance optimization.
Author Contributions: N. Fidan Keçeci wrote the paper and conducted the case study. V. Kuzmenko was involved in proving mathematical statements and in software development for the case study. S. Uryasev provided an overall guidance of the project.

Conflicts of Interest:
The authors declare no conflict of interest.