NOONOO TRADING봇에서 시작하기

VaR(최대예상손실)과 CVaR 계산법 — 과거 수익률로 하루 손실 한도를 숫자로 정하기

"이 정도면 괜찮겠지"는 숫자가 아닙니다. 계좌가 나쁜 날에 얼마를 잃을 수 있는지 미리 재 두지 않으면, 한도는 손실이 나고 나서야 정해집니다. VaR(Value at Risk, 최대예상손실)은 "95% 확률로 하루 손실이 이 금액을 넘지 않는다"는 경계선을 과거 데이터로 계산해 주는 도구이고, CVaR은 그 경계선을 넘어간 날들의 평균 손실입니다. 아래에서 두 값을 직접 계산하고, 그 숫자로 포지션 크기를 정하는 순서를 따라가 보겠습니다.

평균 손실로는 한도를 정할 수 없다

계좌 성적을 볼 때 흔히 쓰는 숫자는 평균 수익률입니다. 하지만 계좌를 망가뜨리는 것은 평균적인 날이 아니라 드물게 오는 나쁜 날입니다. 평균 일간 수익률이 +0.2%인 계좌도 하루에 −12%가 찍히는 날이 있으면 그 한 번으로 운용 계획이 전부 틀어집니다. 그래서 위험을 관리하려면 "보통 어떤가"가 아니라 "나쁠 때 어디까지 나빠지는가"를 숫자로 알아야 합니다.

VaR은 그 질문에 답하는 가장 기본적인 도구입니다. 정의는 이렇습니다. 신뢰수준 95%의 1일 VaR이 5%라면, 100일 중 95일은 하루 손실이 5%를 넘지 않는다는 뜻입니다. 뒤집어 말하면 20일에 한 번쯤은 5%보다 더 잃는 날이 온다는 의미이기도 합니다. VaR은 "최대 손실"이 아니라 "대부분의 날에는 넘지 않는 경계선"입니다. 이 구분이 VaR을 쓰다가 사고가 나는 지점이라 먼저 못 박아 둡니다.

VaR을 읽는 세 가지 요소

VaR 값 하나만 보면 의미가 없습니다. 항상 세 가지가 붙어야 숫자가 됩니다.

그래서 "내 VaR은 5%"가 아니라 "계좌 $10,000 기준 신뢰수준 95%의 1일 VaR은 5.2%, 금액으로 $520"처럼 적어야 쓸 수 있는 숫자가 됩니다.

역사적 시뮬레이션 — 정렬하고 하위 5%를 찾는다

VaR 계산 방식은 여러 가지가 있지만, 분포 가정이 필요 없고 손으로도 되는 방식이 역사적 시뮬레이션입니다. 절차는 세 단계뿐입니다.

  1. 과거 일간 수익률을 모은다(계좌 전체 수익률 또는 현재 포지션 구성의 수익률).
  2. 작은 값부터 큰 값 순으로 정렬한다.
  3. 하위 (1 − 신뢰수준) 지점의 값을 읽는다. 95%면 하위 5% 지점.
20일치 일간 수익률로 95% VaR (가정)

원자료 (%)
+2.1 −0.8 +1.4 −3.2 +0.5 −1.1 +3.0 −0.4
+1.8 −2.5 +0.9 −5.4 +2.2 −0.2 +1.0 −1.9
+0.3 +2.6 −0.7 −1.3

오름차순 정렬
−5.4 −3.2 −2.5 −1.9 −1.3 −1.1 −0.8 −0.7
−0.4 −0.2 +0.3 +0.5 +0.9 +1.0 +1.4 +1.8
+2.1 +2.2 +2.6 +3.0

하위 5% 지점
 = 20개 × 0.05 = 1번째 값

─────────────
95% VaR = 5.4% (정렬 1번째 = −5.4%)

