ORF 307: Lecture 3
Linear Programming: Chapter 13, Section 1
          Portfolio Optimization
                  Robert Vanderbei
                 February 12, 2019
           Slides last edited on February 12, 2019
                                                     https://vanderbei.princeton.edu
Portfolio Optimization: Markowitz Shares the 1990
Nobel Prize          Press Release - The Sveriges Riksbank (Bank of Sweden) Prize in Economic Sciences
                     in Memory of Alfred Nobel
               KUNGL. VETENSKAPSAKADEMIEN
        THE ROYAL SWEDISH ACADEMY OF SCIENCES
        16 October 1990
        THIS YEAR’S LAUREATES ARE PIONEERS IN THE THEORY OF FINANCIAL ECONOMICS
        AND CORPORATE FINANCE
        The Royal Swedish Academy of Sciences has decided to award the 1990 Alfred Nobel Memorial Prize
        in Economic Sciences with one third each, to
        Professor Harry Markowitz, City University of New York, USA,
        Professor Merton Miller, University of Chicago, USA,
        Professor William Sharpe, Stanford University, USA,
        for their pioneering work in the theory of financial economics.
        Harry Markowitz is awarded the Prize for having developed the theory of portfolio choice;
        William Sharpe, for his contributions to the theory of price formation for financial assets, the so-called,
        Capital Asset Pricing Model (CAPM); and
        Merton Miller, for his fundamental contributions to the theory of corporate finance.
        Summary
        Financial markets serve a key purpose in a modern market economy by allocating productive resources
        among various areas of production. It is to a large extent through financial markets that saving in
        different sectors of the economy is transferred to firms for investments in buildings and machines.
        Financial markets also reflect firms’ expected prospects and risks, which implies that risks can be spread
        and that savers and investors can acquire valuable information for their investment decisions.
        The first pioneering contribution in the field of financial economics was made in the 1950s by Harry
        Markowitz who developed a theory for households’ and firms’ allocation of financial assets under
        uncertainty, the so-called theory of portfolio choice. This theory analyzes how wealth can be optimally
        invested in assets which differ in regard to their expected return and risk, and thereby also how risks can
        be reduced.
                                                                            Copyright© 1998 The Nobel Foundation      1
Historical Data—Some ETF Prices
Notation: Sj (t) = share price for investment j at time t.
                                                             2
Return Data: Rj (t) = Sj (t)/Sj (t − 1)
Important observation: volatility is easy to see, mean return is lost in the noise.   3
Risk vs. Reward
Reward: Estimated using historical means:
                                                    T
                                                 1X
                                       rewardj =       Rj (t).
                                                 T t=1
Risk:    Markowitz defined risk as the variability of the returns as measured by the historical
         variances:
                                             T
                                         1X                        2
                                 riskj =          Rj (t) − rewardj .
                                         T t=1
         However, to get a linear programming problem (and for other reasons) we use the
         sum of the absolute values instead of the sum of the squares:
                                             T
                                          1X
                                  riskj =       Rj (t) − rewardj .
                                          T t=1
                                                                                              4
Why Make a Portfolio? ... Hedging
Investment A:   Up 20%, down 10%, equally likely—a risky asset.
Investment B:   Up 20%, down 10%, equally likely—another risky asset.
Correlation:    Up-years for A are down-years for B and vice versa.
Portfolio:      Half in A, half in B: up 5% every year! No risk!
                                                                        5
Explain
          Explain the 5% every year claim.
                                             6
Return Data: 50 days around 01/01/2014
                      1.03
                      1.02
                      1.01
                        1
            Returns
                      0.99
                                      XLU
                      0.98            XLB
                                      XLI
                                      XLV
                                      XLF
                                      XLE
                                      MDY
                      0.97            XLK
                                      XLY
                                      XLP
                                      QQQ
                                      S&P500
                      0.96
                             2013.96 2013.98   2014   2014.02 2014.04 2014.06 2014.08   2014.1   2014.12 2014.14
                                                                   Date
Note: Not much negative correlation in price fluctuations. An up-day is an up-day and a
down-day is a down-day.                                                               7
Portfolios
Fractions:                        xj = fraction of portfolio to invest in j
                                            X
