
위험 통제는 모든 투자자가 배워야 할 기술입니다. 빠르게 변화하고 진화하는 디지털 통화 시장에 직면하여 알고리즘 트레이더는 위험 관리에 특별한 주의를 기울여야 합니다. 프로그래밍 방식 거래는 종종 과거 데이터와 통계적 모델을 기반으로 거래를 자동화하기 때문에, 빠르게 움직이는 시장에서는 이러한 모델이 빠르게 부정확해질 수 있습니다. 따라서 투자자의 자본을 보호하기 위해서는 효과적인 위험 관리 전략이 필수적이다.
많은 위험 관리 도구 중에서 VaR(Value at Risk)은 투자자가 정상적인 시장 상황에서 투자 포트폴리오에서 발생할 수 있는 최대 손실을 예측하는 데 도움이 되는 널리 사용되는 위험 측정 방법입니다. VaR은 위험을 단일 숫자로 정량화하여 위험 설명을 간소화하고 투자자가 잠재적 손실을 직관적으로 이해할 수 있도록 해줍니다.
VaR, 또는 “위험 가치”는 특정 기간과 특정 신뢰 수준에서 발생할 수 있는 최대 손실을 정량화하는 데 사용됩니다. 즉, 투자자 또는 위험 관리자에게 “정상적인 시장 상황에서 ‘안전한’ 범위 내에 있고 내일 손실되지 않을 돈이 얼마나 있는가”를 알려줍니다. 예를 들어, 디지털 통화 1일 99 포트폴리오의 VaR %는\(10,000, 즉 99%의 경우 하루 동안의 손실이 이보다 크지 않을 것으로 예상합니다.\)10,000。
이해하기 쉽다예를 들어, 하루 동안의 암호화폐 포트폴리오의 95% VaR은 다음과 같습니다.\(5000은 포트폴리오가 95% 이상 손실되지 않을 것이라는 확신이 있다는 것을 의미합니다.\)5000. 복잡한 위험을 전문가가 아닌 사람도 쉽게 이해할 수 있는 직관적인 숫자로 정량화합니다. 물론, 이는 필연적으로 오해의 소지가 있습니다.
비교 기준: 두 개의 포트폴리오 A와 B가 있고 A의 1일 95% VaR이 다음과 같다고 가정합니다.\(3000, B는\)6000. 즉, 정상적인 시장 상황에서는 A가 B보다 위험이 적다는 것을 의미합니다. 두 포트폴리오가 서로 다른 자산을 포함하고 있더라도, 각각의 위험 수준을 직접 비교할 수 있습니다. 이에 따라 투자 수준도 판단할 수 있다. 지난 달 전략 A와 B의 수익률이 모두$6000이고, A의 평균 및 최대 VaR 값은 B보다 상당히 낮습니다. 전략 A가 더 뛰어나고 더 낮은 위험 수준에서 더 높은 수익을 달성할 수 있다는 결론을 내릴 수 있습니다.
의사결정 도구: 트레이더는 VaR을 사용하여 포트폴리오에 새로운 자산을 추가할지 여부를 결정할 수 있습니다. 새로운 자산 추가로 인해 VaR이 크게 증가하면 이는 새로운 자산의 위험이 포트폴리오의 위험 허용 수준과 일치하지 않는다는 것을 의미할 수 있습니다.
꼬리 위험 무시: 포트폴리오의 1일 99% VaR가$10,000명 중 1%가 극단적인 경우의 손실은 이 값을 훨씬 초과할 수 있습니다. 디지털 화폐 분야에서는 블랙스완 사건이 빈번하게 발생하며, VaR는 테일 이벤트를 고려하지 않기 때문에 극단적인 상황은 대부분의 사람들의 기대를 넘어설 것입니다.
가정: 매개변수 VaR은 일반적으로 자산 수익이 정규 분포되어 있다고 가정하는데, 이는 실제 시장, 특히 암호화폐 시장에서는 거의 사실이 아닙니다. 예를 들어, 비트코인만으로 구성된 포트폴리오를 가정할 때, 우리는 매개변수 VaR을 사용하고 비트코인의 수익률이 정규 분포한다고 가정합니다. 하지만 사실 비트코인의 수익률은 특정 기간에 큰 폭등이 일어날 수 있으며, 변동성 집계라는 명백한 현상이 있습니다. 예를 들어 지난주에 변동성이 매우 높았다면 다음주에 상당한 변동성이 발생할 확률은 일주일 동안 위험이 크게 증가하게 되는데, 이로 인해 정규 분포 모델이 위험을 과소평가하게 됩니다. 이 문제를 고려한 모델이 있는데, 그중 하나가 GARCH입니다. 오늘은 이에 대해 논의하지 않겠습니다.
역사적 의존성: VaR 모델은 과거 데이터를 활용하여 미래의 위험을 예측합니다. 그러나 과거 실적이 항상 미래 실적을 나타내는 것은 아니며, 특히 암호화폐 시장처럼 빠르게 변화하는 시장에서는 더욱 그렇습니다. 예를 들어, 비트코인이 지난 1년 동안 매우 안정적이었다면 과거 시뮬레이션 방법은 매우 낮은 VaR을 예측할 수도 있습니다. 그러나 갑작스러운 규제 변화나 시장 붕괴가 발생할 경우 과거 데이터는 더 이상 미래 위험을 예측하는 유효한 지표가 될 수 없습니다.
VaR를 계산하는 주요 방법은 세 가지가 있다. 모수적 방법(분산-공분산 방법): 수익률이 특정 분포(일반적으로 정규 분포)를 따른다고 가정하고 수익률의 평균과 표준편차를 사용하여 VaR를 계산한다. . 과거 시뮬레이션 방법: 수익 분포에 대해 어떠한 가정도 하지 말고 과거 데이터를 직접 사용하여 잠재적 손실 분포를 결정합니다. 몬테카를로 시뮬레이션: 무작위로 생성된 가격 경로를 사용하여 자산 가격을 시뮬레이션하고 이를 통해 VaR을 계산합니다.
과거 시뮬레이션 방법 이 방법은 과거의 가격 변화를 직접 사용하여 미래에 발생할 수 있는 손실을 추정합니다. 수익률 분포에 대한 어떠한 가정도 요구하지 않으므로 디지털 통화와 같이 수익률 분포가 알려지지 않았거나 비정상적인 자산에 적합합니다.
예를 들어 비트코인의 스팟 포지션을 예로 들어 이 포트폴리오의 1일 95% VaR을 계산하려면 다음과 같이 할 수 있습니다.
다음은 지난 1000일 동안의 데이터를 얻고, 1 BTC 스팟을 보유하는 VaR이 현재 1980USDT임을 계산한 특정 코드입니다.
import numpy as np
import requests
url = 'https://api.binance.com/api/v3/klines?symbol=%s&interval=%s&limit=1000'%('BTCUSDT','1d')
res = requests.get(url)
data = res.json()
confidence_level = 0.95
closing_prices = [float(day[4]) for day in data]
log_returns = np.diff(np.log(closing_prices))
VaR = np.percentile(log_returns, (1 - confidence_level) * 100)
money_at_risk = VaR * closing_prices[-1] * 1
print(f"VaR at {confidence_level*100}% confidence level is {money_at_risk}")
여러 자산이 포함된 포트폴리오의 VaR을 계산할 때, 자산 간의 상관관계를 고려해야 합니다. 자산 간 가격 변동이 양의 상관관계를 갖는 경우, 포트폴리오의 위험은 증가하고, 음의 상관관계를 갖는 경우, 포트폴리오의 위험은 감소합니다.
과거 시뮬레이션 방법을 사용하여 상관관계를 고려하여 VaR을 계산할 때, 각 개별 자산의 과거 수익률을 수집해야 할 뿐만 아니라, 이러한 자산의 수익률에 대한 공동 분포도 고려해야 합니다. 실제로 포트폴리오의 과거 수익률을 직접 사용하여 분류하고 계산할 수 있습니다. 이러한 수익률은 이미 자산 간의 상관관계를 의미하기 때문입니다. 암호화폐 시장에서는 상관관계가 특히 중요합니다. 기본적으로 BTC가 시장 리더입니다. BTC가 강세를 보이면 다른 암호화폐가 상승할 확률이 커집니다. BTC가 급등하거나 급락하면 시장 감정이 급격하게 변할 수 있으며, 이는 상관관계는 단기간에 크게 증가하는 경향이 있는데, 이는 특히 극단적인 시장 상황에서 흔히 나타납니다. 따라서 역사적 시뮬레이션 방법은 암호화폐 포트폴리오의 VaR을 고려할 때 유용한 도구입니다. 복잡한 통계적 모델이 필요하지 않고, 유효한 과거 데이터만 필요하며, 자산 간의 상관관계도 자연스럽게 통합됩니다.
예를 들어 1 BTC 롱 포지션과 10 ETH 숏 포지션을 보유하는 경우, 이전 방법에 따르면 10 ETH 숏 포지션의 VaR은 1219USDT라고 계산할 수 있습니다. 이 두 자산을 합치면 VaR은 다음과 같이 계산됩니다.
confidence_level = 0.95
btc_closing_prices = np.array([float(day[4]) for day in btc_data])
eth_closing_prices = np.array([float(day[4]) for day in eth_data])
btc_log_returns = np.diff(np.log(btc_closing_prices))
eth_log_returns = np.diff(np.log(eth_closing_prices))
log_returns = (1*btc_log_returns*btc_closing_prices[1:] - 10*eth_log_returns*eth_closing_prices[1:])/(1*btc_closing_prices[1:] + 10*eth_closing_prices[1:])
VaR = np.percentile(log_returns, (1 - confidence_level) * 100)
money_at_risk = VaR * (btc_closing_prices[-1] * 1 + eth_closing_prices[-1]*10)
print(f"VaR at {confidence_level*100}% confidence level is {money_at_risk}")
결과는 970 USDT로, 이는 이 조합의 위험이 해당 자산을 따로 보유하는 것보다 낮다는 것을 의미합니다. 이는 BTC와 ETH의 시장 상황이 매우 상관관계가 높고 롱숏 조합의 헤지 효과가 위험을 줄이기 때문입니다. .
본 논문에서는 적응형 위험 평가 방법, 즉 VaR을 계산하는 데 과거 시뮬레이션을 적용하는 방법과 자산 간의 상관관계를 고려하여 위험 예측을 최적화하는 방법을 소개합니다. 이 논문에서는 암호화폐 시장의 구체적인 사례를 통해 과거 시뮬레이션을 사용하여 포트폴리오 위험을 평가하는 방법을 설명하고, 자산 상관관계가 중요한 경우 VaR을 계산하는 방법을 논의합니다. 이런 접근 방식을 통해 프로그래밍 방식 트레이더는 대부분의 경우 최대 손실을 추정할 수 있을 뿐만 아니라 극한의 시장 상황에도 대비할 수 있어 거래에서 좀 더 차분함을 유지하고 전략을 정확하게 실행할 수 있습니다.