계산은 끝났지만 이 결과는 쓸 수 없습니다. 꼬리에 들어온 관측치가 단 1개라서, 그 하루가 어떤 날이었는지에 VaR 전체가 좌우됩니다. 표본을 바꾸면 숫자가 통째로 달라집니다. 신뢰수준 95%를 제대로 쓰려면 꼬리에 최소 몇 개는 들어와야 하므로 100개 이상, 가능하면 250개(약 1년치 거래일) 정도를 씁니다.

CVaR(기대손실) — 경계선을 넘어간 날들의 평균

VaR의 큰 약점은 경계선 바깥을 전혀 설명하지 못한다는 점입니다. VaR이 5.2%라고 할 때, 그 선을 넘는 날의 손실이 −5.3%인지 −30%인지 VaR은 알려주지 않습니다. 이 구멍을 메우는 숫자가 CVaR(Conditional VaR, 기대손실 또는 Expected Shortfall)입니다. 정의는 간단합니다. CVaR = VaR을 넘어간 날들의 손실 평균.

100일 표본의 꼬리 5개 (가정)

하위 5% = 100 × 0.05 = 5개

−9.8%  −7.1%  −6.3%  −5.6%  −5.2%

95% VaR = 꼬리의 경계값
 = 5개 중 가장 덜 나쁜 값 = 5.2%

95% CVaR = 꼬리 5개의 평균
 = (9.8 + 7.1 + 6.3 + 5.6 + 5.2) ÷ 5
 = 34.0 ÷ 5 = 6.8%

─────────────
CVaR ÷ VaR = 6.8 ÷ 5.2 ≈ 1.31배

같은 데이터에서 VaR은 5.2%, CVaR은 6.8%입니다. 한도를 정할 때 VaR만 보면 나쁜 날의 실제 손실을 평균 31% 과소평가하게 됩니다. 꼬리가 두꺼운 자산일수록 이 비율은 커집니다. 수익률 분포의 두꺼운 꼬리에서 다룬 것처럼 암호화폐 일간 수익률은 정규분포보다 극단값이 훨씬 자주 나오므로, 실무에서는 VaR보다 CVaR을 기준으로 삼는 편이 안전합니다.

퍼센트를 금액으로 바꾸기

퍼센트는 체감되지 않습니다. 계좌 금액을 곱해 금액으로 바꿔야 한도가 됩니다.

계좌 $10,000 기준 환산 (가정)

1일 VaR 95% = 5.2%
 → $10,000 × 0.052 = $520

1일 CVaR 95% = 6.8%
 → $10,000 × 0.068 = $680

─────────────
해석
· 20거래일에 1일쯤은 $520보다 더 잃는 날이 온다
· 그런 날들의 평균 손실은 약 $680

레버리지를 쓰면 이 숫자는 그대로 비례해 커집니다. 같은 구성에서 노출을 2배로 늘리면 VaR·CVaR도 2배입니다. 포트폴리오 히트로 포지션별 손절 리스크를 합산하는 방식과 비교하면, VaR은 손절을 가정하지 않고 시장 움직임만으로 계좌가 얼마나 흔들리는지를 재는 쪽입니다. 두 숫자는 서로 대체하지 않고 같이 봐야 합니다.

보유기간 늘리기 — 루트t 규칙과 그 한계

1일 VaR을 여러 날로 확장할 때 흔히 쓰는 근사가 루트t 규칙입니다. t일 VaR ≈ 1일 VaR × √t.

1일 VaR 5.2%를 확장 (가정 · 계좌 $10,000)

5일 VaR
 = 5.2% × √5 = 5.2 × 2.236 ≈ 11.6%
 → $1,160

10일 VaR
 = 5.2% × √10 = 5.2 × 3.162 ≈ 16.4%
 → $1,640

─────────────
기간이 10배가 되어도 VaR은 10배가 아니라 약 3.16배

단 이 규칙은 일간 수익률이 서로 독립이고 변동성이 일정하다는 가정 위에 서 있습니다. 실제 시장은 그렇지 않습니다. 변동성 클러스터링처럼 큰 움직임 뒤에 큰 움직임이 몰려 오는 구간에서는 며칠이 연속으로 나쁘게 나와 실제 누적 손실이 루트t 추정치를 넘습니다. 그래서 다기간 VaR은 "대략 이 정도"의 참고값으로 쓰고, 한도는 보수적으로 잡는 편이 낫습니다.

