R 使用循环在一个图形中绘制多个图形
我需要用不同的风险度量来计算有效边界,并使用自举技术来模拟可能的结果。然而,现在我陷入了困境:我想做的是通过一个循环(稍后将集成到一个函数中)生成多个有效边界,每个有效边界与未来可能的结果关联,并以这种方式将它们绘制在同一个图形上,以查看它们在模拟过程中可能发生的变化。以下是我到目前为止编写的循环:R 使用循环在一个图形中绘制多个图形,r,plot,resampling,R,Plot,Resampling,我需要用不同的风险度量来计算有效边界,并使用自举技术来模拟可能的结果。然而,现在我陷入了困境:我想做的是通过一个循环(稍后将集成到一个函数中)生成多个有效边界,每个有效边界与未来可能的结果关联,并以这种方式将它们绘制在同一个图形上,以查看它们在模拟过程中可能发生的变化。以下是我到目前为止编写的循环: for (i in 1:B) { idx <- sample(1:N, N, replace = TRUE) new.x <- x[idx, ] µ.b <- a
for (i in 1:B) {
idx <- sample(1:N, N, replace = TRUE)
new.x <- x[idx, ]
µ.b <- apply(X = new.x, 2, FUN = mean)
range.b[, i] <- seq(from = min(µ.b), to = max(µ.b), length.out = steps)
sigma.b <- apply(X = new.x, 2, FUN = sd)
riskCov.b[, i] <- sapply(range.b[, i], function(targetReturn) {
w <- MV_QP(new.x, targetReturn, Sigma)
sd(c(new.x %*% w))
})
xlim.b <- range(c(sigma.b, riskCov.b[, 1]), na.rm = TRUE)
ylim.b <- range(µ.b)
par(new = TRUE)
plot(x = riskCov.b[, i], y = range.b[, i], type = "l", xlim = xlim.b, ylim = ylim.b, xlab = "Risk", ylab = "Return", main = "Resampling EFs")
}
(1:B中的i){code>
idx我不知道优化是否正确。对于绘图,您可以尝试以下方法:
for (i in 1:B) {
idx <- sample(1:N, N, replace = TRUE)
new.x <- x[idx, ]
µ.b <- apply(X = new.x, 2, FUN = mean)
range.b[, i] <- seq(from = min(µ.b), to = max(µ.b), length.out = steps)
#sigma.b <- apply(X = new.x, 2, FUN = sd)
riskCov.b[, i] <- sapply(range.b[, i], function(targetReturn) {
w <- MV_QP(new.x, targetReturn,Sigma=cov(new.x))
sd(c(new.x %*% w))
})
}
xlim.b <- range(c(apply(X = x, 2, FUN= sd), riskCov.b), na.rm = TRUE) *c(0.98,1.02)
ylim.b <- range(µ.b) *c(0.98,1.02)
#par(new = TRUE)
for (i in 1:B){
if (i==1) plot(x = riskCov.b[, i], y = range.b[, i], type = "l", xlim = xlim.b, ylim = ylim.b, xlab = "Risk", ylab = "Return", main = "Resampling EFs") else
lines(x = riskCov.b[, i], y = range.b[, i],col=rainbow(B)[i])
}
(1:B中的i){code>
idx您的代码不是完全可复制的,请查看