2026년 9월 9일 · 리서치

백테스트의 변동성 목표가 통제하려는 위험을 놓치는 이유

백테스트의 변동성 목표가 통제하려는 위험을 놓치는 이유

한 전략의 연환산 변동성 목표는 10%입니다. 백테스트 결과는 10.2%입니다. 꽤 비슷해 보이지만, 포지션 규모를 정할 때 전날의 변동성 추정치를 사용했고 시뮬레이터가 레버리지 변경에 수수료를 부과하지 않았으며, 하룻밤 사이의 급격한 가격 변동 한 번이 목표치로 설명하려던 손실보다 더 큰 피해를 냈다는 사실을 알게 되면 이야기가 달라집니다.

간단한 BTC 무기한 선물 전략을 살펴보겠습니다. 이 전략은 방향성 시그널을 따르고, 연환산 변동성 예산 10%에 맞춰 익스포저 규모를 정하며, 하루에 한 번 포지션을 조정합니다. 이해하기 쉽고 코딩하기도 간편해 널리 쓰이는 규칙입니다. 하루 동안의 포지션을 하나씩 뜯어보면 어떤 일이 벌어지는지 살펴보겠습니다.

시그널: 위험 단위가 없는 방향

월요일 종가 시점에 시그널은 롱을 가리킵니다. 이 시그널은 전략이 어느 방향으로 포지션을 잡으려는지는 알려주지만, BTC를 얼마나 보유할지는 말해주지 않습니다. 변동성 목표가 이 부족한 규모 정보를 채워줍니다.

계좌 자기자본이 $100,000이고 전략이 BTC 일일 변동성을 2%로 추정한다고 가정해 보겠습니다. 연환산 목표 10%는 거래일 252일의 제곱근으로 10%를 나눈 값으로 계산하면 일일 변동성 약 0.63%에 해당합니다. 따라서 레버리지는 0.63% / 2%, 즉 자기자본의 약 0.315배이며 BTC 익스포저는 $31,500입니다.

이 간단한 계산에는 이미 하나의 가정이 숨어 있습니다. BTC 변동성이 안정적인 분포와 충분히 비슷하게 움직여서 최근의 일일 변동으로 내일의 익스포저를 정할 수 있다는 가정입니다. 변동성 추정치는 최근의 움직임을 설명할 뿐, 다음 움직임의 상한선을 정해주지는 않습니다.

추정기: 어느 2%인가?

종가 간 수익률의 20일 표준편차를 사용하고, 무기한 선물은 매일 거래되므로 365의 제곱근을 곱해 연환산합니다. 일일 변동성이 2%라면 연환산 변동성은 약 38.2%입니다. 252를 사용하면 약 31.7%가 되므로, 달력 기준만으로도 포지션 규모에 상당한 차이가 생깁니다.

20일 구간은 빠르게 반응하지만, 변동성이 커지기 직전에 조용한 2주만 이어져도 추정치가 낮아질 수 있습니다. 90일 구간은 더 안정적이지만 반응이 느립니다. 지수 가중 변동성은 두 선택지의 중간에 있으며, 자체적인 반감기와 초기화 방식의 영향을 받습니다. 언제나 더 나은 하나의 방법은 없습니다. 백테스트에는 어떤 추정기를 사용했는지 명시하고, 결과를 비교할 때 설정을 고정해야 합니다.

추정기 선택달라지는 점주의할 실패 양상
20일 롤링 표준편차최근 움직임에 빠르게 반응잠잠한 시기가 지난 뒤 익스포저가 빠르게 커짐
90일 롤링 표준편차포지션 규모 조정이 느리고 매끄러움새로운 변동성 국면에 진입해도 익스포저가 높게 유지됨
EWMA, 반감기 10일최근 수익률에 더 큰 가중치를 둠감쇠율과 초기 워밍업 설정에 따라 결과가 달라짐

타임스탬프: 언제 알 수 있는가?

월요일 종가를 추정치에 포함한다면, 전략은 월요일 종가가 확정된 뒤에야 그 추정치를 사용할 수 있습니다. 이후 시뮬레이터에서 화요일 첫 체결 가능 가격처럼 다음 체결 기회에 주문을 낼 수 있습니다. 월요일 종가에 체결했다고 가정하면 아직 확정되지 않은 수익률에 반응해 포지션 규모를 정하는 셈입니다.

