do.call을 시도하고 적용했지만 plyr 패키지를 사용했지만 여전히 좋지 않은 nlminb 대답이있었습니다. 그래서 나는 모든 제안을하기 위해 당신에게로 향했다.여러 개의 시작 값을 nlminb에 전달
나는 다음과 같은 기능을 만들었습니다
calloptim <- function(under,strike, rf, ttoe,par) {(-(under*par[1]
-strike*exp(-rf*ttoe)*par[2]))^2}
을 한 후 일정한 다른 인수를 누른 상태에서 파를 추정하는 nlminb을 사용 :
nlminb(c(2,2), calloptim, under= 90, strike = 100, rf =0.05, ttoe=3)
산출되는 :
$par
[1] 1.953851 2.043045
$objective
[1] 1.335531e-17
$convergence
[1] 0
$iterations
[1] 4
$evaluations
function gradient
6 10
$message
[1] "X-convergence (3)"
다른 시작 값을 입력하면 예 :
nlminb(c(5,5), calloptim, under= 90, strike = 100, rf =0.05, ttoe=3)
나는 다른 추정치를 얻을 :
$par
[1] 4.885987 5.109036
$objective
[1] 2.464145e-14
$convergence
[1] 1
$iterations
[1] 2
$evaluations
function gradient
33 4
$message
[1] "false convergence (8)"
그리고 확인을 먹으 렴! 나는 수학적으로 무슨 일이 일어나는지 이해한다. 사실 다른 시작 값을 사용하고 싶습니다.
nlminb에 여러 시작 값을 전달하려고하면 내 문제가 발생합니다.
나는 매트릭스 작성 :
f<- c(2,5,2,5)
dim(f) <- c(2,2)
> f
[,1] [,2]
[1,] 2 2
[2,] 5 5
을하지만 nlminb의 시작 값에 f를 통과 할 때
nlminb(f, calloptim, under= 90, strike = 100, rf =0.05, ttoe=3)
내가 얻을 :
이$par
[1] 3.452902 3.610530 2.000000 5.000000
$objective
[1] 3.010198e-19
$convergence
[1] 0
$iterations
[1] 4
$evaluations
function gradient
22 24
$message
[1] "X-convergence (3)"
그래서 제 질문은 내가 통과 할 수있는 방법입니다 nlminb에 시작 값의 여러 행?
의견을 보내 주셔서 감사합니다. ?nlminb
이후
라이