감당할 손실액에서 포지션 크기를 역산하기

VaR을 계산해 놓고 보기만 하면 의미가 없습니다. 순서를 뒤집으면 포지션 한도 계산기가 됩니다. 먼저 "하루에 감당할 손실액"을 정하고, 그 금액을 현재 구성의 CVaR로 나눠 축소 비율을 구합니다.

포지션 축소 비율 역산 (가정)

계좌          $10,000
현재 명목 노출   $8,000
현재 1일 CVaR   6.8% = $680

감당할 1일 손실  $400 (계좌의 4%)

축소 비율
 = $400 ÷ $680 ≈ 0.588

조정 후 명목 노출
 = $8,000 × 0.588 ≈ $4,704

─────────────
같은 구성을 유지하려면 노출을 약 41% 줄여야
1일 기대손실이 $400 안으로 들어온다

이 계산은 포지션 사이징을 한 거래 단위가 아니라 계좌 전체 단위로 하는 방식입니다. 거래 하나하나의 손절폭으로 크기를 정하는 방법과 병행하면, 개별 거래는 손절로 통제하고 계좌 전체는 CVaR로 통제하는 이중 구조가 됩니다. 포지션을 여러 개 동시에 들고 있다면 동시 보유 포지션 수를 제한하는 쪽이 CVaR을 줄이는 가장 직접적인 방법입니다.

VaR이 암호화폐 시장에서 빗나가는 세 가지 이유

VaR은 편리하지만 추정값이고, 특히 이 시장에서는 과소평가되는 쪽으로 틀립니다. 반드시 같이 알아야 할 세 가지입니다.

  1. 과거에 없던 크기의 하락은 계산에 들어오지 않는다. 역사적 시뮬레이션은 표본 안에 있는 사건만 반영합니다. 조용한 6개월 데이터로 계산한 VaR은 조용한 시장의 VaR입니다. 그 표본에 없던 급락이 오면 실제 손실은 VaR을 크게 넘습니다. 표본 기간에 큰 하락장이 포함돼 있는지 확인하는 것이 중요합니다.
  2. 급락 때 상관관계가 올라가 분산 효과가 사라진다. 평상시 데이터로 계산한 VaR에는 종목 간 분산 효과가 반영돼 있습니다. 그런데 상관관계와 분산 투자에서 본 것처럼 급락장에서는 상관관계가 1에 가까워지고, 그 순간 분산 효과가 증발합니다. 평상시 VaR이 가장 필요한 순간에 가장 틀립니다.
  3. 변동성이 구간마다 다르다. 변동성이 낮았던 구간의 데이터가 표본에 많이 섞이면 VaR이 낮게 나옵니다. 변동성이 이미 높아진 뒤에도 과거 평균이 VaR을 끌어내리므로, 최근 구간에 가중치를 더 주거나 변동성 수준별로 나눠 계산하는 보정이 필요합니다.

이 세 가지 때문에 VaR·CVaR은 "앞으로의 손실 예측"이 아니라 현재 구성이 과거 같은 환경에서 얼마나 흔들렸는지를 재는 측정값으로 쓰는 것이 적절합니다. 더 극단적인 시나리오까지 보려면 몬테카를로 시뮬레이션으로 과거에 없던 경로까지 생성해 보는 방식을 같이 씁니다. 그리고 반복 손실로 계좌가 회복 불가능해지는 지점은 파산 확률로, 고점에서의 누적 하락은 최대 낙폭으로 따로 봐야 합니다. VaR은 하루 단위 숫자라 누적 낙폭을 설명하지 못합니다.

