将结果附加到R和sapply问题中的列表中



R新手,想要编写一个以3个参数为输入的蒙特卡罗函数:

price: stock prices vector over a time period
strike: strike price 
knock : knockout price

这是我的代码:

payoff.arr <- list()
option_payoff <- function(hsp, strike, knock){
for (p in hsp){
if (p <knock){
payoff <- max(p-strike, 0)
}
else{
payoff <- 0
}
payoff.arr<-append(payoff)
}
}

然而,当我调用函数CCD_ 1(价格是向量(时,它显示:Error in append(payoff) : argument "values" is missing, with no default我做错了什么?对于需要1个以上参数的函数,我该如何使用sapply或lapply?我尝试使用sapply,它显示:Error in FUN(X[[i]], ...) : argument "knock" is missing, with no default

您应该指定要附加的内容!

例如

> append(1:3,666)
[1]   1   2   3 666

将CCD_ 4附加到CCD_。

如评论中所述,您可能想要payoff.arr <- append(payoff.arr, payoff)

最新更新