2014-12-22 1 views
0

일부 현금 흐름의 내부 수익률을 구현하려고합니다.Java에서 finmath 라이브러리를 사용하여 루트를 찾습니다.

0 = (c1/(1 + r)) + (c2/(1 + r)^2) + (c3/(1 + r)^3) ... 식과 같다. 근원 r.

이 시점에서 필자는 finmath라는 Java 라이브러리로 끝납니다.

그것은 지금까지 괜찮 이러한 클래스

BisectionSearch 
NewtonsMethod 
SecantMethod 

포함 net.finmath.rootfinder라는 이름의 패키지가 있습니다. 그러나 제 수식을 사용하려고하면 c1, c2, c3 값을 목록으로 입력 할 방법이 없습니다. 이 클래스가 구현하는 유일한 메소드는 다음과 같습니다.

double getAccuracy() 
double getBestPoint() 
double getNextPoint() 
int  getNumberOfIterations() 
boolean isDone() 
void setValueAndDerivative(double value, double derivative) 

제 질문은 어떻게이 방정식을 풀 수 있습니까? 이 라이브러리를 사용하는 것에 대해 어떤 사람이 생각하기를 바랍니다.

답변

0

뉴트론의 방법 인 시컨트 방법은 방정식의 근원을 찾거나 추정하는 데 사용되는 몇 가지 방법입니다. (그 방법에 대해 알기 위해 몇 가지 수학을하십시오). 이러한 수학적 방법을 사용하려면 대수 방정식이 있어야합니다.

당신이 말한 수업은 근원을 찾는 수학적 방법을 구현한다고 생각합니다. c1, c2, c3, ...에 값을 대입하여 방정식을 작성해야합니다. 그런 다음 해당 Java 메소드를 사용할 수 있습니다. r 값을 주면 수학 표현식의 값을 찾기 위해 java 메소드를 구현해야한다고 생각합니다. (방정식이 아닌 수학적 표현)

+0

의견을 보내 주셔서 감사합니다. 도서관에서 요점을 알아 냈어. 아무도 내 방정식을 모른다는 사실 때문에 나는 그것을 생성해야하는 사람 이어야만했다. 어떤 라이브러리는 자신의 솔루션을 구현하는 기간에 사용할 수 있도록 데이터 구조를 제공합니다. 나는 Newton-Raphson 방법을 사용했다. 나는 그것을 직접 구현해야했고, 그렇게했다. 이 목적으로 도서관을 사용하지 않았습니다. – gurkan

관련 문제