실무 체크리스트

  1. 표본은 100개 이상, 가능하면 250개를 쓴다. 꼬리에 관측치가 1~2개만 들어오면 그 숫자는 쓸 수 없습니다.
  2. 표본 기간에 큰 하락 구간이 포함돼 있는지 확인한다. 조용한 구간만 들어간 표본은 VaR을 낮게 만듭니다.
  3. VaR보다 CVaR을 기준으로 한도를 정한다. 꼬리가 두꺼운 시장에서 VaR은 경계선 바깥을 설명하지 못합니다.
  4. 퍼센트와 금액을 같이 적는다. 계좌 금액이 변하면 같은 퍼센트도 다른 금액입니다.
  5. 노출을 바꿀 때마다 다시 계산한다. 레버리지·종목 구성이 바뀌면 VaR도 비례해 바뀝니다.
  6. VaR을 "최대 손실"로 부르지 않는다. 20일에 한 번은 넘는 선이며, 넘었을 때 얼마나 넘을지는 CVaR이 답합니다.
  7. 실제 손실이 VaR을 넘은 횟수를 기록한다. 95% VaR이라면 100일에 약 5번이 정상입니다. 10번 넘었다면 추정이 낙관적이라는 신호입니다.

마지막 항목이 특히 중요합니다. VaR을 계산해 두고 검증하지 않으면 틀린 숫자를 믿고 운용하게 됩니다. 넘은 횟수를 세는 것만으로도 추정이 현실과 얼마나 벌어졌는지 바로 드러납니다.

정리

① VaR = "95% 확률로 하루 손실이 넘지 않는 경계선" — 최대 손실이 아니다
② 역사적 시뮬레이션 = 과거 수익률 정렬 후 하위 5% 지점 읽기
③ 표본 20개는 꼬리가 1개뿐이라 쓸 수 없다 — 100개 이상
④ CVaR = 꼬리 전체의 평균 — 예시에서 VaR 5.2% vs CVaR 6.8% (1.31배)
⑤ 금액 환산 = 계좌 × 퍼센트 — $10,000이면 $520 / $680
⑥ t일 VaR ≈ 1일 VaR × √t — 변동성 클러스터링 구간에서는 과소평가
⑦ 감당할 손실 ÷ 현재 CVaR = 포지션 축소 비율
⑧ 넘은 횟수를 세어 추정값을 검증한다

한 줄로 줄이면 이렇습니다. 나쁜 날의 손실을 미리 숫자로 적어 두면, 한도는 손실이 난 다음이 아니라 그 전에 정해집니다.

주의

본문의 일간 수익률 20개·꼬리 5개 값(−9.8%·−7.1%·−6.3%·−5.6%·−5.2%)·VaR 5.2%·CVaR 6.8%·금액 환산($520·$680)·축소 비율 0.588·조정 노출 $4,704 등 모든 수치는 VaR과 CVaR의 계산 과정을 설명하기 위한 가정 예시이며 특정 종목·특정 계좌의 실제 측정값이나 특정 시점의 시장 데이터가 아닙니다. VaR·CVaR은 과거 수익률로 추정한 통계값이므로 표본 기간·봉 단위·표본 수·신뢰수준에 따라 달라지고, 앞으로의 손실이 추정값 안에 머문다는 보장은 없습니다. 특히 표본에 포함되지 않은 규모의 급락, 상관관계가 급등하는 구간, 유동성이 축소되는 구간에서는 실제 손실이 VaR·CVaR을 크게 넘어설 수 있습니다. 루트t 규칙은 수익률 독립·변동성 일정을 가정한 근사이므로 실제 다기간 손실과 차이가 납니다. 이 글은 손실 한도 계산 방법을 설명하는 교육 정보이며 특정 종목의 매수·매도 권유나 특정 수익·손실 한도를 보장하는 내용이 아닙니다. 레버리지 거래는 원금 손실 위험이 있고, 매매 판단과 그 결과는 본인 책임입니다.

NOONOO TRADING 무료 채팅방에서 실시간 트레이딩을 같이 보세요.

봇에서 시작하기

📈 OKX 신규 가입 시 거래 수수료 할인

OKX 수수료 할인 가입 →