NOONOO TRADING봇에서 시작하기

잔차 수익률 — 시장 움직임을 빼고 남는 수익을 계산하는 법

어떤 코인을 사서 올랐다면, 그 상승은 두 부분으로 나뉩니다. 시장 전체가 올라서 같이 오른 부분과, 그 코인만의 이유로 더 오른(또는 덜 오른) 부분입니다. 뒤쪽을 잔차 수익률(residual return) 또는 시장 조정 수익률이라고 부릅니다. 전략이나 종목 선택에 실제로 정보가 있는지는 원수익이 아니라 이 잔차로 판단합니다. 아래 숫자는 모두 개념 설명용 가정입니다.

원수익 = 시장 몫 + 잔차

가장 단순한 분해식은 다음과 같습니다.

분해식
· 원수익 = 베타 × 시장 수익 + 잔차
· 잔차 = 원수익 − 베타 × 시장 수익

· 시장 수익: 비트코인 수익률, 또는 같은 기간 전 종목 평균 수익률
· 베타: 시장이 1% 움직일 때 그 코인이 평균적으로 몇 % 움직이는지

코인 시장에서는 대부분의 알트코인이 비트코인과 같은 방향으로 움직입니다. 그래서 "이 코인을 골라서 벌었다"는 결과의 상당 부분이 사실은 "그 시기에 시장이 올랐다"로 설명되는 경우가 많습니다. 알트와 비트코인의 연동 정도는 상관관계 글에서, 알트 포지션을 비트코인 노출로 환산하는 방법은 알트코인 베타와 BTC 환산 노출 글에서 다룹니다.

예시 ① — +12% 올랐는데 잔차는 마이너스

가정
· 알트 A 7일 수익률 +12%
· 같은 7일 비트코인 수익률 +10%
· 알트 A 의 베타 1.3

시장 몫
· 1.3 × 10% = +13%

잔차
· 12% − 13% = −1%

계좌에는 +12% 가 찍혔지만, 이 코인은 평소 시장보다 1.3배 크게 움직이는 코인이라 시장이 10% 오른 주에는 13% 정도 오르는 게 보통입니다. 그 기준으로 보면 오히려 1% 덜 오른 것입니다. 같은 돈을 비트코인 1.3배 노출로 들고 있었으면 결과가 더 좋았다는 뜻이기도 합니다.

베타 계산하기

베타는 일간(또는 시간별) 수익률을 모아 구합니다. 공식은 공분산 ÷ 시장 분산이고, 상관계수와 변동성으로 바꿔 쓰면 더 직관적입니다.

공식
· 베타 = 상관계수 × (코인 변동성 ÷ 시장 변동성)

가정
· 알트 B 와 비트코인 일간 수익률 상관 0.8
· 알트 B 일간 표준편차 4.5% · 비트코인 일간 표준편차 3%

계산
· 베타 = 0.8 × (4.5 ÷ 3) = 0.8 × 1.5 = 1.2

공분산으로 확인
· 공분산 = 0.8 × 4.5 × 3 = 10.8 · 시장 분산 = 3² = 9
· 10.8 ÷ 9 = 1.2

베타는 고정값이 아닙니다. 급락장에서는 상관이 1에 가까워지면서 베타가 커지는 경향이 있고, 추정 기간(30일인지 180일인지)에 따라서도 달라집니다. 실무에서는 판단 시점 이전 데이터로만 베타를 추정해야 합니다. 평가 기간의 데이터로 베타를 구하면 미래 정보가 섞입니다(미래참조 편향).

예시 ② — 같은 시각 전 종목 평균을 빼는 방식

여러 코인에 걸친 신호(예: "X% 급락한 코인을 산다")를 검증할 때는 베타를 일일이 구하기보다, 같은 시각 전 종목 평균 수익률을 시장 몫으로 빼는 방법을 많이 씁니다. 신호가 난 코인과 같은 시간 창에서 전체 시장이 얼마나 움직였는지를 기준으로 삼는 것입니다.

가정 · 급락 후 매수 신호 1,000건
· 진입 후 4시간 평균 원수익 +0.19%
· 같은 4시간 동안 전 종목 평균 수익 +0.19%

잔차
· 0.19% − 0.19% = 0.00%

비용 반영
· 왕복 비용 0.30% 가정 → 0.19 − 0.30 = −0.11%/건

원수익만 보면 "급락한 코인은 반등한다"는 결론이 나옵니다. 그러나 잔차가 0이라면 그 반등은 해당 코인만의 현상이 아니라 그 시간대에 시장 전체가 올랐던 것입니다. 신호는 종목 선택에 아무 정보도 주지 못했고, 결과적으로 비용을 내고 시장 롱 노출을 산 것과 같습니다. 평균회귀 전략을 검증할 때 특히 자주 걸리는 함정입니다.

예시 ③ — 잃었는데 잔차는 플러스

