Portfolio Optimization # 1 A. Charpentier (Universit de Rennes 1) - - PowerPoint PPT Presentation

portfolio optimization 1 a charpentier universit de
SMART_READER_LITE
LIVE PREVIEW

Portfolio Optimization # 1 A. Charpentier (Universit de Rennes 1) - - PowerPoint PPT Presentation

Arthur Charpentier, Universit de Rennes 1, Portfolio Optimization - 2017 Portfolio Optimization # 1 A. Charpentier (Universit de Rennes 1) Universit de Rennes 1, 2017/2018 1 @freakonometrics freakonometrics freakonometrics.hypotheses.org


slide-1
SLIDE 1

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Portfolio Optimization # 1

  • A. Charpentier (Université de Rennes 1)

Université de Rennes 1, 2017/2018

@freakonometrics freakonometrics freakonometrics.hypotheses.org

1

slide-2
SLIDE 2

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Markowitz (1952) & Theoretical Approach Following Markowitz (1952), consider n assets, infinitely divisible. Their returns are random variables, denoted X, (jointly) normaly distributed, N(µ, Σ), i.e. E[X] = µ and var(X) = Σ. Let ω denotes weights of a given portfolio. Portfolio risk is measured by its variance var(αTX) = σ2

α = αTΣα

For minimal variance portfolios, with a given portfolio return, ¯ r, the optimization problem can be stated as α⋆ = argmin

  • αTΣα
  • s.t.

   E(αTX) = αTµ = ¯ r αT1 = 1 Allocation α is said to be efficient if it is not possible to find another one, with the same expected return, and a strictly lower variance, or dually, to find another

  • ne with the same variance, and a strictly higher expected return.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

2

slide-3
SLIDE 3

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Markowitz (1952) & Theoretical Approach Recall that to solve a program α∗ = argmin

  • f(α)
  • s.t. g1(α), · · · , gp(α) ≥ 0,

where g1, · · · , gp are p continuously differentiable functions, a necessary and sufficient condition for α∗ to be a solution is that (α∗, λ) is solution of the n + p first order conditions ∂ ∂αi (f(α) + λ1g1(α) + · · · + λpgp(α)) = 0 for i = 1, 2, ..., n, ∂ ∂λj (f(α) + λ1g1(α) + · · · + λpgp(α)) = 0 for j = 1, 2, ..., p. Constants λ = (λ1, · · · , λp) are Lagrange multipliers, and function α → f(α) + λ1g1(α) + · · · + λpgp(α) is the Lagrangien associated with the optimization program.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

3

slide-4
SLIDE 4

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Markowitz (1952) & Theoretical Approach Here we want to minimize var(αX), i.e. αTΣα (a quadratic function) with two (linear) constraints. We want to solve ∂ ∂αi

  • α′Σα + λ1(αTI − 1) + λ2(αTµ − ¯

r)

  • = 0 for i = 1, 2, · · · , n,

∂ ∂λj

  • α′Σα + λ1(αTI − 1) + λ2(αTµ − ¯

r)

  • = 0 for j = 1, 2.

Observe that ∂ ∂ααTΣα = 2Σα and ∂ ∂αµTα = µ, so that α∗ has to be α∗ = λ1Σ−1I + λ2Σ−1µ, where Lagrange multipliers are given by    λ1ITΣ−1µ + λ2ITΣ−1I = 1 λ1µTΣ−1µ + λ2µTΣ−1I = ¯ r ,

@freakonometrics freakonometrics freakonometrics.hypotheses.org

4

slide-5
SLIDE 5

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Markowitz (1952) & Theoretical Approach Set a = ITΣ−1µ, b = µTΣ−1µ and c = ITΣ−1I, we can write the last system    λ1a + λ2c = 1 λ1c + λ2a = ε , Set d = bc − a2, so that λ1 = cε − a d and λ2 = b − aε d . From that expression of Lagrange multipliers, use the first order conditions to express Σα = λ1R + λ2I and the optimal variance of the portfolio is σ2

∗ = αTΣα = λ1ε + λ2,

@freakonometrics freakonometrics freakonometrics.hypotheses.org

5

slide-6
SLIDE 6

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Markowitz (1952) & Theoretical Approach Hence, without any risk-free asset, the efficient frontier in the mean-variance problem is a parabolic function σ2

∗ = cε2 − 2aε + b

d where ε is the expected return of the portfolio. Further, we have optimal weights α∗ = Σ−1 (λ1X + λ2I) , which is a linear expression.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

6

slide-7
SLIDE 7

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects Consider the following three assets, as in Zivot (2013)

1 > asset.names

<- c("MSFT", "NORD", "SBUX")

2 > mu.vec = c(0.0427 ,

0.0015 , 0.0285)

3 > names(mu.vec) = asset.names 4 > sigma.mat = matrix(c(0.0100 ,

0.0018 , 0.0011 ,0.0018 , 0.0109 , 0.0026 ,0.0011 , 0.0026 , 0.0199) ,nrow=3, ncol =3)

5 > dimnames (sigma.mat) = list(asset.names , asset.names) 6 > mu.vec 7

MSFT NORD SBUX

8 0.0427

0.0015 0.0285

9 > sigma.mat 10

MSFT NORD SBUX

11 MSFT

0.0100 0.0018 0.0011

12 NORD

0.0018 0.0109 0.0026

13 SBUX

0.0011 0.0026 0.0199

@freakonometrics freakonometrics freakonometrics.hypotheses.org

7

slide-8
SLIDE 8

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects Here are the three assets in the (σ, µ)-plane (with possibly much more)

@freakonometrics freakonometrics freakonometrics.hypotheses.org

8

slide-9
SLIDE 9

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects Return and variance of a given portfolio are given by

1 > x.vec = rep (1 ,3)/3 2 > names(x.vec) = asset.names 3 > mu.p.x = crossprod (x.vec ,mu.vec) 4 > sig2.p.x = t(x.vec)%*%sigma.mat%*%x.vec 5 > sig.p.x = sqrt(sig2.p.x) 6 >

mu.p.x

7

[,1]

8 [1,]

0.02423

9 > sig.p.x 10

[,1]

11 [1,]

0.07587

Global minimum variance portfolio is given by solving min{αTΣα} s.t. αT1 = 1

@freakonometrics freakonometrics freakonometrics.hypotheses.org

9

slide-10
SLIDE 10

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

First order conditions on the Lagrangian yield  2Σ 1 1T  

  • A

 α⋆ λ   =  0 1  

b

@freakonometrics freakonometrics freakonometrics.hypotheses.org

10

slide-11
SLIDE 11

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects Here we have

1 > top.mat = cbind (2*sigma.mat , rep(1, 3)) 2 > bot.vec = c(rep(1, 3), 0) 3 > Am.mat = rbind(top.mat , bot.vec) 4 > b.vec = c(rep(0, 3), 1) 5 > z.m.mat = solve(Am.mat)%*%b.vec 6 > m.vec = z.m.mat [1:3 ,1] 7 > m.vec 8

