FDM 방식은 OSM(Operating Split Method)를 사용하였다. 일단 Quanto 금리 상품을 계산하기 위해 2D FDM을 만들었는데, 하나의 금리는 기초 자산으로, 다른 하나는 할인 금리로 사용한다. 그런데 둘 다 가격에 영향을 주고, call이나 수익 조건이 두 프로세스에 모두 의존하므로 상관관계가 있는 2D FDM으로 계산하여야 한다.
문제: 원래 1D FDM 엔진이 있기 때문에 코드 수정 자체는 어렵지 않았는데, 결국 경계 조건이 가장 큰 문제가 되었다. 특히 곡면의 네 개 극단값, index로 치자면 (0, 0), (0, n), (n, 0), (n, n) 부분이었다. 이 네 점을 제외한 경계는 어쨌든 한 번은 PDE로 풀리기 때문에 계산의 수혜(?)를 입지만 극단 점들은 모두 경계조건 처리만 하므로 값 자체가 계속해서 추정 값 밖에 갖지 못한다. 또한 HW1F의 경우 Convection dominant 모형이라서 한 번 끝 점이 튀기 시작하면 그 영향이 빠르게 전파한다. 한마디로 끝도 없이 값이 튀어 버린다. 그리고 이 끝점들이 cross term을 계산하는데 쓰이면서 그 피해가 막심해진다.
해결: 추박사님이 힌트를 주신대로 각 극단 네 점은 근처 점의 평균으로 처리하였다. 즉 한 번 곡면을 풀고 나서, (0, 0)은 (1, 0)과 (0, 1)의 평균값 식으로 각 네 점을 계산했다. 이 것이 어떻게 보면 주먹 구구처럼 보이지만, 실제로 이 끝점들은 어쨌건 추정치이기 때문에 근처 점들과 밸런스를 맞춰주는 측면에서 맞는 해결책인 것으로 생각된다.
![]() |
탱탱한 물미역같은 이 비쥬얼... |
댓글 없음:
댓글 쓰기