공적분(Cointegration) — 상관관계가 아니라 스프레드가 돌아오는지를 본다
두 코인이 "같이 움직인다"고 할 때 보통 상관관계를 떠올립니다. 그런데 일간 수익률 상관계수가 0.9인 두 코인도 가격 차이는 몇 달에 걸쳐 한쪽으로 계속 벌어질 수 있습니다. 페어 트레이딩이 실제로 기대는 성질은 상관관계가 아니라 공적분(cointegration) — 두 가격의 일정한 조합(스프레드)이 평균으로 되돌아오는 성질입니다. 이 글은 둘의 차이, 공적분을 검정하는 순서, 스프레드로 진입·청산을 정하는 계산, 자주 틀리는 지점을 정리합니다. 본문의 가격·계수·비용은 모두 설명용 가정입니다.
상관관계와 공적분은 다른 질문이다
상관관계는 "오늘 A가 오를 때 B도 오르는가"를 묻습니다. 기간마다의 수익률 방향이 얼마나 같이 움직이는지를 보는 숫자입니다. 공적분은 "A와 B의 가격 차이가 시간이 지나도 일정한 범위에 머무는가"를 묻습니다. 보는 대상이 수익률이 아니라 가격 수준입니다. 상관관계 자체의 함정은 코인 상관관계와 분산투자 글에서 다뤘습니다.
· 코인 A·B 모두 매일 비슷한 방향으로 움직임 → 일간 수익률 상관계수 0.9
· 다만 A가 평균적으로 하루 0.1%씩 B보다 더 오름
· 100일 뒤 누적 격차 ≈ 1.001100 − 1 = 약 10.5%
· 200일 뒤 ≈ 약 22.1% — 격차가 돌아오지 않고 계속 커짐
· "A가 비싸졌으니 A 숏·B 롱"으로 들어갔다면 상관 0.9와 무관하게 계속 손실
반대 경우도 있습니다. 하루하루 수익률은 들쭉날쭉해서 상관계수가 0.4밖에 안 되는데, 가격 차이는 몇 주마다 같은 범위로 되돌아오는 쌍입니다. 이 쌍은 상관관계로는 걸러지지만 공적분 관점에서는 페어 후보입니다. 즉 높은 상관은 공적분의 필요조건도 충분조건도 아닙니다.
정의 — 각자는 떠돌아도 조합은 돌아온다
코인 가격 하나하나는 보통 비정상(non-stationary) 시계열입니다. 평균으로 돌아오는 기준선이 없고, 어디로든 떠돌 수 있다는 뜻입니다. 두 가격 A, B가 각자 비정상인데, 어떤 계수 β에 대해 아래 스프레드가 정상(stationary) — 일정한 평균 주변을 오르내리는 — 이라면 A와 B는 공적분 관계라고 합니다.
· st = ln(At) − β × ln(Bt) − α
· β = 헤지 비율: B가 1% 움직일 때 A가 평균 몇 % 움직이는지
· α = 상수항 (스프레드의 평균 수준)
· 공적분이면 st는 0 근처를 오르내림 → 벌어지면 되돌아올 확률이 높다고 봄
로그 가격을 쓰는 이유는 가격대가 다른 두 코인(예: $3,000짜리와 $0.50짜리)을 비율 기준으로 비교하기 위해서입니다. β 계산 자체는 현물·선물 헤지에서 쓰는 방식과 같은 뿌리이며 헤지 비율 계산법에 자세히 있습니다.
검정 순서 — 엥글-그레인저 2단계
가장 많이 쓰는 방법은 엥글-그레인저(Engle–Granger) 2단계입니다.
1단계 — 회귀로 β 구하기. ln(A)를 종속변수, ln(B)를 설명변수로 놓고 최소제곱 회귀를 돌립니다. 기울기가 β, 절편이 α이고, 남는 잔차가 스프레드 st입니다.
2단계 — 잔차에 단위근 검정. 스프레드에 ADF(Augmented Dickey–Fuller) 검정을 걸어 "단위근이 있다(=돌아오지 않는다)"는 귀무가설을 기각할 수 있는지 봅니다. 기각되면 공적분이 있다고 판단합니다.
· 일반 ADF 검정 5% 임계값(상수항 포함): 약 −2.86
· 엥글-그레인저 잔차 검정 5% 임계값(변수 2개, 상수항 포함): 약 −3.34
· 잔차는 회귀로 이미 "가장 정상처럼 보이게" 맞춰진 값이라 더 엄격한 기준이 필요함
· 예: 검정통계량 −3.0 → 일반 ADF 기준이면 통과, 엥글-그레인저 기준이면 탈락
· 예: −4.1 → 두 기준 모두 통과
통계 패키지의 일반 ADF 함수를 잔차에 그대로 돌리고 −2.86과 비교하면, 공적분이 없는 쌍을 있다고 판정하는 일이 늘어납니다. 공적분 전용 함수(예: 통계 라이브러리의 coint 계열)는 이 보정된 임계값을 씁니다. 3개 이상 코인을 동시에 묶을 때는 요한센(Johansen) 검정을 쓰지만, 입문 단계에서는 두 코인짜리 엥글-그레인저로 충분합니다.
스프레드로 진입·청산 정하기
공적분이 확인되면 스프레드가 평균에서 얼마나 벌어졌는지를 표준편차 단위로 잽니다. 이것이 Z-스코어입니다.
· 학습 구간 스프레드 평균 = 0 · 표준편차 = 0.020
· 현재 스프레드 = 0.045 → Z = 0.045 ÷ 0.020 = 2.25
· 규칙: Z ≥ 2 → A 숏 + B 롱 (A가 B 대비 비싸짐) · Z ≤ −2 → 반대
· 청산: Z가 0 근처로 돌아오면 · 손절: Z ≥ 4 또는 시간 초과
양쪽 노셔널은 β에 맞춥니다. 로그 가격 기준 β = 1.2라면 A를 $800 숏할 때 B는 $800 × 1.2 = $960 롱입니다. 이렇게 해야 두 코인이 같은 방향으로 움직이는 부분이 대략 상쇄되고 스프레드 움직임만 남습니다.
· 진입+청산 비용 = ($800 + $960) × 0.10% = $1.76 (다리 2개라 단일 포지션의 두 배 이상)
· 스프레드 0.045 → 0.005 (Z 2.25 → 0.25) 회귀 시 손익 ≈ $800 × 0.040 = 약 +$32
· 비용 차감 후 ≈ +$30.2
· 스프레드가 0.045 → 0.080 (Z 4)으로 더 벌어져 손절 시 ≈ $800 × (−0.035) − $1.76 = 약 −$29.8
여기서 계산은 근사입니다. 실제로는 두 다리의 가격 변화가 β와 정확히 맞지 않아 오차가 남습니다. 비용이 단일 포지션보다 두 배 이상 든다는 점은 왕복 거래비용 글의 손익분기 계산에 그대로 반영해야 합니다.
얼마나 기다려야 하나 — 반감기와 펀딩비
스프레드가 얼마나 빨리 돌아오는지는 반감기로 잽니다. 스프레드 변화량을 직전 스프레드에 회귀해 계수 λ를 구하면 반감기 = −ln(2) ÷ ln(1 + λ)입니다. 계산 방법은 평균회귀 반감기 글에 있습니다.
· 일간 데이터 λ = −0.10 → 반감기 = −0.693 ÷ ln(0.90) ≈ 6.6일
· 두 다리 모두 펀딩비를 내는 불리한 경우: 8시간당 0.01% × 하루 3회 × $1,760 = 하루 약 $0.53
· 반감기만큼 보유 시 ≈ $0.53 × 6.6 = 약 $3.5 — 진입·청산 비용 $1.76의 두 배
· 시간 손절 기준 예: 반감기의 3배(약 20일) 안에 안 돌아오면 정리
숏 다리는 펀딩비를 받을 수도 있어서 실제 부담은 두 코인의 펀딩비 차이로 정해집니다. 펀딩비 구조는 펀딩비 글을 참고하세요. 반감기가 길수록 펀딩비가 쌓이고, 그 사이 관계 자체가 깨질 위험도 커집니다.
자주 틀리는 지점
① 다중검정. 코인 100개로 만들 수 있는 쌍은 100 × 99 ÷ 2 = 4,950쌍입니다. 공적분이 전혀 없어도 5% 유의수준이면 약 247쌍이 우연히 통과합니다. 통과한 쌍 목록은 진짜 관계와 우연이 섞인 상태라, 별도 기간에서 다시 확인해야 합니다. 같은 원리는 과최적화 글에 있습니다.
② 전체 기간 β를 쓰는 미래참조. 1년치 데이터로 β와 평균·표준편차를 구한 뒤 같은 1년을 백테스트하면, 진입 시점에 알 수 없던 정보를 쓴 셈입니다. β와 Z-스코어 기준값은 매 시점 그 이전 데이터만으로 계산해야 합니다(미래참조 편향, 워크포워드 분석).
③ 관계는 깨진다. 공적분은 영구적인 성질이 아닙니다. 한쪽 코인에 상장·해킹·토큰 언락 같은 고유 이벤트가 생기면 스프레드가 새 수준으로 옮겨 가고 돌아오지 않습니다. Z가 4, 5로 커질 때 "더 싸졌다"며 늘리는 것은 관계가 깨진 쌍에 물타기를 하는 것과 같습니다.
④ 살아남은 코인만 보는 편향. 지금 거래소에 남아 있는 코인만으로 쌍을 찾으면, 중간에 상폐된 쌍에서 생겼을 손실이 빠집니다(생존 편향).
⑤ 다리 하나만 체결되는 위험. 두 주문을 동시에 내도 한쪽만 체결되면 그 순간은 방향성 포지션입니다. 유동성이 얇은 코인일수록 이 공백이 길어집니다.
정리
② 상관 0.9여도 하루 0.1% 격차면 100일에 약 10.5% 벌어질 수 있음
③ 엥글-그레인저: 로그가격 회귀로 β → 잔차 ADF, 5% 임계값은 −2.86이 아니라 약 −3.34
④ Z-스코어로 진입·청산, 노셔널은 β 비율(A $800 : B $960), 비용은 다리 2개분
⑤ 반감기 6.6일이면 펀딩비가 진입·청산 비용의 두 배까지 쌓일 수 있음
⑥ 4,950쌍 중 약 247쌍은 우연 통과 · β는 과거 데이터만으로 · 관계는 깨질 수 있다
페어 트레이딩 전반의 구성은 페어 트레이딩 전략, 여러 쌍을 묶는 확장은 통계적 차익거래 글에 있습니다.
주의
본문의 가격, 상관계수, β, 검정통계량, 펀딩비, 손익은 모두 개념을 설명하기 위한 가정 예시이며 실제 시장 데이터나 실측 성과가 아닙니다. 임계값은 표본 크기에 따라 조금씩 달라지는 근사치입니다. 이 글은 교육 정보이며 특정 종목·전략의 매수·매도 권유나 특정 수익을 보장하는 내용이 아닙니다. 선물·레버리지 거래는 원금 손실 위험이 있고, 매매 판단과 그 결과는 본인 책임입니다.
NOONOO TRADING 무료 채팅방에서 실시간 트레이딩을 같이 보세요.
봇에서 시작하기📈 OKX 신규 가입 시 거래 수수료 할인
OKX 수수료 할인 가입 →