Could anyone help me with some little problem? When I plot the frontier I get the following message: *"Error in dimnames(x) <- dn : length of 'dimnames' [1] not equal to array extent"*(see below for detail). How could I solve this. Thanks a lot.
##---------------------------- Portfolio construction & Optimisation------------------------ #Assets: LUTAX, PFODX,BRGAX,GFAFX,NMSAX,EGINX,IPOYX,SCWFX,FGLDX,PAGEX #Getting monthly returns of the assets library(quantmod) library(tseries) library(timeSeries) LUTAX <- monthlyReturn((getSymbols("LUTAX",auto.assign=FALSE)[,4]),type = "arithmetic") colnames(LUTAX) <- c("LUTAX") PFODX <- monthlyReturn((getSymbols("PFODX",auto.assign=FALSE)[,4]),type = "arithmetic") colnames(PFODX) <- c("PFODX") BRGAX <- monthlyReturn((getSymbols("BRGAX",auto.assign=FALSE)[,4]),type = "arithmetic") colnames(BRGAX) <- c("BRGAX") GFAFX <- monthlyReturn((getSymbols("GFAFX",auto.assign=FALSE)[,4]),type = "arithmetic") colnames(GFAFX) <- c("GFAFX") NMSAX <- monthlyReturn((getSymbols("NMSAX",auto.assign=FALSE)[,4]),type = "arithmetic") colnames(NMSAX) <- c("NMSAX") EGINX <- monthlyReturn((getSymbols("EGINX",auto.assign=FALSE)[,4]),type = "arithmetic") colnames(EGINX) <- c("EGINX") IPOYX <- monthlyReturn((getSymbols("IPOYX",auto.assign=FALSE)[,4]),type = "arithmetic") colnames(IPOYX) <- c("IPOYX") SCWFX <- monthlyReturn((getSymbols("SCWFX",auto.assign=FALSE)[,4]),type = "arithmetic") colnames(SCWFX) <- c("SCWFX") FGLDX <- monthlyReturn((getSymbols("FGLDX",auto.assign=FALSE)[,4]),type = "arithmetic") colnames(FGLDX) <- c("FGLDX") PAGEX <- monthlyReturn((getSymbols("PAGEX",auto.assign=FALSE)[,4]),type = "arithmetic") colnames(PAGEX) <- c("PAGEX") # Merging returns of the assets (excluding NA's) portfolio_returns <- merge(LUTAX, PFODX,BRGAX,GFAFX,NMSAX,EGINX,IPOYX,SCWFX,FGLDX,PAGEX,all=F) data <- as.timeSeries(portfolio_returns) #Optimisation portfolio library(fPortfolio) spec <- portfolioSpec() setNFrontierPoints <- 25 setSolver(spec) <- "solveRquadprog" constraints <- c("minW[1:1]=0.12","maxW[1:1]=0.18","minW[2:2]=0.12","maxW[2:2]=0.18", "minW[3:3]=0.10","maxW[3:3]=0.15","minW[4:4]=0.08","maxW[4:4]=0.12", "minW[5:5]=0.08","maxW[5:5]=0.12","minW[6:6]=0.05","maxW[6:6]=0.10", "minW[7:7]=0.05","maxW[7:7]=0.10","minW[8:8]=0.08","maxW[8:8]=0.12", "minW[9:9]=0.05","maxW[9:9]=0.10","minW[10:10]=0.08","maxW[10:10]=0.12", "minsumW[c(1:1,2:2)]=0.27","maxsumW[c(1:1,2:2)]=0.33", "minsumW[c(3:3,4:4,6:6,10:10)]=0.37","maxsumW[c(3:3,4:4,6:6,10:10)]=0.43", "minsumW[c(5:5,7:7,8:8,9:9)]=0.27","maxsumW[c(5:5,7:7,8:8,9:9)]=0.33", "maxsumW[c(1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,10:10)]=1") portfolioConstraints(data,spec,constraints) frontier<- portfolioFrontier(data,spec,constraints) print(frontier) tailoredFrontierPlot( frontier) After running the last command above I get the following message:* "Error in dimnames(x) <- dn : length of 'dimnames' [1] not equal to array extent"* <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> Без вирусов. www.avast.ru <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.