Description Usage Arguments Author(s) Examples
View source: R/plot.Markowitz.R
Plot efficient frontier. The efficient frontier is a plot of portfolio expected return vs. portfolio standard deviation for a collection of mean-variance efficient portfolios - portfolios that minimize variance subject to a target expected return.
1 2 |
x |
object of class Markowitz |
plot.assets |
if TRUE then plot asset sd and er with asset name labels |
... |
additional arguments passed to plot() |
Eric Zivot
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # construct the data
asset.names = c("MSFT", "NORD", "SBUX")
er = c(0.0427, 0.0015, 0.0285)
names(er) = asset.names
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)
r.free = 0.005
dimnames(covmat) = list(asset.names, asset.names)
# tangency portfolio
tan.port <- tangency.portfolio(er, covmat, r.free)
# compute global minimum variance portfolio
gmin.port = globalMin.portfolio(er, covmat)
# compute portfolio frontier
ef <- efficient.frontier(er, covmat, alpha.min=-2,
alpha.max=1.5, nport=20)
attributes(ef)
plot(ef)
plot(ef, plot.assets=TRUE, col="blue", pch=16)
points(gmin.port$sd, gmin.port$er, col="green", pch=16, cex=2)
points(tan.port$sd, tan.port$er, col="red", pch=16, cex=2)
text(gmin.port$sd, gmin.port$er, labels="GLOBAL MIN", pos=2)
text(tan.port$sd, tan.port$er, labels="TANGENCY", pos=2)
sr.tan = (tan.port$er - r.free)/tan.port$sd
abline(a=r.free, b=sr.tan, col="green", lwd=2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.