돈키안 채널이란?
돈키안 채널(Donchian Channel)은 리처드 돈키안이 개발한 가격 채널 지표로, 최근 N일간의 최고가와 최저가로 상단·하단 밴드를 형성한다. 전설적인 터틀 트레이더(Turtle Traders)가 핵심 진입 신호로 사용한 것으로 유명하며, 추세추종 자동매매의 기본 뼈대로 널리 활용된다.
계산 공식은 단순하다:
상단 밴드 = max(최근 N일 고가)
하단 밴드 = min(최근 N일 저가)
중간선 = (상단 + 하단) / 2
가격이 상단 밴드를 돌파하면 매수, 하단 밴드를 이탈하면 매도(또는 공매도)하는 것이 기본 전략이다. 변동성 돌파 전략과 유사하지만, 돈키안 채널은 포지션을 수일~수주간 보유하는 중장기 추세추종에 적합하다.
파이썬으로 돈키안 채널 구현
자동매매 봇에서 돈키안 채널 신호를 생성하는 코드는 아래와 같다:
import ccxt
import numpy as np
exchange = ccxt.binance()
symbol = 'BTC/USDT'
def donchian_channel(symbol, entry_period=20, exit_period=10):
"""돈키안 채널 상단/하단 계산"""
ohlcv = exchange.fetch_ohlcv(symbol, '1d', limit=entry_period + 1)
highs = [c[2] for c in ohlcv[:-1]] # 오늘 제외
lows = [c[3] for c in ohlcv[:-1]]
upper = max(highs[-entry_period:])
lower = min(lows[-exit_period:])
return upper, lower
def check_signal(symbol):
upper, lower = donchian_channel(symbol)
ticker = exchange.fetch_ticker(symbol)
price = ticker['last']
if price > upper:
return 'BUY'
elif price < lower:
return 'SELL'
return 'HOLD'
터틀 트레이딩 원본 규칙에서는 진입에 20일 채널, 청산에 10일 채널을 사용한다. 진입 기간이 길수록 큰 추세만 잡고, 청산 기간이 짧으면 빠르게 수익을 확정한다.
터틀 트레이딩 규칙 완전 구현
돈키안 채널 단독보다 터틀 규칙 전체를 구현하면 훨씬 체계적인 시스템이 된다. 핵심 요소는 세 가지다:
1. ATR 기반 포지션 사이징
터틀은 ATR(Average True Range)로 변동성을 측정하고, 변동성이 클수록 포지션을 줄인다. 이렇게 하면 모든 종목에서 동일한 리스크를 부담한다.
def calc_atr(ohlcv, period=20):
"""ATR 계산"""
trs = []
for i in range(1, len(ohlcv)):
high = ohlcv[i][2]
low = ohlcv[i][3]
prev_close = ohlcv[i-1][4]
tr = max(high - low, abs(high - prev_close), abs(low - prev_close))
trs.append(tr)
return np.mean(trs[-period:])
def position_size(capital, atr, risk_pct=0.01):
"""1 ATR = 자본의 risk_pct만큼 리스크"""
dollar_risk = capital * risk_pct
units = dollar_risk / atr
return units
예를 들어 자본금 1억 원, ATR이 500만 원이면 1유닛은 약 0.2 BTC가 된다(1% 리스크 기준). 이렇게 하면 변동성이 큰 자산에는 적게, 작은 자산에는 많이 투자하여 리스크를 균등화한다.
2. 피라미딩(추가 매수)
터틀은 가격이 유리한 방향으로 움직이면 최대 4유닛까지 추가 매수한다. 추가 진입 간격은 0.5 ATR이다:
| 유닛 | 진입 조건 | 손절 라인 |
|---|---|---|
| 1유닛 | 20일 고가 돌파 | 진입가 - 2 ATR |
| 2유닛 | 1유닛 진입가 + 0.5 ATR | 진입가 - 2 ATR |
| 3유닛 | 2유닛 진입가 + 0.5 ATR | 진입가 - 2 ATR |
| 4유닛 | 3유닛 진입가 + 0.5 ATR | 진입가 - 2 ATR |
피라미딩은 수익이 나는 포지션에 추가하므로 추세가 강할 때 수익을 극대화한다. 다만 반전 시에는 4유닛 전체가 손절되므로 한 번의 손절 규모가 커질 수 있다는 점을 유의해야 한다.
3. 이중 채널 시스템
터틀은 두 가지 시스템을 병행했다:
- 시스템 1 — 20일 돌파 진입, 10일 돌파 청산 (단기)
- 시스템 2 — 55일 돌파 진입, 20일 돌파 청산 (장기)
시스템 1에는 "직전 신호가 수익이었으면 스킵"하는 필터가 있어 연속 진입을 방지한다. 시스템 2는 필터 없이 모든 신호를 따른다.
class TurtleSystem:
def __init__(self, capital=100_000_000):
self.capital = capital
self.positions = {}
self.last_trade_profitable = {}
def system1_signal(self, symbol, price, upper_20, lower_10):
"""시스템 1: 20일 돌파, 직전 수익 시 스킵"""
if symbol in self.positions:
if price < lower_10:
return 'EXIT'
return 'HOLD'
if price > upper_20:
if self.last_trade_profitable.get(symbol, False):
return 'SKIP' # 직전 수익이면 패스
return 'BUY'
return 'HOLD'
def system2_signal(self, symbol, price, upper_55, lower_20):
"""시스템 2: 55일 돌파, 필터 없음"""
if symbol in self.positions:
if price < lower_20:
return 'EXIT'
return 'HOLD'
if price > upper_55:
return 'BUY'
return 'HOLD'
백테스트 결과와 실전 성능 차이
돈키안 채널 전략의 백테스트에서 자주 나타나는 특성:
- 승률은 35~40%로 낮다 — 추세추종의 본질. 횡보 구간에서 잦은 손절이 발생
- 손익비가 2:1 이상 — 한 번 수익 낼 때 크게 벌어 낮은 승률을 보상
- MDD 20~35% — 추세 전환기에 큰 드로다운이 올 수 있다
- 연 복리 수익률 15~30% — 강한 추세장에서는 50%+ 가능
실전에서 백테스트보다 수익이 낮아지는 주요 원인은 심리적 요인이다. 60%가 넘는 매매에서 손실을 보면서도 시스템을 계속 따르기가 어렵다. 감정매매 방지 체크리스트를 활용하여 규칙을 기계적으로 따르는 것이 핵심이다.
암호화폐 시장에서의 적용
돈키안 채널은 원래 상품 선물용으로 만들어졌지만, 암호화폐 시장에서도 잘 작동한다. 그 이유는:
- 24시간 시장 — 추세가 한번 시작되면 끊기지 않고 이어진다
- 높은 변동성 — 추세추종에 유리한 환경
- 낮은 상관관계 — 전통 자산과 다른 사이클로 분산 효과
다만 암호화폐에 적용할 때 조정이 필요한 부분도 있다:
# 암호화폐용 파라미터 조정
CRYPTO_CONFIG = {
'entry_period': 15, # 20→15 (변동성이 높아 반응 빠르게)
'exit_period': 7, # 10→7
'atr_period': 14,
'risk_per_trade': 0.005, # 1%→0.5% (변동성 높으므로 보수적)
'max_units': 3, # 4→3 (집중 리스크 줄이기)
'max_correlated': 4, # 상관 자산 합산 최대 유닛
}
다른 추세추종 전략과의 비교
| 전략 | 진입 기준 | 보유 기간 | 장점 |
|---|---|---|---|
| 돈키안 채널 | N일 고/저가 돌파 | 수일~수주 | 규칙 명확, 자의적 해석 불가 |
| 이동평균 크로스 | 단기MA > 장기MA | 수주~수개월 | 부드러운 신호, 노이즈 적음 |
| 볼린저 밴드 | 밴드 이탈 | 수일 | 변동성 적응형 |
| 변동성 돌파 | 전일 range × K | 1일 | 구현 간단, 빠른 청산 |
돈키안 채널의 가장 큰 장점은 규칙의 명확성이다. "20일 최고가를 넘었는가?"에 대한 답은 예/아니오뿐이며, 해석의 여지가 없다. 이 명확성이 자동매매 봇 구현에 가장 적합한 이유이기도 하다.
정리
돈키안 채널 추세추종 전략은 40년 넘게 검증된 클래식 퀀트 전략이다. ATR 기반 포지션 사이징, 피라미딩, 이중 시스템을 조합한 터틀 트레이딩 규칙은 여전히 유효하며, 특히 암호화폐처럼 추세가 강한 시장에서 위력을 발휘한다. 낮은 승률을 견디는 심리적 훈련과 철저한 리스크 관리가 이 전략의 성패를 결정한다.