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

🖋️ 개요
- 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초 밖에 걸리지 않았습니다.

🖋️ 백데이터 검증
- Jupyter notebook에서는 셀단위로 데이터를 확인할 수 있습니다.
- 아래는 상환권 행사가치 테이블입니다.

- 테이블이 클 경우 별도 탭으로 띄워서 확인할 수 있습니다.

- 참고로 Jupyter notebook에서는 현재 사용중인 변수 명을 모두 확인할 수 있습니다.

- 데이터 전체를 엑셀로 다운받을 수 있는데 현재 출력된 셀의 데이터만 빠르게 활용하고 싶다면 셀출력 복사로엑셀에 바로 붙여넣기를 할 수 있습니다.

🖋️ 시각화
- matplotlib 라이브러리를 통해 차트, 그래프를 생성할 수 있습니다.
- 시뮬레이션한 주가경로

- 1개의 주가경로에 대해 채권요소 스케줄, RCPS 가치경로를 비교하며 LSMC 모형의 적정성을 검증할 수 있습니다.

Jupyter notebook으로 작성한 RCPS 평가모델을 간략히 살펴보았습니다. 다음 포스팅에서는 변수입력부터 각 모델까지 스크립트 구조를 살펴보도록 하겠습니다.
Share article