페어 트레이딩이란?
페어 트레이딩(Pairs Trading)은 통계적으로 높은 상관관계를 가진 두 자산의 가격 괴리를 이용하는 시장 중립(Market Neutral) 전략입니다. 한 자산을 매수하고 다른 자산을 매도하여, 시장 방향과 무관하게 두 자산의 스프레드 수렴에서 수익을 얻습니다. 1980년대 모건 스탠리의 퀀트 팀이 체계화한 이후 헤지펀드의 핵심 전략으로 자리잡았습니다.
개인 투자자도 Python과 거래소 API만 있으면 페어 트레이딩 자동매매 시스템을 구축할 수 있으며, 암호화폐 시장에서는 BTC-ETH, SOL-AVAX 같은 페어가 대표적입니다.
공적분(Cointegration)의 이해
페어 트레이딩의 핵심은 단순 상관관계가 아닌 공적분(Cointegration)입니다. 상관관계는 두 자산이 같은 방향으로 움직이는지를 측정하지만, 공적분은 두 자산의 선형 결합이 평균 회귀하는지를 검증합니다.
- 상관관계 높음 + 공적분 없음: 함께 올라가지만 괴리가 벌어지면 돌아오지 않음 → 위험
- 상관관계 높음 + 공적분 있음: 괴리가 발생해도 평균으로 회귀 → 페어 트레이딩 적합
공적분 검정에는 Engle-Granger 검정과 Johansen 검정이 주로 사용됩니다.
Python으로 공적분 검정하기
아래는 statsmodels를 활용한 Engle-Granger 공적분 검정 코드입니다:
import numpy as np
import pandas as pd
from statsmodels.tsa.stattools import coint, adfuller
def test_cointegration(series_a, series_b):
"""두 시계열의 공적분 관계를 검정"""
score, pvalue, _ = coint(series_a, series_b)
print(f"공적분 검정 t-통계량: {score:.4f}")
print(f"p-value: {pvalue:.4f}")
if pvalue < 0.05:
print("✅ 공적분 관계 존재 (p < 0.05)")
return True
else:
print("❌ 공적분 관계 없음")
return False
# 스프레드 계산 (OLS 회귀로 헤지 비율 산출)
from sklearn.linear_model import LinearRegression
def calculate_spread(prices_a, prices_b):
model = LinearRegression()
model.fit(prices_b.values.reshape(-1, 1), prices_a.values)
hedge_ratio = model.coef_[0]
spread = prices_a - hedge_ratio * prices_b
return spread, hedge_ratio
p-value가 0.05 미만이면 두 자산은 공적분 관계에 있으며, 스프레드가 평균 회귀할 가능성이 높습니다.
페어 트레이딩 시그널 생성
공적분이 확인된 페어의 스프레드를 Z-스코어로 표준화하여 매매 시그널을 생성합니다:
def generate_signals(spread, window=20, entry_z=2.0, exit_z=0.5):
"""
entry_z: 진입 기준 Z-스코어 (기본 ±2σ)
exit_z: 청산 기준 Z-스코어 (기본 ±0.5σ)
"""
mean = spread.rolling(window).mean()
std = spread.rolling(window).std()
zscore = (spread - mean) / std
signals = pd.Series(0, index=spread.index)
# 스프레드가 +2σ 이상 → 숏 스프레드 (A 매도, B 매수)
signals[zscore > entry_z] = -1
# 스프레드가 -2σ 이하 → 롱 스프레드 (A 매수, B 매도)
signals[zscore < -entry_z] = 1
# 스프레드가 평균 근처로 회귀 → 청산
signals[(zscore > -exit_z) & (zscore < exit_z)] = 0
return signals, zscore
Z-스코어가 ±2를 넘으면 진입하고, 0 근처로 돌아오면 청산하는 것이 기본 로직입니다. 평균 회귀 전략의 원리와 동일합니다.
백테스트 결과 분석 지표
페어 트레이딩 백테스트에서 반드시 확인해야 할 성과 지표들입니다:
| 지표 | 설명 | 목표 |
|---|---|---|
| 샤프 비율 | 위험 대비 수익률 | 1.5 이상 |
| MDD | 최대 낙폭 | 10% 이하 |
| 승률 | 수익 거래 비율 | 60% 이상 |
| 평균 보유 기간 | 포지션 유지 일수 | 5~15일 |
| 스프레드 반감기 | 평균 회귀 속도 | 짧을수록 유리 |
특히 스프레드 반감기(Half-Life)는 평균 회귀 속도를 나타내며, OU(Ornstein-Uhlenbeck) 프로세스로 추정할 수 있습니다. 반감기가 너무 길면 자금이 오래 묶이고, 너무 짧으면 거래 빈도가 과도해집니다.
실전 적용 시 핵심 리스크
페어 트레이딩은 시장 중립 전략이지만, 완벽한 무위험 전략은 아닙니다:
- 공적분 붕괴: 구조적 변화(규제, 기업 이벤트)로 두 자산의 관계가 영구적으로 깨질 수 있음
- 레버리지 리스크: 숏 포지션에 마진이 필요하며, 스프레드가 확대되면 마진콜 위험
- 실행 리스크: 두 자산을 동시에 매매해야 하므로, 한쪽만 체결되는 레그 리스크(Leg Risk) 발생 가능
- 유동성 리스크: 페어 중 한 자산의 유동성이 낮으면 슬리피지 증가
이러한 리스크를 관리하려면 자동매매 봇의 리스크 관리 전략을 반드시 함께 적용해야 합니다. 특히 손절 기준을 명확히 설정하고, 공적분 관계를 주기적으로 재검정하는 것이 중요합니다.
암호화폐 페어 트레이딩 실전 팁
암호화폐 시장에서 페어 트레이딩을 적용할 때의 실전 노하우입니다:
- 같은 섹터 페어 선택: L1 체인끼리(ETH-SOL), DEX 토큰끼리(UNI-SUSHI) 묶으면 공적분 가능성 높음
- 선물 시장 활용: 현물 대비 숏이 용이하고, 펀딩비 수익도 추가 가능
- 롤링 공적분 검정: 60~90일 롤링 윈도우로 공적분 유효성을 지속 모니터링
- 거래소 분산: 레그 리스크를 줄이기 위해 같은 거래소 내에서 페어 구성
- 스프레드 반감기 필터: 반감기 5~30일인 페어만 선택하여 자금 효율성 확보
결론: 페어 트레이딩으로 시장 중립 수익 추구
페어 트레이딩은 방향성 베팅 없이 통계적 우위를 활용하는 정교한 퀀트 전략입니다. 공적분 검정으로 유효한 페어를 발굴하고, Z-스코어 기반 시그널로 진입·청산하며, 엄격한 리스크 관리를 병행하면 시장 상황과 무관한 안정적 수익을 추구할 수 있습니다. 단, 공적분 관계의 영구적 붕괴 가능성을 항상 염두에 두고, 손절 기준과 포지션 한도를 반드시 사전에 설정해야 합니다.