따라서 하루 한 번 리밸런싱하는 방식은 장중 내내 계좌를 보호하지 않습니다. 시그널이나 변동성이 10:00 UTC에 바뀌더라도 월요일 포지션은 화요일의 급격한 가격 변동까지 유지됩니다. 이는 설계상의 선택이며, 모의 계좌에서도 같은 일정으로 운용해야 합니다.

주문: 익스포저 변경에는 비용이 따른다

화요일에 추정치가 2%에서 3%로 상승합니다. 목표 익스포저는 $31,500에서 $21,000으로 줄어듭니다. 무기한 선물 포지션 $10,500어치를 매도하는 데는 비용이 듭니다. taker 수수료가 5bp라면 수수료만 $5.25입니다. 스프레드를 넘어서 체결하고 가격 충격이 3bp 발생하면 약 $3.15가 추가됩니다. 펀딩은 별도입니다. 현금 흐름은 펀딩 시점에 보유한 포지션과 실제 적용된 펀딩 비율에 따라 달라집니다.

변동성이 튈 때마다 위험을 줄이고 잠잠해질 때마다 다시 늘리는 전략에서는 작은 비용도 쌓입니다. 포지션 규모 산정 규칙 자체에서 발생한 회전율과 해당 거래의 수수료, 스프레드, 가격 충격을 함께 보고해야 합니다. 거래 비용을 무시한 변동성 목표 전략은 어느새 회전율이 높은 전략이 될 수 있습니다.

결과: 목표치는 꼬리 위험을 보장하지 않는다

일일 변동성을 2%로 추정하고 자기자본 $100,000에 명목 포지션 $31,500을 보유한다고 가정해 보겠습니다. 다음 정기 리밸런싱 전에 BTC가 12% 하락합니다. 수수료와 펀딩을 제외하면 평가 손실은 대략 $3,780, 즉 자기자본의 3.78%입니다. 연환산 변동성 목표 10%가 이 손실을 막아준 것은 아닙니다. 통상적인 변동성 추정치를 포지션 규모로 환산했을 뿐입니다.

$31,500일일 변동성 2%일 때 초기 명목 포지션
$10,500변동성이 3%에 이르면 청산할 명목 포지션
3.78%초기 포지션 규모에서 12% 하락 시 자기자본 손실

레버리지 상한이 없는 규칙이라면 위험은 더 커집니다. 오랫동안 시장이 잠잠하면 추정 변동성이 매우 낮아져 공식이 계좌의 증거금이나 시장의 수용 능력을 넘어서는 포지션을 요구할 수 있습니다. 포지션 규모 산정 규칙에 상한을 두고 백테스트에도 반영하세요. 그런 다음 상한이 얼마나 자주 적용되는지 추적해야 합니다. 상한이 자주 적용된다면 실제 익스포저는 내세운 목표치의 통제를 거의 받지 않는다는 뜻입니다.

점검: 곡선만 보지 말고 규칙을 재현한다

리밸런싱 때마다 수익률 구간, 변동성 추정치, 연환산 계수, 목표치, 레버리지 상한, 목표 명목 포지션, 실제 체결 명목 포지션, 회전율, 수수료, 가격 충격, 펀딩을 기록하세요. 목표 변동성과 실현 변동성이 다를 때 이 항목을 보면 추정기가 뒤처졌는지, 거래 비용이 수익을 잠식했는지, 익스포저 제한으로 전략이 달라졌는지 확인할 수 있습니다.

마지막으로 같은 포지션 규모 산정 코드를 사용하고 리밸런싱 시점도 동일하게 맞춰 모의 거래를 진행하세요. 목표 익스포저를 실제 포지션과 비교하고, 주문이 누락되거나 지연된 경우를 기록합니다. 추정치부터 실제 보유 포지션까지 모든 단계를 설명할 수 있어야 위험 목표가 유용해집니다. 대시보드의 백분율은 그 첫 단계일 뿐입니다.

변동성 타기팅포지션 규모 조정암호화폐 선물백테스팅
← 전체 글