( 이미 10 수 년 전에 했던 일이라서 기억은 가물가물하지만 아직 기억이 조금이라도 남아 있을 때 기록을 남겨 두기로 합니다. 이제는 AI가 훌륭해서 프로그램을 척척 알아서 짜 주겠지만 세부적인 계산 방법은 해석적 차이와 기술력의 차이로 조금씩 다르게 구현하므로 내가 기억하던 부분과 내가 알고 있는 방법들을 모두 설명해 보고자 합니다. )
먼저 VaR에 대해 전반적인 설명을 먼저하고 세부적인 구현 방법은 하나씩 하도록 하겠습니다.
VaR의 시초는 JP모건의 경영자( 또는 임원)이 “우리 은행이 오늘 하루 최대로 손실 볼 수 있는지를 하나의 숫자로 보고”하도록 지시하여 시작됩니다. 금융공학과 투자론 등에서 위험을 변동성으로 나타내어서는 그 정확한 규모가 감이 오지 않으니 일단 하나의 숫자(손실 가능액)로 나타내도록 하였습니다.
이 모형은 훗날 Risk Metrics라는 모형으로 공개되었고, 현재는 MSCI에서 소유하고 운영하고 있습니다. 다. 그 모형과 방법론은 이미 널리 알려져 하나씩 정리해 보고자합니다.
1. VaR의 의미
VaR(Value at Risk)는 그 배경에 대해서도 쓴 것과 같이 “최대 손실 예상액”입니다. 오늘 하루, 또는 10일동안 우리 포트폴리오가 시장의 급격한 변동에 의해 손실 볼 것으로 예상되는 최대 금액 입니다. 경영자의 입장에서는 “우리 회사 전체 포트폴리오가 요즘 같은 변동성 장세에서는 재수없으면 100억원까지 손실 볼 수도 있겠군” 하는 방식입니다.
여기서 주목해야 할 점은 (Market) VaR는 정상적인 시장 상황에서의 최대 손실 가능 금액입니다. 즉, 블랙스완이 나타나거나 1929년 블랙먼데이, 2008년 미국의 금융위기와 같은 금융 시장 전체의 붕괴와 같은 상황을 가정하는 것은 아니고, 일반적인 시장 상황에서의 최대 손실 가능 금액을 계산하는 것입니다.
2. VaR의 활용
VaR는 그냥 보고용으로 쓰이거나 “아 그렇구나” 하는 지적 호기심으로 사용되는 것이 아니라 적극적인 포트폴리오 운용에 활용될 수 있습니다. 포트폴리오에서 Marginal VaR와 Component VaR를 활용하여 어떤 종목을 추가로 더 담을 때 포트폴리오의 VaR가 급격히 커지는지, 단위 위험 당 예상 수익률은 어떻게 되는 지 등을 잘 파악하여 과도한 위험을 담보로 높은 수익률을 추종하는 무모한 짓을 사전에 예방하거나, 어떤 종목을 제거하면 위험이 낮아질 수 있는 지 파악하여 전체 포트폴리오의 위험은 낮추고 수익률을 비슷한 수준으로 유지하는 방안 등으로 활용할 수 있습니다. 물론 하이리스크, 하이리턴이라는 말은 잘 알고 있지만 퇴직연금, 연기금의 운용에서는 절대 금기시하는 운용전략이므로 항상 리스크를 감안한 수익률과 리스크를 감안한 운용을 해야 합니다.
여기에 더해, VaR 엔진을 활용한 스트레스테스트와 사전적 시뮬레이션 등을 통해 한도 설정(VaR한도 설정)과 같은 리스크 관리 기준 설정을 할 수 있습니다.
VaR를 계산할 때 사용하는 표준 편차는 과거 1년 ( 250개 또는 Calendar로 1년 동안의 영업일 )을 사용하는 경우가 많은데 엄연히 이 표준편차는 이미 지나간 과거의 일로써 앞으로 다가올 일은 잘 반영을 못한다는 비판을 받을 수 있습니다.
앞에서 말한 바와 같이 VaR란 “정상적인 시장상황”하에서의 최대 손실 가능 금액이므로 최근 변동성이 조금 높아져도 다시 예전 수준으로 또는 평균 수준으로 돌아가거나 축소될 것이라는 가정하에서 산출됩니다.
하지만 사람이 사는 일이 항상 그렇지 않지요. 매일 새로운 해가 뜨고 매일 새로운 일이 벌어지는 금융시장에서 어제와 같은 변동성을 반드시 따르라는 법은 없으므로 앞으로 변동성이 점점 커지는 경우 ( 시장 가격이 급격히 높아지거나 급격히 낮아지거나 ) 손실 가능 금액은 더 커 질 수 있는 공산이 크므로 이 때는 미래지향적이거나 최근의 상황 또는 미래를 반영해 주는 VaR를 요구하는 경우가 있습니다. 이를 ex-Ante VaR 라고 하고, 과거의 변동성을 그대로 사용하여 산출하는 VaR를 ex-Post VaR라고 합니다.
3. VaR 계산 모델
VaR를 계산하는 방법은 통상 분산 공분산법(Variance-Covariance Method), 역사적 시뮬레이션(Historical Simulation), 몬테카를로 시뮬레이션(Monte Carlo Simulation) 등을 사용합니다.
하나의 자산에 대한 VaR는 다음과 같이 구할 수 있습니다.
VaR = 자산가치 × 자산 수익률의 표준편차(σ) × 신뢰수준 Z-값
포트폴리오에는 하나의 자산만 존재하는 것이 아니라 다양한 종류의 자산들이 섞여서 존재합니다. 따라서 개별 자산의 VaR를 계산해서 단순 합산만으로는 포트폴리오의 VaR를 계산할 수 없습니다.
- 분산 공분산법은 각 개별 자산의 분산과 다른 자산들간의 공분산을 감안하여 계산하는 방법입니다.
- 역사적 시뮬레이션 법은 과거 1년치 정도의 일별 수익률들을 모두 저장해 두고 당장 오늘 과거 1년간 발생했던 하루 1 수익률 ( 모든 주식들을 1년전 오늘 부터 그 다음날, 또 그 다음날 과 같은 방식으로 하루씩)을 모두 대입하면 오늘 포트폴리오의 250개의 가치가 나옵니다. 이 250개의 포트폴리오 금액을 모두 일렬로 이익이 난 금액부터 손실이 난 금액까지 순서대로 세워 상위로부터 95%, 99% 번째의 손익금액을 찾습니다. 250개라면 250×0.95 =237.5 즉 238번째, 250×0.99=247.5 즉 248번째 금액이 각각 VaR가 됩니다.
- 몬테카를로 시뮬레이션 법은 역사적 시뮬레이션법에서 사용하던 과거 수익률 대신 일별 수익률을 난수를 발생하여 각 수익률들을 상관관계를 유지하도록 하여 250개든 500개든 1000개든 만듭니다. 이 수익률을 활용하여 역사적 시뮬레이션 법과 같이 일별 손익을 계산하고 이를 순서대로 나열한 다음 95%, 99% 번째의 손익금액을 찾습니다.
4. VaR의 Backtesting
VaR 계산을 할 때 과거 수익률을 사용하여 지나치게 낮은 변동성이 적용되거나 혹은 파생상품의 적절한 가격계산이 이루어지지 않거나 ( VaR는 시장 변동에 대한 β 를 계산하는 방식에서 출발했으나 파생상품이나 복잡한 옵션 상품은 β만으로 계산이 되지 않고 γ 까지 계산에 포함시켜야 합니다 ) 충분히 손실 가능 금액을 예상하지 못하는 경우 모델을 조절해야 합니다.
Full Pricing을 하는 역사적 시뮬레이션이나 몬테카를로 시뮬레이션도 변동성이 충분히 반영되지 않는 경우(변동성이 점점 커지는 경우)에는 VaR 예상 금액을 초과한 손실 금액이 발생하는 경우가 있습니다. (99% 신뢰도나 95% 신뢰도를 사용하는 것 모두 정규 분포를 가정하므로 정규분포가 아닌 현실의 경우 당연히 오차가 발생합니다.)
이 경우 모델에서 예측한 손실 가능금액과 다음날 발생한 실제 손실 금액을 계산해서, 모델이 실제 손실 금액보다 적은 경우가 얼마나 자주 발생하는지 모니터링을 합니다. 만약 100일에 5회 이상의 오차가 발생하면(5% 이상의 오차 발생) 변동성을 계산할 때 과거 기간을 연장하거나, 95% 신뢰수준을 사용하지 않고 99% 신뢰수준을 사용하거나, 역사적 시뮬레이션이나 몬테카를로 시뮬레이션 방식으로 전환하거나 수익률 변동성을 EWMA 방식으로 사용하는 방식을 사용하도록 합니다.
5. Stress Test
반복적으로 설명하다시피, VaR는 정상적인 시장 상황하에서의 최대 손실 가능 금액을 계산하는 방식이므로, 911 테러나 2008년 금융위기 등과 같은 시장에서 예측하지 못한 돌발 변수 또는 금융 시장이 비정상적인 상황으로의 전환이 발생하는 경우를 VaR로 예측할 수는 없습니다. 이런 경우 실제 당시의 시장 상황 ( 금리 폭등, 주식 폭락 등 )을 가상하여 최대 손실 가능 금액을 계산합니다. 이를 최대 손실한도 ( 회사 또는 포트폴리오가 견딜 수 있는 한도 )와 비교하여 만약 Stress Test 결과의 손실이 최대손실한도를 상회하면 즉각 포트폴리오를 조절하도록 합니다.
이상 VaR의 개념과 활용방안, 계산방법에 대해 대략적인 설명을 했습니다. 다음 글에는 분산-공분산법으로 실제 포트폴리오의 VaR를 계산하는 방법부터 하나씩 설명해 나가도록 하겠습니다.