Asset Pricing [Part 2c : Sketching The Traditional Framework]

The previous post addressed the second element of the two fund theorem, the allocation of capital between the risky portfolio (which was constrained to hold only one asset) and the riskfree asset. This post will concentrate on locating the optimal risky portfolio when the number of risky assets is extended to 25 simulated data points. The possible set of expected returns and standard deviations for different combinations of the simulated risky assets will be plotted along the Minimum Variance Frontier. Every point on this contour is a combination of risky assets that minimise portfolio risks for a given level of portfolio returns.

 

[The Minimum Variance Frontier]

The basic intuitions can be illustrated using the case of two risky assets. The expected return on such a portfolio would simply be the weighted average of individual asset returns

m1

The variance of such a portfolio depends on the covariance and variances of the 2 assets concerned. 

m2

The covariance itself can be decomposed in terms of the correlation coefficient and standard deviations.

m3

By varying the weights in each asset and noting the corresponding expected portfolio returns and risk, the MVF can be traced. Two functions were written to deal with such issues MVF and DrawMVF.

#############################################################################
#
# Mean Variance Frontier
#
#############################################################################

MVF <- function (risky.assets){

	raw.ret <- risky.assets[[1]]
	n <- ncol(raw.ret)
	min.ret <- min(risky.assets[[5]])
	max.ret <- max(risky.assets[[5]])
	var.cov <-risky.assets[[2]]
	n.port = 200
	risk.free <- risky.assets[[4]]
	risky.port <- list()

	if(n<2){
        print('Please specify more than one asset when using the [simulate.assets] function')
	} else if(n>1){
			target.returns <- seq(min.ret,max.ret,length.out=n.port)
			mvp <- vector('list',n.port)
		  min.var.frontier <- matrix(0,dimnames=list(c(seq(1,n.port)),c('Portfolio Return','Portfolio Risk','Sharpe Ratio',1:n)),nrow=n.port,ncol=n+3)

		  for(i in 1:n.port){
		  	mvp[[i]]<-portfolio.optim(x=raw.ret,pm=target.returns[i],riskless=F,shorts=F)
		  	min.var.frontier[i,] <- c(mvp[[i]]$pm,(mvp[[i]]$ps),(mvp[[i]]$pm-risk.free)/(mvp[[i]]$ps),mvp[[i]]$pw)
		  }

		  max.sharpe.port <- min.var.frontier[which.max(min.var.frontier[,3]),]
		  global.min.var.port <- min.var.frontier[which.min(min.var.frontier[,2]),]

		  risky.port[[1]] <- min.var.frontier
		  risky.port[[2]] <- target.returns
		  risky.port[[3]] <- raw.ret
		  risky.port[[4]] <- max.sharpe.port
		  risky.port[[5]] <- global.min.var.port

    return(risky.port)

   }
}

mn

#############################################################################
#
# Drawing the mean variance frontier
#
#############################################################################

DrawMVF <- function(risky.portfolio,add.frontiers,ind,total.num){

	port.return <- risky.portfolio[[1]][,1]
	port.risk <- risky.portfolio[[1]][,2]
	port.sharpe <- risky.portfolio[[4]][2:1]
	min.var.port <- risky.portfolio[[5]][2:1]

	if(add.frontiers==TRUE){
		col.ind <- rainbow(total.num)
		lines(x=port.risk,y=port.return,col=col.ind[ind],lwd=1.5,type='l')
	} else if(add.frontiers==FALSE){
		  lines(x=port.risk,y=port.return,col='black',lwd=1.5,type='l')
	    points(x=min.var.port[1],y=min.var.port[2],col='purple',cex=1,pch=11)

	}

}

h
To operationalise some of the issues so far, let’s simulate random asset returns for 25 securities, plot them in the risk/return space along with the MVF that these assets trace.

o

#Mean variance efficiency

sim.opt <- simulate.assets(25)
sim.mvf <- MVF(sim.opt)
cal.opt <- CAL.line('Sharpe',sim.opt,sim.mvf)
DrawCAL(cal.opt,sim.opt,sim.mvf,legend.draw=TRUE)
utility.contours('Sharpe',sim.opt,1.5,sim.mvf)
DrawMVF(sim.mvf,FALSE,NULL,NULL)

kk

Once the MVF has been traced, the optimal portfolio of risky simulated assets can be located. Essentially, the objective is to find one collection of risky asset weights that is superior to any other combination of risky assets according to some risk adjusted performance measure. The standard performance measure used is the Sharpe ratio which adjusts the excess expected portfolio return by the standard deviation of portfolio returns. Graphically, since the slope of the CAL is the Sharpe ratio,the optimal risky portfolio is simply the tangency portfolio which results when the CAL with the highest slope touches the MVF. This is shown in the plot above. Intuitively, one could have drawn the CAL with respect to any other point on the MVF but the Sharpe ratio would be suboptimal. Connecting the risk free asset with the global minimum variance portfolio would result in a CAL that has a negative slope, and hence a negative Sharpe ratio, implying that the risk free asset provides a better return than the global minimum variance portfolio (in our example).  

Mathematically, the objective is to find a set of risky asset weights that maximise the Sharpe ratio:

mkh

Instead of using optimisation packages to locate the Sharpe-ratio-maximising-portfolio, I simply computed the Sharpe measure for every point on the MVF and extracted the subset of weights for which the Sharpe ratio was maximal. The result appears to be correct since it corroborates with more advanced packages such as fPortfolio.

The Two-fund separation theorem of Modern Portfolio Theory states that the investment problem can be decomposed into the following steps:

  1. Finding the optimal portfolio of risky assets
  2. Finding the best combination of this optimal risky portfolio and the risk free asset.

With regard to the first point, the optimal portfolio of risky assets is simply the set of risky asset weights that maximise the Sharpe ratio (or of course some other performance measure)

With regard to the second point, the total optimal portfolio, one that is invested in the risk free rate and the risky optimal portfolio, depends on the manner in which individual risk preferences (as embodied in the utility function) intersect with investment opportunities (as embodied in th CAL).

ll

As before, the total optimal portfolio results where the highest available indifference curve for a given level of risk aversion meets the CAL with the highest Sharpe ratio (or slope). Again, an individual with a risk aversion of 0.5 would allocate more of his capital to the optimal risky portfolio than an individual with a risk aversion parameter of 1.5.jku

An investor who has a very low risk aversion parameter would borrow at the risk free rate and invest the borrowed funds along with own capital in the optimal risky portfolio. The resulting total portfolio would lie to the right of the optimal risky portfolio.

ghkj

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: