Ошибка: «Неиспользованный аргумент N» Почему это дает мне эту ошибку? - PullRequest
0 голосов
/ 01 апреля 2020

Вот мой код,

BinAmerPut <- function(S0,R,sigmaA,sigmaB,K,T,N) {
   Cn <- rep(0, N+1)
   tempC <- 0
   C0 <- 0
   sigma <- (sigmaA+sigmaB)/2
   Dt <- T/N
   D <- exp(-R*Dt)
   a <- exp(-R*Dt)+exp((R*Dt)+ (Dt*sigma^2))/2
   d <- a-sqrt(a^2-1)
   u <- 1/d
   p <- (exp(R*Dt)-d)/(u-d)
   q <- (1-p)
   for (n in N:1){
       for (j in 1:(n+1)){
           if (n == N){
               Cn[j] <- max((S0*(u^(j-1)*(d^(N-(j-1))))) - K, 0)
           }
           if (n < N){
               tempC <- D*(p*Cn[j+1]+q*Cn[j])
               Cn[j] <- max(S0*(u^(j-1))*(d^(N-(j-1)))-K, tempC)
           }
       }
     }
     C0 <- max(S0-K,D*(p*Cn[2]+q*Cn[1]))
     return(C0)
}
S0 <- 100
R <- 0.03
T <- 1.0
N <- 4
K <- 100

BinAmerPut(S0, R, 0.1, 0.25, K, T, N)

Возможно, мне не хватает чего-то, чего я не могу найти.? В конце концов, моя цель состоит в том, чтобы через некоторое время добавить теорему о делении на части l oop.

Спасибо!

...