알고리즘 거래 리스크 관리에 대한 위험 가치 (VaR)
알고리즘 거래 전략, 또는 전략 포트폴리오에 대한 손실 위험을 추정하는 것은 장기 자본 성장에 매우 중요합니다. 기관 환경에서 사용하기 위해 많은 위험 관리 기술이 개발되었습니다. 특히 한 가지 기술인 위험 가치 또는 VaR로 알려진 것이이 문서의 주제입니다.
우리는 우리의 거래 포트폴리오에서 위험을 수치화하는 데 도움이 되기 위해 하나의 전략 또는 전략의 집합에 VaR의 개념을 적용합니다. VaR의 정의는 다음과 같습니다:
VaR는 특정 기간 동안 포트폴리오에서 발생하는 손실의 크기를 일정 수준의 신뢰도 아래 추정합니다.
이 경우
예를 들어, 하루의 95% 신뢰도 수준에서 500,000 USD에 해당하는 VaR는 다음 날 500,000 USD 이상을 잃지 않을 확률이 95%라고 간단하게 나타냅니다. 수학적으로 이것은 다음과 같이 나타납니다.
P ((L≤−5.0 × 10^5) = 0.05 또는 더 일반적으로, 신뢰도 수준 c와 VaR값을 초과하는 손실 L의 경우
P ((L≤−VaR) = 1−c
VaR의
VaR는 금융 산업에 널리 퍼져 있기 때문에 기술의 장단점을 알고 있어야 합니다. VaR의 장점 중 일부는 다음과 같습니다.
그러나 VaR는 단점이 있습니다.
VaR은 고립되어 사용되지 않아야 합니다. 항상 다각화, 최적의 포트폴리오 할당 및 신중한 지렛대 사용과 같은 리스크 관리 기술 집합과 함께 사용되어야 합니다.
현재까지 우리는 VaR의 실제 계산을 일반 사례 또는 구체적인 거래 예로 논의하지 않았습니다. 우리에게 관심있는 세 가지 기술이 있습니다. 첫째는 변동-복변동 방법 (정상성 가정을 사용하여), 두 번째는 몬테 카를로 방법 (기반, 잠재적으로 비정상적 분포를 기반으로) 그리고 세 번째는 고려 중인 자산에 대한 역사적 수익 정보를 사용하는 역사적인 부트스트랩으로 알려져 있습니다.
이 기사에서는 변동-동변성 방법에 집중하고 후기 기사에서는 몬테 카를로 및 역사적인 부트스트랩 방법을 고려할 것입니다.
신뢰 수준 c와 P 달러의 포트폴리오를 고려하십시오. 우리는 자산 (또는 전략) 역사 표준편차 σ와 평균 μ와 함께 일일 수익을 고려하고 있습니다.
P−(P(α(1−c) +1)) 여기서 α는 평균 μ와 표준편차 σ의 정상분포의 누적 분포 함수의 역수이다.
우리는 이러한 값을 계산하기 위해 파이썬에서 SciPy와 panda 라이브러리를 사용할 수 있습니다. 만약 우리가 P=106과 c=0.99를 설정한다면, 우리는 SciPy ppf 방법을 사용하여 일부 실제 금융 데이터에서 얻은 μ와 σ로 정상적인 분포로 역 축적 분포 함수의 값을 생성할 수 있습니다. 이 경우 CitiGroup의 역사적 일일 수익 (여기 알고리즘 전략의 수익을 쉽게 대체할 수 있습니다):
# var.py
import datetime
import numpy as np
import pandas.io.data as web
from scipy.stats import norm
def var_cov_var(P, c, mu, sigma):
"""
Variance-Covariance calculation of daily Value-at-Risk
using confidence level c, with mean of returns mu
and standard deviation of returns sigma, on a portfolio
of value P.
"""
alpha = norm.ppf(1-c, mu, sigma)
return P - P*(alpha + 1)
if __name__ == "__main__":
start = datetime.datetime(2010, 1, 1)
end = datetime.datetime(2014, 1, 1)
citi = web.DataReader("C", 'yahoo', start, end)
citi["rets"] = citi["Adj Close"].pct_change()
P = 1e6 # 1,000,000 USD
c = 0.99 # 99% confidence interval
mu = np.mean(citi["rets"])
sigma = np.std(citi["rets"])
var = var_cov_var(P, c, mu, sigma)
print "Value-at-Risk: $%0.2f" % var
VaR의 계산 값은 다음과 같습니다.
위험 가치: 56510.29달러 VaR은 금융 관리의 모든 영역에서 매우 유용하고 보편적인 기술이지만 결함이 없습니다. 우리는 아직 포트폴리오에서 손실 될 수있는 실제 가치에 대해 논의하지 않았습니다.
후속 기사에서는 VaR에 대한 대체 계산에 대해 논의할 뿐만 아니라 예상 적자 (위험에 처한 조건부 가치로도 알려져 있습니다.) 의 개념을 설명할 것입니다. 이는 손실 가능성이 얼마나 큰지에 대한 답을 제공합니다.