반대 경우도 있습니다. 하락장에서는 손실이 났어도 시장보다 덜 빠졌다면 잔차는 플러스입니다.

가정
· 알트 C 1개월 수익률 −8%
· 같은 기간 비트코인 −15% · 베타 1.0

잔차
· −8% − (1.0 × −15%) = −8 + 15 = +7%

원수익은 손실이지만, 종목 선택 자체는 시장 대비 7%p 나은 결과였습니다. 이 경우 문제는 종목이 아니라 "하락장에서 롱 노출을 들고 있었다"는 방향 결정입니다. 잔차로 분리해 두면 고칠 대상이 종목 선택인지, 시장 방향 판단인지가 구분됩니다. 비교 기준을 잡는 방법은 벤치마크(바이앤홀드) 비교 글을 참고하세요.

잔차도 우연일 수 있다

잔차가 플러스로 나왔다고 끝이 아닙니다. 표본이 적으면 잔차 평균도 우연히 튑니다. 원수익과 마찬가지로 t값으로 확인합니다.

가정
· 거래 100건 · 잔차 평균 +0.15% · 잔차 표준편차 2.5%

표준오차
· 2.5% ÷ √100 = 0.25%

t값
· 0.15 ÷ 0.25 = 0.6 → 2 에 한참 못 미침

t = 2 가 되려면
· n = (2 × 2.5 ÷ 0.15)² ≈ 1,111건

장점은 잔차의 표준편차가 원수익보다 작다는 것입니다. 시장 움직임이라는 큰 잡음을 빼냈기 때문입니다. 같은 효과 크기라도 잔차로 보면 더 적은 표본으로 판단할 수 있습니다. 반대로 원수익에서는 보이던 효과가 잔차에서 사라진다면, 그 효과는 처음부터 시장 몫이었다는 뜻입니다. 잔차를 그 변동성으로 나눈 지표가 정보비율(Information Ratio)입니다.

계산할 때 주의할 점

① 시장 기준을 먼저 정한다. 비트코인 하나로 할지, 전 종목 평균으로 할지, 시가총액 가중으로 할지를 결과를 보기 전에 정합니다. 기준을 바꿔 가며 잔차가 플러스로 나오는 것을 고르면 그 자체가 과최적화입니다.

② 시간 창을 정확히 맞춘다. 코인의 진입~청산 시각과 시장 수익을 잰 시각이 같아야 합니다. 1분만 어긋나도 급변 구간에서는 잔차가 크게 왜곡됩니다.

③ 상장폐지 종목을 빠뜨리지 않는다. 지금 살아 있는 종목만으로 "전 종목 평균"을 내면 시장 평균이 실제보다 높게 잡혀 잔차가 낮아지거나, 반대로 신호 쪽에서 사라진 종목이 빠져 잔차가 부풀려집니다.

④ 비용은 잔차에서 뺀다. 시장 몫은 비트코인 현물이나 선물 하나로 싸게 얻을 수 있습니다. 여러 코인을 사고팔며 낸 비용은 잔차가 감당해야 합니다. 비용 구조는 왕복 거래 비용 글에 정리돼 있습니다.

⑤ 검증은 표본 밖에서 한 번 더. 한 기간에서 잔차가 플러스였다면, 열어 보지 않은 다른 기간에서도 같은 방향인지 확인합니다(홀드아웃 검증).

정리

① 잔차 = 원수익 − 베타 × 시장 수익
② +12% 수익도 시장 +10%·베타 1.3 이면 잔차 −1%
③ 베타 = 상관 × (코인 변동성 ÷ 시장 변동성) — 0.8 × 4.5 ÷ 3 = 1.2
④ 원수익 +0.19% 와 같은 시각 시장 +0.19% → 잔차 0, 비용 빼면 −0.11%
⑤ −8% 손실도 시장 −15%·베타 1.0 이면 잔차 +7%
⑥ 잔차도 t값으로 확인 — 평균 0.15%·표준편차 2.5% 면 약 1,111건 필요
⑦ 시장 기준·시간 창·상장폐지 종목·비용·표본 밖 검증을 먼저 고정

주의

본문의 수익률, 베타, 상관계수, 표준편차, 비용, 건수 등 모든 숫자는 개념을 설명하기 위한 가정 예시이며 특정 코인·거래소·기간의 실제 통계가 아닙니다. 계산은 소수 둘째 자리 부근에서 반올림했습니다. 이 글은 교육 정보이며 특정 종목·전략의 매수·매도 권유나 특정 수익을 보장하는 내용이 아닙니다. 선물·레버리지 거래는 원금 손실 위험이 있고, 매매 판단과 그 결과는 본인 책임입니다.

NOONOO TRADING 무료 채팅방에서 실시간 트레이딩을 같이 보세요.

봇에서 시작하기

📈 OKX 신규 가입 시 거래 수수료 할인

OKX 수수료 할인 가입 →