Jupyter notebook으로 RCPS 평가 종합모델 구축하기 (1)

Jupyter notebook으로 구축한 RCPS 평가모델에 대한 개요 입니다. 엑셀을 대체할 만한 도구로써 Jupyter notebook에 대한 장점을 정리해보았습니다.
Taemin Yang's avatar
Jun 01, 2024
Jupyter notebook으로 RCPS 평가 종합모델 구축하기 (1)
 

🖋️ 개요


  • Jupyter notebook에서 Python으로 RCPS 평가모델을 구축해보았습니다.
  • Jupyter Notebook은 데이터 사이언스, 머신러닝, 데이터 시각화 및 통계 분석 등을 위해 널리 사용되는 오픈 소스 웹 애플리케이션 입니다.
  • 대부분의 회계법인에서 모델을 만들때 엑셀을 사용하며 저도 스크립트 언어보다는 엑셀을 주로 사용했는데 검증이 무엇보다 중요한 직무 특성상 스크립트언어를 사용할 경우 백데이터를 확인하기가 어렵기 때문입니다.
  • 하지만 Jupyter notebook에서는 스크립트 진행과정에서 데이터를 모두 확인할 수 있으며, Matplotlib등의 라이브러리로 모두 시각화 할 수 있기 때문에 엑셀 이상의 검증을 할 수 있는 등 여러가지 장점이 있습니다.
  • 무엇보다 기존의 엑셀기반의 이항모형으로는 평가하기 어려운 파생상품 계약이 자주 등장하면서 현업에서 요구하는 모델링 수준이 높아지고 있는데, 이에 대응하기 위한 가장 좋은 개발도구라고 생각합니다.
  • 결론적으로 Jupyter notebook에서 스크립트언어(Python)을 활용하여 파생상품 평가를 진행하면 아래와 같은 장점이 있습니다.
 
💡
1) LSMC 모형을 적용할 수 있습니다. VBA로 LSMC 100만번 시뮬레이션하기 위해서는 수 시간이 걸리는 반면 Python으로는 1분 이내로 결과를 확인 할 수 있습니다. 2) Script가 작성되면 실행 버튼만 눌러 GS, TF, LSMC의 평가결과를 한 번에 확인할 수 있습니다. 즉, 모형간 크로스체크가 가능합니다. 3) 평가기준일이 바뀌더라도 기준일과 Parameter만 업데이트만 해도 됩니다. 굳이 엑셀에서 노드수를 조정하는 불편함을 겪지 않아도 됩니다. 4) 필요한 데이터를 엑셀로 다운받아 한 번에 Backdata sheet를 만들 수 있습니다.
 
 

🖋️ 평가결과 확인


  • 평가대상 기본정보, 채권평가, 이항모형, LSMC 평가결과를 확인할 수 있습니다.
  • 노드간격을 월간으로 LSMC 100만회 수행시 약 20초 밖에 걸리지 않았습니다.
    • notion image
 
 

🖋️ 백데이터 검증


  • Jupyter notebook에서는 셀단위로 데이터를 확인할 수 있습니다.
  • 아래는 상환권 행사가치 테이블입니다.
    • notion image
 
 
  • 테이블이 클 경우 별도 탭으로 띄워서 확인할 수 있습니다.
    • notion image
 
 
  • 참고로 Jupyter notebook에서는 현재 사용중인 변수 명을 모두 확인할 수 있습니다.
    • notion image
 
 
  • 데이터 전체를 엑셀로 다운받을 수 있는데 현재 출력된 셀의 데이터만 빠르게 활용하고 싶다면 셀출력 복사로엑셀에 바로 붙여넣기를 할 수 있습니다.
    • notion image
 

🖋️ 시각화


  • matplotlib 라이브러리를 통해 차트, 그래프를 생성할 수 있습니다.
  • 시뮬레이션한 주가경로
    • notion image
 
  • 1개의 주가경로에 대해 채권요소 스케줄, RCPS 가치경로를 비교하며 LSMC 모형의 적정성을 검증할 수 있습니다.
    • notion image
 
 
Jupyter notebook으로 작성한 RCPS 평가모델을 간략히 살펴보았습니다. 다음 포스팅에서는 변수입력부터 각 모델까지 스크립트 구조를 살펴보도록 하겠습니다.
 
Share article

가치와 가격 사이