변동성 돌파 전략 (래리 윌리엄스)
변동성 돌파 전략 (래리 윌리엄스)
개요
변동성 돌파 전략(Volatility Breakout Strategy)은 전설적인 상품 트레이더 래리 윌리엄스(Larry R. Williams)가 1970년대에 고안한 단기 추세추종 매매 기법이다. 이 전략은 전일의 가격 변동 범위(Range)를 기준으로 당일 장중에 일정 수준 이상의 가격 돌파가 발생할 경우 매수에 진입하고, 익일 시가에 청산하는 구조를 가진다. 단순하고 명확한 규칙 덕분에 알고리즘 트레이딩 및 퀀트 투자 입문자에게 가장 많이 소개되는 전략 중 하나이며, 주식·선물·암호화폐 등 다양한 자산군에 적용된다.
래리 윌리엄스는 1987년 세계 선물 거래 챔피언십(World Cup Trading Championship)에서 1만 달러를 약 110만 달러(수익률 11,376%)로 불려 유명해졌으며, 그의 저서 『Long-Term Secrets to Short-Term Trading』에서 변동성 돌파 전략의 핵심 원리를 상세히 소개하였다. 이 전략은 단순히 “가격이 평소보다 강하게 움직일 때 그 방향을 따른다”는 직관적인 아이디어에 근거한다.
핵심 개념
1. Range (변동 범위)
변동 범위(Range)는 전일 고가(High)에서 전일 저가(Low)를 뺀 값이다.
Range = 전일 고가 - 전일 저가
이 값은 전날 시장이 얼마나 넓은 폭으로 움직였는지를 나타내며, 당일 매수 진입 기준선을 계산하는 데 사용된다.
2. 매수 기준가 (돌파 목표가)
당일 매수 기준가는 다음 공식으로 산출된다.
매수 기준가 = 당일 시가 + (전일 Range × K)
- K값: 0.5를 기본값으로 사용하며, 0.3~0.7 범위에서 시장 특성에 맞게 조정한다. K값이 낮을수록 진입 빈도가 높아지고, 높을수록 진입 조건이 까다로워진다.
- K값은 고정하지 않고 “노이즈 비율(Noise Ratio)“을 이용해 동적으로 산출하는 방식도 활용된다. 노이즈 비율은
1 - |시가 대비 종가 변동 / Range|로 계산하며, 일정 기간(보통 20~30일)의 평균 노이즈 비율을 K로 사용한다.
3. 진입 및 청산 규칙
| 단계 | 규칙 |
|---|---|
| 매수 진입 | 장중 현재가 ≥ 당일 시가 + (전일 Range × K) |
| 매도 청산 | 익일 시가에 전량 매도 (보유 기간: 1일) |
| 손절 | 별도 손절 설정 또는 익일 시가 청산으로 자동 처리 |
매수는 당일 장중에 기준가를 돌파하는 시점에 시장가 또는 지정가로 체결하며, 보유한 포지션은 다음 날 시초가에 무조건 청산한다. 이는 오버나이트 리스크를 최소화하는 동시에 단타 수익을 실현하는 구조다.
4. 노이즈 비율과 동적 K값
시장이 강한 추세를 형성할수록 종가가 시가 대비 크게 벗어나므로 노이즈 비율이 낮아지고 K값도 낮아진다. 반대로 횡보장에서는 노이즈 비율이 높아져 진입 기준이 높아지는 자기조정 메커니즘이 작동한다. 이를 통해 추세장에서는 더 적극적으로 진입하고, 횡보장에서는 신호를 줄이는 효과를 얻는다.
구현 방법 및 실전 적용
기본 파이썬 구현 (의사코드)
import pandas as pd
# OHLCV 데이터 로드 (예: df)
df['range'] = df['high'].shift(1) - df['low'].shift(1)
K = 0.5
df['target'] = df['open'] + df['range'] * K
# 매수 조건: 장중 고가가 기준가를 돌파한 경우
df['signal'] = df['high'] > df['target']
# 수익률: 익일 시가 / 당일 진입가 - 1
df['return'] = (df['open'].shift(-1) / df['target'] - 1) * df['signal']
실전 적용 절차
- 데이터 수집: 일봉(OHLCV) 데이터를 수집한다. 한국 주식의 경우 KRX, 암호화폐의 경우 업비트·바이낸스 API를 활용할 수 있다.
- K값 결정: 고정 K(0.5)로 시작하거나 노이즈 비율 기반 동적 K를 계산한다.
- 필터 적용: 전날 시가 대비 종가 변동률이 일정 기준(예: ±7%) 이상인 날은 다음 날 진입을 제외하여 급등락 이후 휩소(Whipsaw)를 방지한다.
- 백테스트: 과거 데이터로 전략 성과(승률, 수익률, MDD, 샤프 비율 등)를 검증한다.
- 자동매매 연동: TradingView Pine Script 또는 증권사 API(키움증권 OpenAPI, 업비트 API 등)를 이용해 실전 자동매매 시스템을 구축한다.
TradingView Pine Script 예시
//@version=5
strategy("변동성 돌파 전략", overlay=true)
K = input.float(0.5, "K값", minval=0.1, maxval=1.0)
prevRange = high[1] - low[1]
target = open + prevRange * K
if high > target and strategy.position_size == 0
strategy.entry("Long", strategy.long, stop=target)
strategy.close("Long", when=barstate.isnew)
암호화폐 적용 시 유의사항
암호화폐 시장은 24시간 거래되므로 “일봉 시가”를 기준으로 한 변동성 돌파 전략이 주식보다 더 자연스럽게 적용된다. 단, 높은 변동성과 유동성 부족으로 인한 슬리피지(Slippage)를 백테스트 시 반드시 고려해야 한다.
장단점
장점
| 항목 | 설명 |
|---|---|
| 단순성 | 공식이 명확하여 구현이 쉽고 파라미터가 적다 |
| 자동화 적합성 | 규칙 기반 전략이므로 알고리즘으로 완전 자동화가 가능하다 |
| 감정 배제 | 진입·청산 기준이 수치로 고정되어 있어 감정적 판단을 배제한다 |
| 추세 포착 | 강한 모멘텀이 발생하는 날을 효율적으로 포착한다 |
| 리스크 제한 | 당일 진입 후 익일 시가 청산으로 보유 기간을 최소화한다 |
| 다양한 자산 적용 | 주식, 선물, ETF, 암호화폐 등 거의 모든 자산에 적용 가능하다 |
단점
| 항목 | 설명 |
|---|---|
| 횡보장 약세 | 추세 없는 시장에서는 빈번한 허위 돌파(Fakeout)로 손실이 누적될 수 있다 |
| 갭 리스크 | 오버나이트 포지션을 보유하는 경우 익일 시가 갭으로 인한 손실이 발생할 수 있다 |
| 슬리피지 | 실전에서는 기준가 도달 시 즉시 체결이 보장되지 않으며, 큰 슬리피지가 발생할 수 있다 |
| 과최적화 위험 | K값을 과거 데이터에 과도하게 맞추면 미래 수익성이 저하된다(곡선 맞추기 문제) |
| 비용 민감성 | 거래 빈도가 높아 수수료 및 세금 부담이 누적되어 실수익을 줄일 수 있다 |
| 시장 체제 의존 | 강한 추세장에서 성과가 좋고, 저변동성 박스권 장세에서는 성과가 부진하다 |
참고 자료
- Larry R. Williams, Long-Term Secrets to Short-Term Trading, Wiley, 1999
- TVExtBot, 변동성 돌파 기본 전략: https://tvextbot.github.io/posts/strategies/indicator_vbi/
- MQL5 Articles, Larry Williams Market Secrets (Part 5) — Automating the Volatility Breakout Strategy: https://www.mql5.com/en/articles/20745
- QuantifiedStrategies.com, Larry Williams Volatility Channel Trading Strategy: https://www.quantifiedstrategies.com/larry-williams-volatility-strategy/
- WHSelfInvest, Trading strategy: Larry Williams Volatility Break-out: https://www.whselfinvest.com/en-fr/trading-platform/free-trading-strategies/tradingsystem/56-volatility-break-out-larry-williams-free