Portfolio’s Historical Returns:   Rx(t) =       xj Rj (t)
                                            j
                                                 T             T X
                                              1X            1X
Portfolio’s Reward:               reward(x) =       Rx(t) =         xj Rj (t)
                                              T t=1         T t=1 j
                                                              T
                                                    X      1X             X
                                                =       xj       Rj (t) =   xj rewardj
                                                    j
                                                           T t=1          j
                                                                                         8
What’s a Good Formula for the Portfolio’s Risk?
                                                  9
Portfolio’s Risk:
                       T                    2
                    1X
          risk(x) =        Rx(t) − reward(x)
                    T t=1
                                                           2
                         T                      T
                     1   X      X             1 XX
                 =               xj Rj (t) −      xj Rj (s)
                     T   t=1      j
                                              T   s=1   j
                                           2
                    T                T
                   1X X           1X
                 =      xj Rj (t) −    Rj (s)
                                              
                     T                            T
                      
                         t=1      j                   s=1
                                                       2
                         T
                     1   X      X
                 =               xj (Rj (t) − rewardj )
                     T   t=1      j
                                                                 10
A Markowitz-Type Model
Decision Variables: the fractions xj .
Objective: maximize return, minimize risk.
Fundamental Lesson: can’t simultaneously optimize two objectives.
Compromise: set a lower bound µ for reward and minimize risk subject to this bound con-
straint:
  • Parameter µ is called reward happiness parameter.
  • Small value for µ puts emphasis on risk minimization.
  • Large value for µ puts emphasis on reward maximization.
Constraints:
                               T X
                            1X
                                    xj Rj (t) ≥ µ
                            T t=1 j
                                         X
                                             xj   =   1
                                         j
                                             xj   ≥   0   for all j
                                                                                     11
Optimization Problem
                                                            2
                           T
                       1   X         X
          minimize                      xj (Rj (t) − rewardj )
                       T   t=1 j
                            T X
                       1   X
          subject to                 xj Rj (t) ≥ µ
                       T   t=1   j       X
                                              xj = 1
                                          j
                                              xj ≥ 0    for all j
                                                                    12
AMPL: Model
reset;
set Assets;    # asset categories
set Dates;     # dates
param   T := card(Dates);
param   mu;
param   R {Dates,Assets};
param   mean {j in Assets} := ( sum{t in Dates} R[t,j] )/T;
param   Rdev {t in Dates, j in Assets} := R[t,j] - mean[j];
param   variance {j in Assets} := ( sum{t in Dates} Rdev[t,j]^2 )/T;
var x{Assets} >= 0;
minimize risk: sum{t in Dates} (sum{j in Assets} Rdev[t,j]*x[j])^2 / T;
s.t. reward_bound: sum{j in Assets} mean[j]*x[j] >= mu;
s.t. tot_mass: sum{j in Assets} x[j] = 1;
                                                                          13
AMPL: Data
data;
set Assets := mdy xlb xli xlu spy qqq xle xlk xlv xlf xlp xly;
set Dates := include 'dates';
param R: mdy xlb xli xlu spy qqq xle xlk xlv xlf xlp xly :=
  include 'returns.data' ;
printf {j in Assets}: "%10.7f %10.5f \n",
       mean[j]^(12), sum{t in Dates} (Rdev[t,j])^2/T > "assets";
                                                                   14
AMPL: Solve, and Print
set assets_min_var ordered := {j in Assets: variance[j] == min {jj in Assets} variance[jj]};
param maxmean := max {j in Assets} mean[j];
param minmean := mean[first(assets_min_var)];
display mean, variance;
display minmean, maxmean;
printf {j in Assets}: " %5s ", j > "portfolio_minrisk";
printf " | reward    risk \n" > "portfolio_minrisk";
for {k in 0..20} {
  display k;
  let mu := (k/20)*minmean + (1-k/20)*maxmean;
    solve;
    printf {j in Assets}: "%7.4f ", x[j] > "portfolio_minrisk";
    printf " | %7.4f %7.4f \n",
        (sum{j in Assets} mean[j]*x[j])^(12),
        sum{t in Dates} (sum{j in Assets} Rdev[t,j]*x[j])^2 / T
                > "portfolio_minrisk";
}
                                                                                               15