MSFT NORD SBUX

9 0.4411

0.3656 0.1933

the portfolio return and standard deviation are

1 > mu.gmin = as.numeric(crossprod (m.vec , mu.vec)) 2 > mu.gmin 3 [1]

0.02489

4 > sig2.gmin = as.numeric(t(m.vec)%*%sigma.mat%*%m.vec) 5 > sig.gmin = sqrt(sig2.gmin) @freakonometrics freakonometrics freakonometrics.hypotheses.org

11

slide-12
SLIDE 12

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 6 > sig.gmin 7 [1]

0.07268

Another way to compute it is to go further on the analytical expression, and to derive α⋆ = Σ−11 1TΣ−11

1 > one.vec = rep(1, 3) 2 > sigma.inv.mat = solve(sigma.mat) 3 > top.mat = sigma.inv.mat%*%one.vec 4 > bot.val = as.numeric ((t(one.vec)%*%sigma.inv.mat%*%one.vec)) 5 > m.mat = top.mat/bot.val 6 > m.mat [,1] 7

MSFT NORD SBUX

8 0.4411

0.3656 0.1933

@freakonometrics freakonometrics freakonometrics.hypotheses.org

12

slide-13
SLIDE 13

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 @freakonometrics freakonometrics freakonometrics.hypotheses.org

13

slide-14
SLIDE 14

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Efficient portfolios are obtained by solving min{αTΣα} s.t. αTµ = r0 and αT1 = 1 First order conditions on the Lagrangian yield     2Σ µ 1 µT 1T    

  • A

    α⋆ λ1 λ2     =     r0 1    

b

If our target is to get the same return as Microsoft, say (MSFT),

1 > top.mat = cbind (2*sigma.mat , mu.vec , rep(1, 3)) 2 > mid.vec = c(mu.vec , 0, 0) 3 > bot.vec = c(rep(1, 3), 0, 0) 4 > A.mat = rbind(top.mat , mid.vec , bot.vec) 5 > bmsft.vec = c(rep(0, 3), mu.vec["MSFT"], 1) @freakonometrics freakonometrics freakonometrics.hypotheses.org

14

slide-15
SLIDE 15

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 6 > z.mat = solve(A.mat)%*%bmsft.vec 7 > x.vec = z.mat [1:3 ,] 8 > x.vec 9

MSFT NORD SBUX

10 0.82745

  • 0.09075

0.26329

the portfolio return and standard deviation are

1 > mu.px = as.numeric(crossprod (x.vec , mu.vec)) 2 > mu.px 3 [1]

0.0427

4 > sig2.px = as.numeric(t(x.vec)%*%sigma.mat%*%x.vec) 5 > sig.px = sqrt(sig2.px) 6 > sig.px 7 [1]

0.09166

If our target is to get the same return as Starbucks (SBUX),

1 > bsbux.vec = c(rep(0, 3), mu.vec["SBUX"], 1) 2 > z.mat = solve(Ax.mat)%*%bsbux.vec @freakonometrics freakonometrics freakonometrics.hypotheses.org

15

slide-16
SLIDE 16

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 3 > y.vec = z.mat [1:3 ,] 4 > y.vec 5

MSFT NORD SBUX

6 0.5194

0.2732 0.2075

with expected return and standard deviation

1 > mu.py = as.numeric(crossprod (y.vec , mu.vec)) 2 > sig2.py = as.numeric(t(y.vec)%*%sigma.mat%*%y.vec) 3 > sig.py = sqrt(sig2.py) 4 > mu.py 5 [1]

0.0285

6 > sig.py 7 [1]

0.07355

Observe that actually, those two portfolios are extremely correled

1 > sigma.xy = as.numeric(t(x.vec)%*%sigma.mat%*%y.vec) 2 > rho.xy = sigma.xy/(sig.px*sig.py) 3 > rho.xy @freakonometrics freakonometrics freakonometrics.hypotheses.org

16

slide-17
SLIDE 17

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 4 [1]

0.8772

Here again, one can go further on analytical expressions, α⋆ = −1 2λ1Σ−1µ − 1 2λ2Σ−11 = 1 2Σ−1Mλ where M = [µ, 1]. One can easily prove that λ = (λ1, λ2) is solution of −1 2  µTΣ−1µ µTΣ−11 1TΣ−1µ 1TΣ−11  

  • B

λ =  r0 1  

r0

thus, λ = −2B−1r0,

1 > M.mat = cbind(mu.vec , one.vec) 2 > B.mat = t(M.mat)%*%solve(sigma.mat)%*%M.mat 3 > mu.tilde.msft = c(mu.vec["MSFT"], 1) @freakonometrics freakonometrics freakonometrics.hypotheses.org

17

slide-18
SLIDE 18

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 4 > x.vec .2 = solve(sigma.mat)%*%M.mat%*%solve(B.mat)%*%mu.tilde.msft 5 > x.vec .2 6

[,1]

7 MSFT

0.82745

8 NORD

  • 0.09075

9 SBUX

0.26329

We can now compute the efficient frontier. We have seen that any minimum variance portfolio can be created as a convex combination of any two minimum variance portfolios with different target expected returns. Consider our two previous portfolio, x and y. Let α be a portfolio, expressed from x and y, α = αx + (1 − α)y

1 > a = 0.5 2 > z.vec = a*x.vec + (1-a)*y.vec 3 > z.vec 4

MSFT NORD SBUX

@freakonometrics freakonometrics freakonometrics.hypotheses.org

18

slide-19
SLIDE 19

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 5 0.6734

0.0912 0.2354

with expected return and standard deviation

1 > mu.pz = as.numeric(crossprod (z.vec , mu.vec)) 2 > sig2.pz = as.numeric(t(z.vec)%*%sigma.mat%*%z.vec) 3 > sig.pz = sqrt(sig2.pz) 4 > mu.pz 5 [1]

0.0356

6 > sig.pz 7 [1]

0.08006

  • r equivalently

1 > mu.pz = a*mu.px + (1-a)*mu.py 2 > sig.xy = as.numeric(t(x.vec)%*%sigma.mat%*%y.vec) 3 > sig2.pz = a^2 * sig2.px + (1-a)^2 * sig2.py + 2*a*(1-a)*sig.xy 4 > sig.pz = sqrt(sig2.pz) 5 > mu.pz 6 [1]

0.0356

@freakonometrics freakonometrics freakonometrics.hypotheses.org

19

slide-20
SLIDE 20

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 7 > sig.pz 8 [1]

0.08006

If we have a given target expected return, we have to find first our appropriate weight α. For instance, if we want the same return as Nordstrom (NORD)

1 > a.nord = (mu.vec["NORD"] - mu.py)/(mu.px - mu.py) 2 > z.nord = a.nord*x.vec + (1 - a.nord)*y.vec 3 > z.nord 4

