ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 몬테카를로시뮬레이션의 직관적인 이해
    금융퀀트/자산평가&프로그램매매 2022. 5. 21. 11:39
    반응형

    몬테카를로 시뮬레이션의 사전적 정의

    몬테카를로 시뮬레이션의 사전적인 정의는 매일경제용어사전에서 찾아보면 아래와 같이 나온다.

    몬테카를로 시뮬레이션은 확률적 또는 우연 결과를 발생시켜 주는 도구를 이용하여 수행된다. 이 도구는 모형에서 가정한 확률분포에 따라 무작위 표본추출에 의해서 우연 결과를 발생시켜 준다.
    따라서 몬테카를로 시뮬레이션을 모의적 표본 추출법이라고도 한다. 

    [네이버 지식백과] 몬테카를로시뮬레이션 (매일경제, 매경닷컴)https://terms.naver.com/entry.naver?docId=4195&cid=43659&categoryId=43659 AM07:10 인용)

    사전적인 정의만 봐서는 문돌이들이 접근할 수 없는 개념인데... 핵심 키워드를 가지고 이해해 보자.

    몬테카를로 시뮬레이션의 해석

    몬테카를로시뮬레이션의 핵심은 "무작위 변수", "반복", "그 결과를 모아보기"이다. 어떤 현상에 대한 정답을 모를 때 무작위로 어떤 행위를 반복적으로 해서 나오는 결괏값을 모아서 정답을 도출해내는 것이다. 여전히 애매한 이 개념을 정사각형 넓이 구하기를 통해서 이해해보자.

    일반적인 방법

    그림1: 파란 정사각형의 넓이

    위 그림 1에서 각 변의 길이를 1이라고 할 때 위 전체 정사각형의 넓이는 16, 파란 정사각형의 넓이는 4 가 나온다. 

    확률을 이용한 방법(몬테카를로 시뮬레이션) 

    그런데 우리가 전체 정사각형의 넓이가 16이라는 정보가 주어진 상태에서 파란색 정사각형의 넓이를 구할 때는 "밑변 x 높이"라는 공식을 사용하지 못한다고 가정해보자. 이 경우 어떻게 접근해야 할까? 

    그림2: 정사각형의 좌표 전환

    아래 그림 3처럼 위 정사각형을 좌표 위에 두고 "무작위로" X, Y 좌표를 "반복해서" 설정하고 "그 결과를 모은" 비율을 통해서 파란 정사각형의 넓이를 구할 수 있다.

    그림 3: 엑셀을 이용한 몬테카를로 시뮬레이션

    위 그림 3은 엑셀에서 RAND() 함수를 통해서 임의의 X, Y 좌표를 구한 결과를 보여주고 있다. 500 개를 뽑았는데 그중에서 주황색 네모에 포함되는 좌표는 123개이다. 123/ 500 = 24.6% 로 전체 면적이 16이라는 가정하에서 16의 24.6%는 3.936 정도가 된다. 이런 식으로 X, Y 좌표를 무수히 가정해서 그 결괏값을 이렇게 정리하는 것 만드로 주황색 부분의 넓이 인 4를 얼추 맞출 수 있는 것이다. 

    위 그림 3을 작업한 엑셀 파일을 아래에 첨부해 놨으니 상세한 계산식이 궁금한 분은 참고하면 좋을 것 같다. 

    220520_기초데이터.xlsx
    0.05MB

    "무작위 변수를 만드는 방법"이나 "결괏값을 정리하는 방법"에서 다양한 방법이 존재하여 같은 몬테카를로 시뮬레이션이라 하더라도 다양한 형태를 가질 수 있다. 하지만 정사각형의 예시를 바탕으로 이해를 하면 구조 자체는 모두 동일할 것이다.  그리고 위의 시뮬레이션 과정이 복잡해 보일 수도 있을 것이다. 하지만 파란 정사각형의 넓이를 구할 수가 없는 상황이라면 몬테카를로 시뮬레이션은 정답을 도출할 수 있는 유용한 도구가 될 수 있다.  

    이 몬테카를로 시뮬레이션을 실제 투자문제에 적용하는 간단한 예시는 "일주일 뒤 코스피 지수는?: 몬테카를로시뮬레이션 실습" 에서 소개하고 있으니 추가적인 관심이 있으면 참고하시기 바란다.

    반응형
Designed by Tistory.