asset.names <- c("MSFT", "NORD", "SBUX")
mu.vec = c (0.0427 , 0.0015 , 0.0285)
names ( mu.vec ) = asset.names
mu.vec
## MSFT NORD SBUX
## 0.0427 0.0015 0.0285
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)
dimnames(sigma.mat) <-list(asset.names, asset.names)
mu.vec
## MSFT NORD SBUX
## 0.0427 0.0015 0.0285
sigma.mat
## MSFT NORD SBUX
## MSFT 0.0100 0.0018 0.0011
## NORD 0.0018 0.0109 0.0026
## SBUX 0.0011 0.0026 0.0199
one.vec = rep (1,3)
sigma.inv.mat = solve(sigma.mat)
top.mat = sigma.inv.mat%*%one.vec
top.mat
## [,1]
## MSFT 83.51478
## NORD 69.22366
## SBUX 36.59056
bot.val = as.numeric((t(one.vec)%*%sigma.inv.mat%*%one.vec))
m.mat = top.mat/bot.val
m.mat [ ,1]
## MSFT NORD SBUX
## 0.4411093 0.3656263 0.1932644
top.mat=cbind(2*sigma.mat, mu.vec, rep(1,3))
top.mat
## MSFT NORD SBUX mu.vec
## MSFT 0.0200 0.0036 0.0022 0.0427 1
## NORD 0.0036 0.0218 0.0052 0.0015 1
## SBUX 0.0022 0.0052 0.0398 0.0285 1
mid.vec = c(mu.vec,0, 0)
mid.vec
## MSFT NORD SBUX
## 0.0427 0.0015 0.0285 0.0000 0.0000
bot.vec =c(rep(1,3),0,0)
A.mat=rbind(top.mat, mid.vec, bot.vec)
bmsft.vec =c(rep(0,3), mu.vec["MSFT"],1)