MSFT NORD SBUX

5 -0.06637

0.96509 0.10128

@freakonometrics freakonometrics freakonometrics.hypotheses.org

20

slide-21
SLIDE 21

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects Expected return and standard deviation are then

1 > mu.pz.nord = a.nord*mu.px + (1-a.nord)*mu.py 2 > sig2.pz.nord = a.nord ^2 * sig2.px + (1-a.nord)^2 * sig2.py + 2*a.

nord*(1-a.nord)*sigma.xy

3 > sig.pz.nord = sqrt(sig2.pz.nord) 4 > mu.pz.nord 5

NORD

6 0.0015 7 > sig.pz.nord 8

NORD

9 0.1033 @freakonometrics freakonometrics freakonometrics.hypotheses.org

21

slide-22
SLIDE 22

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects

@freakonometrics freakonometrics freakonometrics.hypotheses.org

22

slide-23
SLIDE 23

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects Now, to compute the efficient frontier, consider a sequence of α’s

1 a = seq(from=1, to=-1, by = -0.1) 2 n.a = length(a) 3 z.mat = matrix (0, n.a, 3) 4 mu.z = rep(0, n.a) 5 sig2.z = rep(0, n.a) 6 sig.mx = t(m)%*%sigma.mat%*%x.vec 7 for (i in 1:n.a) { 8 z.mat[i, ] = a[i]*m + (1-a[i])*x.vec 9 mu.z[i] = a[i]*mu.gmin + (1-a[i])*mu.px 10 sig2.z[i] = a[i]^2 * sig2.gmin + (1-a[i])^2 * sig2.px + 2*a[i]*(1-a[i

])*sig.mx }

11 plot(sqrt(sig2.z), mu.z, type="b", ylim=c(0, 0.06) , xlim=c(0, 0.17) ,

pch =16, col="blue", ylab= expression (mu[p]), xlab= expression (sigma[ p]))