Efficient Frontier
Varying risk bound µ produces the so-called efficient frontier.
Portfolios on the efficient frontier are reasonable.
Portfolios not on the efficient frontier can be strictly improved.
   XLU      XLB    XLI   XLV   XLF   XLE   MDY   XLK      XLY       XLP      QQQ        SPY        Risk   Reward
         1.00000                                                                               0.00715    1.00063
         0.91073                                                                     0.08927   0.00705    1.00063
         0.80327                                                                     0.19673   0.00696    1.00063
         0.64003                                                                     0.35997   0.00686    1.00063
         0.52089                                                           0.03862   0.44049   0.00676    1.00062
         0.50041                                       0.01272             0.06919   0.41768   0.00667    1.00062
         0.48484                                       0.04132             0.07129   0.40254   0.00657    1.00061
         0.46483                                       0.06857             0.07658   0.39002   0.00647    1.00060
         0.44030                                       0.09633             0.08232   0.38105   0.00638    1.00059
         0.42825                                       0.12917             0.08171   0.36086   0.00628    1.00059
         0.39737                                       0.16114             0.08506   0.35643   0.00619    1.00058
         0.36890                                       0.19318             0.09133   0.34659   0.00609    1.00057
         0.33802                                       0.22223   0.00451   0.09494   0.34030   0.00599    1.00056
         0.29959                                       0.23687   0.01707   0.10664   0.33984   0.00590    1.00055
         0.27975                                       0.26587   0.02543   0.10951   0.31943   0.00580    1.00054
         0.25688                                       0.28212   0.03974   0.12461   0.29666   0.00570    1.00053
         0.24677                                       0.30348   0.05438   0.13634   0.25903   0.00561    1.00052
         0.23570                                       0.32960   0.07273   0.13670   0.22527   0.00551    1.00051
         0.21978                                       0.36630   0.09093   0.12719   0.19580   0.00541    1.00049
         0.21069                                       0.40713   0.10881   0.12695   0.14641   0.00532    1.00048
         0.18010                                       0.46128   0.12077   0.13760   0.10025   0.00522    1.00046
                                                                                                                    16
Efficient Frontier
                     17
Downloading the AMPL model and data
AMPL Model:
                 https://vanderbei.princeton.edu/307/ampl/markL2 minrisk.txt
List of dates:
                     https://vanderbei.princeton.edu/307/ampl/dates.txt
Monthly return data:
                     https://vanderbei.princeton.edu/307/ampl/returns.txt
Data from
                                    Yahoo Groups Finance
                                                                               18
Alternative Formulation
Maximize reward subject to a bound on risk and use least absolute deviations as the risk
measure:
                               T X
                            1X
               maximize             xj Rj (t)
                            T t=1 j
                               T
                            1X    X
               subject to           xj (Rj (t) − rewardj ) ≤ µ
                            T t=1 j
                                                   X
                                                         xj = 1
                                                     j
                                                         xj ≥ 0   for all j
Because of absolute values not a linear programming problem.
Easy to convert...
                                                                                      19
Main Idea For The Conversion
Using the “greedy substitution”, we introduce new variables to represent the troublesome
part of the problem
                                       X
                               yt =           xj (Rj (t) − rewardj )
                                          j
to get
                                  T X
                               1X
                  maximize             xj Rj (t)
                               T t=1 j
                               X
                  subject to          xj (Rj (t) − rewardj ) = yt        for all t
                                 j
                                                         T
                                                      1X
                                                            yt ≤ µ
                                                      T t=1
                                                       X
                                                            xj = 1
                                                         j
                                                             xj ≥ 0      for all j.
We then note that the constraint defining yt can be relaxed to a pair of inequalities:
                                     X
                           −yt ≤          xj (Rj (t) − rewardj ) ≤ yt.
                                      j                                                  20
A Linear Programming Formulation
                     T X
                  1X
       maximize           xj Rj (t)
                  T t=1 j
                          X
       subject to −yt ≤       xj (Rj (t) − rewardj ) ≤ yt   for all t
                          j
                                             T
                                          1X
                                                yt ≤ µ
                                          T t=1
                                           X
                                                xj = 1
                                              j
                                                  xj ≥ 0    for all j
                                                  yt ≥ 0    for all t
                                                                        21