Professional Documents
Culture Documents
R Studio Code For Portfolio Optimization
R Studio Code For Portfolio Optimization
library(fPortfolio)
library(quantmod)
library(caTools)
library(dplyr)
library(PerformanceAnalytics)
library(ggplot2)
#Rename Columns
lapply(function(x) monthlyReturn(x))
portfolioReturns <- do.call(merge, Stock_Data)
# keep only the dates that have closing prices for all tickers
# plot frontier
#'Options
plot(effFrontier,c(1,2,3,4))
frontierWeights <- getWeights(effFrontier) # get allocations for each instrument for each point on
the efficient frontier
write.csv(risk_return, "risk_return.csv")
#Output Correlation
cov_matrix
#Annualize Data
riskReturnPoints <- frontierPoints(effFrontier) # get risk and return values for points on the efficient
frontier
targetReturn=riskReturnPoints[,"targetReturn"] * 252)
plot(annualizedPoints)
riskFreeRate <- 0
mvp
tangencyPort
covRisk(portfolioReturns, mvpweights)
pie(mvpweights, col=cm.colors(ncol(frontierWeights)+2))
df <- data.frame(mvpweights)
geom_bar(stat="identity", position=position_dodge(),colour="black") +
geom_text(aes(label=sprintf("%.02f %%",mvpweights*100)),
geom_bar(stat="identity", position=position_dodge(),colour="black") +
geom_text(aes(label=sprintf("%.02f %%",tangencyweights*100)),
#ggplot Pie
pie + scale_fill_brewer(palette="Blues")+
theme_minimal()
pie + scale_fill_brewer(palette="Blues")+
theme_minimal()