12 text(sig.gmin , mu.gmin , labels="Global

min", pos =4)

13 text(sd.vec , mu.vec , labels=asset.names , pos =4) @freakonometrics freakonometrics freakonometrics.hypotheses.org

23

slide-24
SLIDE 24

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects

@freakonometrics freakonometrics freakonometrics.hypotheses.org

24

slide-25
SLIDE 25

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects The weights, as a function of volatility, are the following

1 library( PerformanceAnalytics ) 2 chart.StackedBar (z.mat , xaxis.labels=sqrt(sig2.z)) @freakonometrics freakonometrics freakonometrics.hypotheses.org

25

slide-26
SLIDE 26

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Alternative Formulations The problem we did solve was, for a given target return ¯ r α⋆ = argmin

  • αTΣα
  • s.t.

   E(αTX) = αTµ = ¯ r αT1 = 1 Alternatively, for a given target variance ¯ σ2, solve α⋆ = argmax

  • E(αTX) = αTµ
  • s.t.

   αTΣα = ¯ σ2 αT1 = 1 Or if λ > 0 denotes the Arrow-Pratt risk aversion coefficient, solve α⋆ = argmax

  • E[u(X)] = αTµ − λ

2 αTµ s.t. αT1 = 1 Those three problems are equivalent.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

26

slide-27
SLIDE 27

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Interpretation of Markowitz optimal allocation Optimal portfolios can be expressed as linear combinations of expected returns, i.e. α∗ = p + εq, where p and q depend only on the variance-covariance matrix of returns p = 1 d(bΣ−11 − aΣ−1µ) and q = 1 d(cΣ−1µ − aΣ−11) p is actually a portfolio allocation since p′I = 1, while q and be interpreted as changes with respect to allocation p (qT1 = 0 and [p + q]T1 = 1), see Merton (1972). We can also write α = (1 − ε)p + ε(p + q). Tobin (1958) and Sharpe (1964) extended Markowitz’s theory by introducting a risk-free asset.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

27

slide-28
SLIDE 28

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Allocation when there is a Risk-Free Asset With a risk-free asset, parabolic functions are degenerated. Let 0 be the index of that asset, so that X0 = r0, with E(X0) = r0 and var(X0) = 0. The investor can invest a share αT1 in risky assets, and 1 − αT1 in the risk-free asset. The return of the porfolio is random variable Rα = αTX + [1 − αT1]r0. First moments are µα = αTµ + [1 − αT1]r0 and σ2

α = αTΣα.

Risk minimization yields the following optimization problem α⋆ = argmin

  • αTΣα
  • s.t. αTµ + [1 − αT1]r0 = ¯

r Here again, apply Lagrange multipliers method to this convex optimization problem L(α, λ1) = αTΣα + λ1[(¯ r − r0)αT(µ − r01)]

@freakonometrics freakonometrics freakonometrics.hypotheses.org

28

slide-29
SLIDE 29

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Allocation when there is a Risk-Free Asset Hence α⋆ = λ1Σ−1(µ − r01) where λ1 = ¯ r − r0 (µ − r01)TΣ−1(µ − r01) Define the so-called Market Portfolio as follows: consider the fully-invested

  • ptimal portfolio αM with αT

M1 = 1 i.e.

αM = λ1Σ−1(µ − r01) where λ1 = 1 1TΣ−1(µ − r01)

@freakonometrics freakonometrics freakonometrics.hypotheses.org

29

slide-30
SLIDE 30

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Allocation when there is a Risk-Free Asset with expected return r0 + (µ − r01)TΣ−1(µ − r01) 1TΣ−1(µ − r01) and variance (µ − r01)TΣ−1(µ − r01) (1TΣ−1(µ − r01))2 Tobins Separation Theorem: Every optimal portfolio invests in a combination of the risk-free asset and the Market Portfolio, from Tobin (1958). Thus α⋆ invests in the same risky assets as the Market Portfolio and in the same proportions, the only difference is the total weight. The efficient frontier of optimal portfolios as represented on the (σα, µα)-plane of return expectation (µα) vs standard-deviation (σα) for all portfolios. The portfolio expected return increases linearly with standard deviation, the so-called Capital Market Line.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

30

slide-31
SLIDE 31

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects Efficient portfolios of risky assets and a single risk-free asset (Treasury Bill) are portfolios consisting of the highest Sharpe ratio portfolio (tangency portfolio) and the Treasury Bill. Thus, the first step is to compute the tangency portfolio argmax αTµ − rf √ αTΣα

  • s.t. αT1 = 1

i.e. αt = Σ−1(µ − rf1) 1TΣ−1(µ − rf1)

1 > rf = 0.005 2 > sigma.inv.mat = solve(sigma.mat) 3 > one.vec = rep(1, 3) 4 > mu.minus.rf = mu.vec - rf*one.vec 5 > top.mat = sigma.inv.mat%*%mu.minus.rf @freakonometrics freakonometrics freakonometrics.hypotheses.org

31

slide-32
SLIDE 32

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 6 > bot.val = as.numeric(t(one.vec)%*%top.mat) 7 > t.vec = top.mat [,1]/bot.val 8 > t.vec 9

MSFT NORD SBUX

10 1.0268

  • 0.3263

0.2994

Expected return and standard deviation are here

1 > mu.t = as.numeric(crossprod (t.vec , mu.vec)) 2 > mu.t 3 [1]

0.05189

4 > sig2.t = as.numeric(t(t.vec)%*%sigma.mat%*%t.vec) 5 > sig.t = sqrt(sig2.t) 6 > sig.t 7 [1]

0.1116

@freakonometrics freakonometrics freakonometrics.hypotheses.org

32

slide-33
SLIDE 33

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects

@freakonometrics freakonometrics freakonometrics.hypotheses.org

33

slide-34
SLIDE 34

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects An alternative representation is given from a standard minimum variance

  • computation. Let

µ = µ − rf1 and consider some target excess return

  • r0 = r0 − rf. Our problem is to solve

min{αTΣα} s.t. αT µ = r0 One can prove that α⋆ = −λΣ−1 µ where λ = −

  • r0
  • µTΣ−1

µ

  • r

α⋆ = r0Σ−1 µ

  • µTΣ−1

µ and 1 − α⋆T1 is invested in the risk-free asset. We have seen that the tangency portfolio is

@freakonometrics freakonometrics freakonometrics.hypotheses.org

34

slide-35
SLIDE 35

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 1 > t.vec 2

MSFT NORD SBUX

3 1.0268

  • 0.3263

0.2994

4 > mu.t 5 [1]

0.05189

6 > sig.t 7 [1]

0.1116

If our target is a portfolio with standard deviation 20%, use

1 > x.t.02 = 0.02/sig.t 2 > x.t.02 3 [1]

0.1792

4 > 1-x.t.02 5 [1]

0.8208

i.e. 82% on the risk-free asset, and 18% on the tangency portfolio. Expected return and standard deviation are here

1 > mu.t.02 = x.t.02*mu.t + (1-x.t.02)*rf @freakonometrics freakonometrics freakonometrics.hypotheses.org

35

slide-36
SLIDE 36

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 2 > sig.t.02 = x.t.02*sig.t 3 > mu.t.02 4 [1]

0.01340

5 > sig.t.02 6 [1]

0.02

If we want a 7% expected return

1 > x.t.07 = (0.07 - rf)/(mu.t - rf) 2 > x.t.07 3 [1]

1.386

4 > 1-x.t.07 5 [1]

  • 0.3862

which involves borrowing at the Treasury Bill (leveraging)

@freakonometrics freakonometrics freakonometrics.hypotheses.org

36

slide-37
SLIDE 37

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects Again, we can get weights in differents assets,

@freakonometrics freakonometrics freakonometrics.hypotheses.org

37

slide-38
SLIDE 38

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects

@freakonometrics freakonometrics freakonometrics.hypotheses.org

38

slide-39
SLIDE 39

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

CAPM and APT In this model (corresponding to the CAPM - Capital Asset Pricing Model), at equilibrium, only the systematic risk of the asset is valued by the market, and E(Xi) − r0 = [E(XM) − r0] · βi, where XM = αT

MX,

where E(XM) − r0 is the risk price, and [E(XM) − r0] · βi is the risk premium of asset i, with βi = cov(XM, Xi) var(XM) . This β measures sensitivity of asset i to market fluctuations. This model, introduced in Markowitz (1952), was presented in Sharpe (1963) as a regression model Xi = αi + βiXM + εi. The risk of asset i is var(Xi) = (β2

i var(XM)) · var(εi), where (β2 i var(XM)) can be

interpreted as the systematic risk of asset i, and var(εi) as the specific risk of asset i.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

39

slide-40
SLIDE 40

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

CAPM and APT In the CAPM, only one risk factor is considered, a so-called market factor. Ross (1976) sugested to extend the approach of Sharpe (1963) by introducing several risk factors, in the APT (Arbitrage Pricing Theory) model, where Xi = αi + b1,iF1 + · · · + bk,iFk + εi. Those risk factors can be determined endogeneously, using some principal component analysis, or exogeneously using some (economic) covariates.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

40

slide-41
SLIDE 41

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Describing Diversification Choueifaty & Coignard (2008) and Choueifaty et al. (2011) introduced a diversification ratio (DR) is defined for a given weight vector ω in the allowed set

  • f portfolio solutions Ω as

DR(ω) = ωT diag(Σ) √ ωTΣω the higher the DR, the more the portfolio is diversified DR has a lower bound of one (obtained with single-asset portfolios)

@freakonometrics freakonometrics freakonometrics.hypotheses.org

41

slide-42
SLIDE 42

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Describing Diversification An alternative formulation is the following : let CR denote the volatility-weighted concentration ratio (see Herfindahl–Hirschmann index) CR(ω) =

  • i(ωiσi)2

i ωiσi

2 (the later is bounded in the interval [n−1, 1]) and the volatility-weighted average correlation ρ(ω) =

  • i=j ωiωjσiσjρi,j
  • i=j ωiωjσiσj

then DR(ω) = 1

  • (DR(ω) + ρ(ω)) − DR(ω) ∗ ρ(ω)

The most diversified portfolio is then solution of argmax{DR(ω)}

@freakonometrics freakonometrics freakonometrics.hypotheses.org

42

slide-43
SLIDE 43

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization The use of sample estimators for the expected returns and the covariance matrix can result in sub-optimal portfolio results due to estimation error, see Maronna et

  • al. (2006) and Todorov and Filzmoser (2009)

The most popular estimators are the ML estimators (maximum likelihood). Consider i.i.d. data, with density f(·; θ)

  • θ = argmax {L(θ; x)} = argmax

n

  • i=1

f(xi; θ)

  • = argmin

n

  • i=1

log f(xi; θ)

  • First order condition :

n

  • i=1

1 log f(xi; θ) ∂f(xi; θ) ∂θ

  • θ=

θ

=

n

  • i=1

Ψ(x, θ) = 0 were Ψ(x, θ) is the score function.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

43

slide-44
SLIDE 44

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization For the Gaussian distribution, f(x, θ) ∝ exp

  • −(x − θ)2

2σ2

  • so that

Ψ(x, θ) = x − θ 2σ2 , and θ = x = 1 n

n

  • i=1

xi For the Laplace distribution, f(x, θ) ∝ exp

  • −|x − θ|

σ

  • so that

Ψ(x, θ) = sign(x − θ) σ , and θ = median(x). Most MLE estimators θ are consistent (converge in probability) estimators of the true parameter θ, and has an asymptotic normal distribution, √n

  • θ − θ

L → N(0, V [ θ]) where the asymptotic variance is actually the smallest possivle variance (for unbiased estimators), V [ θ] = I[ θ]−1 where I[ θ] denotes Fisher information, E[Ψ2(x, θ)]

@freakonometrics freakonometrics freakonometrics.hypotheses.org

44

slide-45
SLIDE 45

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization Hence, for the Gaussian and the Laplace distribution, V [ θ] = σ2 See Casella and Berger (1990) for more details. One can define the efficiency of any (univariate) estimator θ as eff( θ, F) = V [ θmle, F] V [ θ, F] ∈ [0, 1] For instance, eff(x, Laplace) = 50% and eff(median(x), Gaussian) = 63.7% Since we don’t know the (true) distribution, how could we know ? The MLE estimator of the correlation is

  • ρj,k =
  • Σj,k
  • Σj,j

Σk,k where Σj,k = 1 n

n

  • i=1

(xi,j − xj)(xi,k − xk)

@freakonometrics freakonometrics freakonometrics.hypotheses.org

45

slide-46
SLIDE 46

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization How robust is that estimator ? See Martin (2014) Consider the following two financial series

@freakonometrics freakonometrics freakonometrics.hypotheses.org

46

slide-47
SLIDE 47

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization How robust is that correlation estimator ? See Martin (2014) MLE (or classical) correlation estimator

  • θ ∼ 30%

while a more robust estimator yields

  • θ ∼ 65%

(here fast minimum covariance determinant - MCD)

@freakonometrics freakonometrics freakonometrics.hypotheses.org

47

slide-48
SLIDE 48

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization One can also consider a regression problem (EDS returns vs. Market returns) MLE (or classical) slope estimator

  • β ∼ 1.41

while a more robust estimator yields

  • β ∼ 2.03

The main reason for such a difference is outliers.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

48

slide-49
SLIDE 49

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization How to detect outliers ? Use Mahalanobis distance (Euclidean distance with spherized coordinates), induced by the norm xi2 = (xi − µ)T Σ−1(xi − µ) = zT

i zi

where zi = Σ−1/2(xi − µ).

@freakonometrics freakonometrics freakonometrics.hypotheses.org

49

slide-50
SLIDE 50

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization How robust is that approach ? See Martin (2014) MLE (or classical) correlation estimator

  • n the left and a more robust estimator

estimator for Σ on the right See Tukey (1979) “[· · · ]just which robust methods you use is not important – what is important is that you use some. It is perfectly proper to use both classical and robust methods routinely, and only worry when they differ enough to mat- ter. But when they differ, you should think hard.”

@freakonometrics freakonometrics freakonometrics.hypotheses.org

50

slide-51
SLIDE 51

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization Use of trimmed mean (or truncated mean) instead of standard sample mean

  • µ = x = 1

n

n

  • i=1

xi:n against µα = 1 n(1 − 2α)

n−[αn]

  • i=1+[αn]

xi:n where classically α ∼ 5% in Tukey (1960) while it is suggested to use 24% for Libor Rate Fixing (BBA, see wikipedia). Observe that on the same dataset, banks can have very different estimates, see Tuckman & Serrat (2011) On can consider so-called location M-estimates,

  • θ = argmin

n

  • i=1

ρ(xi; θ)

  • for some function ρ,

@freakonometrics freakonometrics freakonometrics.hypotheses.org

51

slide-52
SLIDE 52

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization

  • θ = argmin

n

  • i=1

ρ(xi; θ)

  • If ρ(x; θ) = − log f(x; θ) we get the MLE

If ρ(x; θ) = (x − θ)2 we get the OLS In the case of the mean,

  • µ = argmin

n

  • i=1

ρ xi − µ

  • σ
  • which yields a first order condition

n

  • i=1

Ψ xi − µ

  • σ
  • = 0

@freakonometrics freakonometrics freakonometrics.hypotheses.org

52

slide-53
SLIDE 53

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization Huber (1964) suggested ρ(x) =    x2/2 if |x| ≤ δ δ

  • |x| − δ/2
  • therwise

which is (asymptotically) equivalent to a trimmed mean. ρ(x) =    x if |x| ≤ δ ±δ otherwise

@freakonometrics freakonometrics freakonometrics.hypotheses.org

53

slide-54
SLIDE 54

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization Hampel (1974) introduced the Empirical Influence Function eif(x; θ, x) = (n + 1)

  • θ({x, x}) − θ(x)
  • The class of MM estimators was originally introduced by Yohai (1987) and Yohai

et al. (1991) in the context of robust regression analysis. Consider some random vector X ∼ N(µ, Σ) Consider the related Mahalanobis norm, x2 = (x − µ)TΣ−1(x − µ) Robust estimators of µ and Σ are obtained from ( µ, Σ) = argmin

  • xi2

@freakonometrics freakonometrics freakonometrics.hypotheses.org

54

slide-55
SLIDE 55

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization The Minimum Covariance Determinant Estimator (MCD) was introduced by Rousseeuw (1984) Given a sample {x1, · · · , xn}, consider the subset of h observations (out of n) whose (classical) covariance matrix has a smallest determinant Consider usually h = (d + dim(x) + 1)/2 A C-step is a move from one approximation µ1, C1 of the mean and the variance to a new one µ2, C2 with (possibly) a lower determinant...

1 > library(rrcov) 2 > mcd=CovMcd(X) 3 > summary(mcd) @freakonometrics freakonometrics freakonometrics.hypotheses.org

55

slide-56
SLIDE 56

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization To compute it, consider the following 3 steps, C-step iteration: repeat 500 times some C-steps and keep the best 10 solutions. From each of the top 10, carry out C-steps until convergence, and keep the best

  • ne.

Partitoning if the dataset is large, partition into (say) 5 disjoint subsets. Carry

  • ut C-steps iterations for each subsets. Use the best solutions as starting points.

Nesting if the subset is even larger, consider random subsets and use the partition procedure

@freakonometrics freakonometrics freakonometrics.hypotheses.org

56

slide-57
SLIDE 57

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Robust portfolio optimization Finally, the Stahel–Donoho estimator (SDE) is due to Stahel (1981) and Donoho (1982), while the OGK estimator was proposed by Maronna & Zamar (2002).

@freakonometrics freakonometrics freakonometrics.hypotheses.org

57

slide-58
SLIDE 58

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects

1 library(FRAPO) 2 data( StockIndex ) 3 pzoo = zoo ( StockIndex

, order.by = rownames ( StockIndex ) )

4 rzoo = ( pzoo / lag ( pzoo , k =

  • 1) - 1 ) * 100

The following function can be used to estimate Σ

1 Moments

<- function ( x , method = c ( " CovClassic " , "CovMcd" , " CovMest" , "CovMMest" , "CovMve" , "CovOgk" , "CovSde" , "CovSest" ) , ... ) {

2 method

<- match.arg ( method )

3 ans

<- do.call ( method , list ( x = x , ... ) )

4 return ( getCov ( ans ) )} @freakonometrics freakonometrics freakonometrics.hypotheses.org

58

slide-59
SLIDE 59

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects

1 > Moments(as.matrix(rzoo)," CovClassic") 2

SP500 N225 FTSE100 CAC40 GDAX HSI

3 SP500

17.772 12.706 13.766 17.802 19.451 18.924

4 N225

12.706 36.619 10.773 15.025 16.180 16.653

5 FTSE100

13.766 10.773 17.288 18.787 19.400 19.065

6 CAC40

17.802 15.025 18.787 30.947 29.904 22.774

7 GDAX

19.451 16.180 19.400 29.904 38.037 26.089

8 HSI

18.924 16.653 19.065 22.774 26.089 58.135

1 > Moments(as.matrix(rzoo),"CovMcd") 2

SP500 N225 FTSE100 CAC40 GDAX HSI

3 SP500

18.216 14.622 13.998 17.863 20.773 17.844

4 N225

14.622 40.945 12.910 18.157 18.789 15.832

5 FTSE100

13.998 12.910 16.331 17.790 19.813 15.117

6 CAC40

17.863 18.157 17.790 28.204 28.072 17.589

7 GDAX

20.773 18.789 19.813 28.072 35.880 22.427

8 HSI

17.844 15.832 15.117 17.589 22.427 44.121

@freakonometrics freakonometrics freakonometrics.hypotheses.org

59

slide-60
SLIDE 60

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects

1 > Moments(as.matrix(rzoo),"CovMest") 2

SP500 N225 FTSE100 CAC40 GDAX HSI

3 SP500

17.279 13.456 13.166 16.899 18.722 16.369

4 N225

13.456 40.132 11.482 15.795 16.992 16.907

5 FTSE100

13.166 11.482 15.438 16.666 17.828 14.273

6 CAC40

16.899 15.795 16.666 27.096 25.678 16.035

7 GDAX

18.722 16.992 17.828 25.678 31.926 20.549

8 HSI

16.369 16.907 14.273 16.035 20.549 42.624

1 > Moments(as.matrix(rzoo),"CovMMest") 2

SP500 N225 FTSE100 CAC40 GDAX HSI

3 SP500

16.126 11.966 12.328 16.043 17.746 16.295

4 N225

11.966 35.634 10.322 14.605 15.432 14.458

5 FTSE100

12.328 10.322 15.109 16.447 17.367 15.439

6 CAC40

16.043 14.605 16.447 27.571 26.430 18.110

7 GDAX

17.746 15.432 17.367 26.430 33.008 21.800

8 HSI

16.295 14.458 15.439 18.110 21.800 46.634

@freakonometrics freakonometrics freakonometrics.hypotheses.org

60

slide-61
SLIDE 61

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Computational Aspects

1 > Moments(as.matrix(rzoo),"CovOgk") 2

SP500 N225 FTSE100 CAC40 GDAX HSI

3 SP500

12.757 9.871 9.382 12.324 13.607 12.294

4 N225

9.871 27.533 8.252 11.905 12.626 11.448

5 FTSE100

9.382 8.252 10.920 11.811 12.419 10.366

6 CAC40

12.324 11.905 11.811 19.690 18.640 12.316

7 GDAX

13.607 12.626 12.419 18.640 23.188 15.027

8 HSI

12.294 11.448 10.366 12.316 15.027 32.958

1 > Moments(as.matrix(rzoo),"CovSde") 2

SP500 N225 FTSE100 CAC40 GDAX HSI

3 SP500

16.988 14.172 12.266 16.469 19.210 18.683

4 N225

14.172 39.978 12.342 18.379 19.660 16.415

5 FTSE100

12.266 12.342 14.234 15.402 17.316 15.634

6 CAC40

16.469 18.379 15.402 25.932 25.941 18.895

7 GDAX

19.210 19.660 17.316 25.941 32.906 23.186

8 HSI

18.683 16.415 15.634 18.895 23.186 47.170

@freakonometrics freakonometrics freakonometrics.hypotheses.org

61

slide-62
SLIDE 62

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Optimal Portfolio under Value-at-Risk Constraint Consider first the case of Elliptical Returns. Elliptical distributions (see Fang, Ng & Kotz (1991)) are interesting since they extend the Gaussian case, with similar properties. If X ∼ N(µ, Σ), and if X =   X1 X2   ∼ N     µ1 µ2   ,   Σ11 Σ12 Σ21 Σ22    

  • Xi ∼ N(µi, Σi), for all i = 1, · · · , d,
  • α′X = α1X1 + · · · + αdXd ∼ N(α′µ, α′Σα),
  • X1|X2 = x2 ∼ N(µ1 + Σ12Σ−1

2,2(x2 − µ2), Σ1,1 − Σ12Σ−1 2,2Σ21)

@freakonometrics freakonometrics freakonometrics.hypotheses.org

62

slide-63
SLIDE 63

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Elliptical Distribution

@freakonometrics freakonometrics freakonometrics.hypotheses.org

63

slide-64
SLIDE 64

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Optimal Portfolio under Value-at-Risk Constraint For instance, if X is elliptical, then for any α, αTX is also elliptical. Elliptical distributions were (formally) introduced in Kelker (1970). Spherical distributions are extensions of the N (0, I) and elliptical ones are extensions of the N (µ, Σ). Random vector X in Rn is said to have an elliptical distribution with generator g and parameters µ and Σ, denoted X ∼ Ell(g, µ, Σ) if it has density fX (x) = cn |Σ|1/2 g 1 2 (x − µ)T Σ−1 (x − µ)

  • ,
  • ù la for some normalization constant cn defined as

cn = Γ (n/2) (2π)n/2 ∞ tn/2−1g (t) dt. If g(·) is the exponential function, we obtain the multivariate Gaussian distribution N(µ, Σ).

@freakonometrics freakonometrics freakonometrics.hypotheses.org

64

slide-65
SLIDE 65

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Optimal Portfolio under Value-at-Risk Constraint Marginal distributions of elliptical ones are themselves elliptical X ∼ Ell(g, µ, Σ) ⇒ Xk ∼ Ell(g, µk, σ2

k) for k = 1, . . . , n.

Furthermore, for any matrix B and vector b, BX ∼ Ell(g, µ, Σ) ⇒ b + BX ∼ Ell(g, b + Bµ, BΣBT). For instance, one can obtain the multivariate Student t distribution with g (t) =

  • 1 + t

kp −p , where p should exceed n/2, and kp is some normalization coefficient. The density of X is given by fX (x) = cn |Σ|1/2

  • 1 + (X − µ)T Σ (X − µ)

Γ (p − n/2) −p for X ∈ Rn.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

65

slide-66
SLIDE 66

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Optimal Portfolio under Value-at-Risk Constraint This multivariate Student distribution can be obtained also as follows. Let Z ∼ N (0, I) and S ∼ χ2(m) be independent. Vector Y = √mZ/S has a Student t distribution, with m degrees of freedom. The general distribution can then be

  • btained using Y ∗ = µ + Σ1/2Y , where (Σ1/2)T(Σ1/2) = Σ.

Similarly, the multivariate Cauchy distribution has density fX (x) = Γ ((n + 1) /2) π(n+1)/2|ΣΣ|1/2

  • 1 + (X − µ) (X − µ)

−(n+1)/2 for x ∈ Rn. One can also introduce a multivariate logistic distribution, with generator g (t) = exp(−t)

  • 1 + exp(−t)

2 .

@freakonometrics freakonometrics freakonometrics.hypotheses.org

66

slide-67
SLIDE 67

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Density can then be writen fX (x) = cn |Σ|1/2 exp

  • − 1

2 (X − µ)T Σ−1 (X − µ)

  • 1 + exp
  • − 1

2 (X − µ)T Σ−1 (X − µ)

2 pour X ∈ Rn. Finally, consider the following generator g (t) = exp (−rts) , where r ans s are two positive parameters. The associated density is fX (x) = cn |Σ|1/2 exp

  • −r

2

  • (x − µ)T Σ−1 (x − µ)

s for any x ∈ Rn, where normalizing constant cn is here cn = sΓ (n/2) (2π)n/2 Γ (n/ (2s)) rn/(2s), When s = r = 1, we recognize the Gaussian distribution, while s = 1/2 and r = √ 2 is the Laplace distribution.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

67

slide-68
SLIDE 68

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Allocations Based on Higher Moments Higher moments are more complex to define in high dimension (d ≥ 2). In dimension 1, skewness and kurtosis are respectively defined as s = m3 = E((X − E(X))3) and κ = m4 = E((X − E(X))4). In dimension d, variance becomes a variance-covariance matrix d × d, and skewness will be d × d2 matrix. Set µ = E(X) S = M3 = E((X − µ)(X − µ)T ⊗ (X − µ)T) = [si,j,k] where si,j,k = E((Xi − µi)(Xj − µj)(Xk − µk)), while K = M4 = E((X − µ)(X − µ)T ⊗ (X − µ)T ⊗ (X − µ)T) = [κi,j,k,l] where κi,j,k,l = E

  • (Xi − µi)(Xj − µj)(Xk − µk)(Xl − µl)
  • ,

@freakonometrics freakonometrics freakonometrics.hypotheses.org

68

slide-69
SLIDE 69

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

where ⊗ is Kronecker product, e.g. A =   1 3 2 4   , B =   1 2 1   , A ⊗ B =   B 3B 2B 4B   =        1 2 3 6 1 3 2 4 4 8 2 4        In R, matrix product is %*% while Kronecker prodct is %x%

1 > A=matrix (1:4 ,2 ,2) 2 > B=matrix(c(1,0,2,1) ,2,2) 3 > A%*%B 4

[,1] [,2]

5 [1,]

1 5

6 [2,]

2 8

7 > A%x%B 8

[,1] [,2] [,3] [,4]

9 [1,]

1 2 3 6

@freakonometrics freakonometrics freakonometrics.hypotheses.org

69

slide-70
SLIDE 70

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 10 [2,]

1 3

11 [3,]

2 4 4 8

12 [4,]

2 4

Consider the case of dimension d = 2 (2 assets), then the skweness matrix is =   s1,1,1 s1,1,2 s2,1,1 s2,1,2 s1,2,1 s1,2,2 s2,2,1 s2,2,2   =

  • S1

S2

  • ,

where S1 and S2 are 2 × 2 matrices. Similarily, M4 =

  • K1,1

K1,2 K2,1 K2,2

  • ,

where Ki,j are 2 × 2 matrices.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

70

slide-71
SLIDE 71

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Allocations Based on Higher Moments The variance was based on d(d + 1)/2 distinct terms, the skewness is based on d(d + 1)(d + 2)/6 distinct terms, and the kurtosis is based on d(d + 1)(d + 3)/27 terms. Let X denote a random vector with mean µ, variance Σ, skewness S and Kurtosis K, then for any α, E(αTX) = αTµ and var(αTX) = αTΣα, Similarly, skewness and kurstosis can be derived for α′X s =

  • αTS(α ⊗ α)

1/3 while κ =

  • αTK(α ⊗ α ⊗ α)

1/4 .

@freakonometrics freakonometrics freakonometrics.hypotheses.org

71

slide-72
SLIDE 72

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Cornish-Fisher Decomposition to Approximate Value-at-Risk In a Gaussian model X ∼ N(µ, σ), the α-VaR is VaRα(X) = −µ + Φ−1(1 − α) · σ = −E(X) + Φ−1(1 − α) ·

  • V ar(X),

where Φ is the c.d.f of the N(0, 1) distribution. Using here a Gaussian approximation V aR(X, α) = −E(X) + Φ−1(1 − α) ·

  • V ar(X),

for non-Gaussian variables might be a bad approximation. Use the Normal-Power approximation, or Edgeworth expansion. Cornish-Fisher approximation (from Cornish & Fisher (1950) or Hill & Davis (1968) ) is based on a higher moment expansion of a normalized version of X, [X − E(X)]/σ

@freakonometrics freakonometrics freakonometrics.hypotheses.org

72

slide-73
SLIDE 73

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Cornish-Fisher Decomposition to Approximate Value-at-Risk Set VaRα(X) ∼ −E(X) + z1−α ·

  • V ar(X),

where z1−α is Φ−1(1−α)+ζ1 6 [Φ−1(1−α)2−1]+ ζ2 24[Φ−1(1−α)3−3Φ−1(1−α)]−ζ2

1

36[2Φ−1(1−α)3−5Φ−1(1− where ζ1 is the skewness, and ζ2 is the excess-kurtosis ζ1 = E([X − E]3) E([X − E]2)3/2 and ζ2 = E([X − E]4) E([X − E]2)2 − 3. Given a n sample {X1, · · · , Xn}, the Cornish-Fisher estimation of the α-quantile is

  • qn(α) =

µ + zα σ, where µ = 1 n

n

  • i=1

Xi and σ =

  • 1

n − 1

n

  • i=1

(Xi − µ)2,

@freakonometrics freakonometrics freakonometrics.hypotheses.org

73

slide-74
SLIDE 74

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Cornish-Fisher Decomposition to Approximate Value-at-Risk and

  • zα = Φ−1(α)+ ζ1

6 [Φ−1(α)2−1]+ ζ2 24[Φ−1(α)3−3Φ−1(α)]− ζ2

1

36[2Φ−1(α)3−5Φ−1(α)], where ζ1 is the natural estimator for the skewness of X, and ζ2 is the natural estimator of the excess kurtosis, i.e. ζ1 =

  • n(n − 1)

n − 2 √n n

i=1(Xi −

µ)3 (n

i=1(Xi −

µ)2)3/2 and

  • ζ2 =

n − 1 (n − 2)(n − 3)

  • (n + 1)

ζ′

2 + 6

  • where

ζ′

2 = n n i=1(Xi −

µ)4 (n

i=1(Xi −

µ)2)2 − 3.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

74

slide-75
SLIDE 75

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Numerical Optimization The goal is to find x∗ = Argmin{f(x)} or x∗ = Argmin{f(x)} where with a very general setting, f is a Rp → R function. Construct a sequence (xn) or (xn) following the gradient f ′(xn) or ∇f(xn). Itetatively, starting from x0 or x0 construct xn+1 = xn − µn · f ′(xn) or xn+1 = xn − µn · ∇f(xn) where µn min R is obtained at each step using f(xn+1) = inf

µ∈R {xn − µf ′(xn)} or f(xn+1) = inf µ∈Rd {xn − µ∇f(xn)}

In dimension 1, if f is differentiable and β-convex, i.e. f x + y 2

  • ≤ f(x) + f(y)

2 − β 8 x − y2,

@freakonometrics freakonometrics freakonometrics.hypotheses.org

75

slide-76
SLIDE 76

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

and if f ′ is Lipschitz on any bounded set, i.e. for all M, there is CM such that if x + y ≤ M, f ′(x) + f ′(y) ≤ CMx − y, then the sequence (xn) converges towards the optimal value, whatever x0. Fixed Step Gradient Descent Consider here a sequence (xn) or (xn) constructed iteratively using xn+1 = xn − µ · f ′(xn) or xn+1 = xn − µ · ∇f(xn), where µ > 0 is fixed. The algorithm is simple, but there are more restictive conditions to insure convergence. If f is differentiable and β-convex, i.e. f x + y 2

  • ≤ f(x) + f(y)

2 − β 8 x − y2,

@freakonometrics freakonometrics freakonometrics.hypotheses.org

76

slide-77
SLIDE 77

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

and if f ′ is Lipschitz, i.e. there exists C such that f ′(x) + f ′(y) ≤ Cx − y, then if 0 < µ < 2β/C2, the sequence (xn) converges to the optimal solution, whatever x0. However, if we can obtain convergence, the speed of convergence is at least geometric since xn − x∗ ≤ κnx0 − x∗ where κn =

  • 1 − 2βµ + µ2C2.

Using Newtonś Algorithm Suppose f : Rn → Rn twice differentiable, and x∗ be a singular zero of f, in the sense that f(x∗) = 0 and ∇f(x∗) is an invertible matrix. Taylor’s expansion, in the neighborhood of x yields f(x) = f(x∗) + ∇f(x∗)(x − (x∗)) + O(x − x∗2).

@freakonometrics freakonometrics freakonometrics.hypotheses.org

77

slide-78
SLIDE 78

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

If we neglect the remaining term, we construct a sequence (xn) en posant, à partir d’une valeur initiale x0, xn+1 = xn − ∇f(xn)−1f(xn) for all n = 0, 1, 2, · · · If f : Rn → Rn is twice differentiable, and x∗ is a singular zero of f, then sequence (xn) converges to the optimal decision whatever x0, and furthermore, there is C > 0 such that xn+1 − x∗ ≤ Cxn − x∗2. This algorithm is simple, but it is based on solving a linear system.

@freakonometrics freakonometrics freakonometrics.hypotheses.org

78

slide-79
SLIDE 79

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Numerical Aspects

1 > asset.names = c("MSFT", "NORD", "SBUX") 2 > er = c(0.0427 ,

0.0015 , 0.0285)

3 > names(er) = asset.names 4 > covmat = matrix(c(0.0100 ,

0.0018 , 0.0011 , 0.0018 , 0.0109 , 0.0026 , 0.0011 , 0.0026 , 0.0199) ,nrow=3, ncol =3)

5 > rk.free = 0.005 6 > dimnames (covmat) = list(asset.names , asset.names)

One can also use internal R function for most computations, see

1 > load("http:// freakonometrics .free.fr/portfolio.r")

from Zivot (2013).

1 > ew = rep (1 ,3)/3 2 > equalWeight .portfolio = getPortfolio (er=er ,cov.mat=covmat ,weights=

ew)

3 > equalWeight .portfolio 4 Call: @freakonometrics freakonometrics freakonometrics.hypotheses.org

79

slide-80
SLIDE 80

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 5 getPortfolio (er = er , cov.mat = covmat , weights = ew) 6 Portfolio

expected return: 0.02423

7 Portfolio

standard deviation: 0.07587

8 Portfolio

weights:

9

MSFT NORD SBUX

10 0.3333

0.3333 0.3333

11 > plot( equalWeight .portfolio)

To get the minimum variance portfolio, use

1 > gmin.port

<- globalMin.portfolio(er , covmat)

2 > attributes (gmin.port) 3 $names 4 [1] "call" 5 "er" 6 "sd" 7 "weights" 8 $class 9 [1] "portfolio" @freakonometrics freakonometrics freakonometrics.hypotheses.org

80

slide-81
SLIDE 81

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 10 > gmin.port 11 Call: 12 globalMin.portfolio(er = er , cov.mat = covmat) 13 Portfolio

expected return: 0.02489184

14 Portfolio

standard deviation: 0.07267607

15 Portfolio

weights:

16

MSFT NORD SBUX

17 0.4411

0.3656 0.1933

  • r for any efficient portfolio, with a given target expected return

1 > target.return

<- er [1]

2 > e.port.msft

<- efficient.portfolio(er , covmat , target. return)

3 > e.port.msft 4 Call: 5 efficient.portfolio(er = er , cov.mat = covmat , 6 target.return = target.return) 7 Portfolio

expected return: 0.0427

8 Portfolio

standard deviation: 0.091656

@freakonometrics freakonometrics freakonometrics.hypotheses.org

81

slide-82
SLIDE 82

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017 9 Portfolio

weights:

10

MSFT NORD SBUX

11 0.8275

  • 0.0907

0.2633

We can also consider the case where a risk-free asset is available

1 > tan.port

<- tangency.portfolio(er , covmat , rk.free)

2 > tan.port 3 Call: 4 tangency.portfolio(er = er , cov.mat = covmat , risk.free = rk.free) 5 Portfolio

expected return: 0.0518896

6 Portfolio

standard deviation: 0.1115816

7 Portfolio

weights:

8

MSFT NORD SBUX

9 1.0268

  • 0.3263

0.2994

1 > ef <- efficient.frontier(er , covmat , alpha.min=-2, alpha.max =1.5 ,

nport =20)

@freakonometrics freakonometrics freakonometrics.hypotheses.org

82

slide-83
SLIDE 83

Arthur Charpentier, Université de Rennes 1, Portfolio Optimization - 2017

Numerical Aspects One can also use standard R packages for most computations.

1 > library(FRAPO) 2 > library( PerformanceAnalytics ) 3 > library( fPortfolio )

(to be continued...)

@freakonometrics freakonometrics freakonometrics.hypotheses.org

83