我具有以下功能:
print(module_name.__path__)
D1是具有2只股票(微软和亚马逊)的回报的数据框 我需要一种方法来使w从0.01到1且wb为(1-wa) 并告诉我该wa和wb的组合值是最低的。
在此先感谢您的帮助!
答案 0 :(得分:0)
考虑调整函数的返回值。然后,使用sapply
在整个序列中迭代调用函数,以构建结果矩阵并过滤所需的最小值。
Double.Historical.Sim.Var <- function(d1, wa=0.75, wb=0.25, pv=1000, cl=0.95) {
w <- c(wa, wb)
Pw <- -pv*w
loss <- rowSums(t(Pw * t(d1)))
result <- quantile(loss,0.95)
return(c(wa, wb, result)) # NEW RETURN
}
res_matrix <- sapply(seq(0.01, 1, by=0.01),
function(i) Double.Historical.Sim.Var(d1, wa=i, wb=(1-i))
res_matrix[which.min(res_matrix[3,]),]
答案 1 :(得分:0)
我想通过冻糕解决了这个问题,万一有人需要的答案如下
Spacing = 5
这可以使您权衡具有2个风险事实的组合的最小风险价值