NOONOO TRADING봇에서 시작하기

K-비율(K-Ratio) — 자산곡선의 기울기와 흔들림을 함께 재는 지표

K-비율(K-Ratio)은 누적 자산곡선에 회귀직선을 그은 뒤, 그 직선의 기울기를 기울기의 표준오차로 나눈 값입니다. 기울기는 "얼마나 빨리 올라갔는가", 표준오차는 "그 직선 주위에서 얼마나 흔들렸는가"를 나타냅니다. 같은 기간에 같은 최종 수익을 낸 두 전략이라도 한쪽은 계단처럼 꾸준히, 다른 쪽은 급등락을 반복하며 도착했다면 K-비율은 크게 차이 납니다. 이 글은 6개월짜리 숫자 예시로 계산을 처음부터 따라가고, 샤프 비율·최대낙폭과 어떻게 같이 읽어야 하는지 정리합니다. 본문의 수익률은 모두 계산 설명용 가정입니다.

왜 자산곡선의 모양을 따로 재는가

대부분의 성과 지표는 기간별 수익률의 분포만 봅니다. 샤프 비율은 평균과 표준편차, 소르티노는 하방 편차를 씁니다. 이 지표들은 월 수익률을 섞어서 다른 순서로 늘어놓아도 값이 변하지 않습니다. 하지만 실제 계좌에서는 순서가 중요합니다. 같은 수익률 묶음이라도 손실이 연달아 몰리면 낙폭이 깊어지고, 그 구간에서 전략을 포기하기 쉬워집니다.

K-비율은 1996년 라스 케스트너(Lars Kestner)가 제안한 지표로, 수익률의 분포가 아니라 누적 곡선 자체를 대상으로 합니다. 곡선이 직선에 가까울수록, 그리고 그 직선이 가파를수록 값이 커집니다. 자산곡선 자체를 보고 매매 여부를 조절하는 방법은 자산곡선 트레이딩 글에서 다뤘습니다.

계산 절차

① 기간별(일·주·월) 누적 로그수익률을 구합니다. 로그를 쓰는 이유는 복리 성장을 직선으로 펴기 위해서입니다(차이는 로그 수익률과 단순 수익률 참고).
② 가로축 x = 기간 번호(1, 2, 3 …), 세로축 y = 누적 로그수익률로 놓고 최소제곱 회귀직선을 구합니다.
③ 잔차(실제값 − 직선값)로 회귀의 표준오차 s를 구하고, 기울기의 표준오차 SE = s ÷ √Sxx 를 계산합니다. Sxx = Σ(x − x̄)².
④ K = 기울기 ÷ SE. (버전에 따라 여기서 기간 수로 한 번 더 나눕니다. 아래에서 설명합니다.)

③의 값은 통계학의 기울기 t-통계량과 같습니다. 즉 K-비율의 핵심은 "자산곡선의 상승 추세가 흔들림에 비해 얼마나 뚜렷한가"를 재는 것입니다.

예시 1 — 꾸준히 오른 전략 A

6개월 동안 월말 누적 로그수익률(%)이 아래와 같다고 가정합니다.

예시 1 — 전략 A
· x = 1 ~ 6 · y = 2, 3, 6, 7, 10, 12 (%)
· x̄ = 3.5 · Sxx = 6.25 + 2.25 + 0.25 + 0.25 + 2.25 + 6.25 = 17.5
· Sxy = Σ(x − x̄)·y = −5 − 4.5 − 3 + 3.5 + 15 + 30 = 36
· 기울기 = 36 ÷ 17.5 = 2.057 %/월 · 절편 = 6.667 − 2.057 × 3.5 = −0.533
· 잔차 = 0.476, −0.581, 0.362, −0.695, 0.248, 0.190 → 제곱합 SSE = 1.276
· s = √(1.276 ÷ (6 − 2)) = 0.565 · SE = 0.565 ÷ √17.5 = 0.135
· K = 2.057 ÷ 0.135 ≈ 15.2

매달 직선에서 1%p 이내로만 벗어났기 때문에 표준오차가 작고, K가 큽니다.

예시 2 — 같은 12%에 도착했지만 출렁인 전략 B

예시 2 — 전략 B
· y = 8, −2, 4, 14, 3, 12 (%) · 최종값은 A와 같은 12%
· Sxy = −20 + 3 − 2 + 7 + 4.5 + 30 = 22.5 → 기울기 = 22.5 ÷ 17.5 = 1.286 %/월
· 절편 = 6.5 − 1.286 × 3.5 = 2.0
· 잔차 = 4.71, −6.57, −1.86, 6.86, −5.43, 2.29 → SSE = 150.57
· s = √(150.57 ÷ 4) = 6.135 · SE = 6.135 ÷ 4.183 = 1.467
· K = 1.286 ÷ 1.467 ≈ 0.88

최종 수익률만 보면 두 전략은 같습니다. 그러나 B는 중간에 −2%, 3%까지 되돌아갔고 회귀직선 주위의 흔들림이 A의 10배가 넘습니다. 그 결과 K는 15.2 대 0.88로 17배 차이가 납니다. "어디서 끝났는가"만 보는 총수익률과 달리, K-비율은 "어떻게 도착했는가"를 숫자로 남깁니다.

예시 3 — 샤프 비율은 순서를 모른다

전략 B의 월 수익률은 +8, −10, +6, +10, −11, +9(%)입니다. 이 6개를 순서만 바꿔 전략 C를 만듭니다.

예시 3 — 같은 월 수익률, 다른 순서
· C의 월 수익률 = −11, −10, +6, +8, +9, +10 → 누적 y = −11, −21, −15, −7, 2, 12
· 월 샤프(무위험수익 0 가정) = 평균 2 ÷ 표준편차 9.78 = 0.20 — B와 C 동일
· C의 기울기 = 96 ÷ 17.5 = 5.486 · SSE = 190.70 · s = 6.905 · SE = 1.651
· C의 K = 5.486 ÷ 1.651 ≈ 3.32 (B는 0.88)
· 참고: 전략 A의 월 수익률(2, 1, 3, 1, 3, 2)은 월 샤프 2.24

샤프는 B와 C를 구분하지 못하지만 K는 다른 값을 냅니다. 그런데 여기서 주의할 점이 있습니다. C는 처음 두 달에 −21%까지 빠졌다가 회복한 곡선인데도 K는 B보다 높습니다. 낙폭 이후 꾸준히 오른 구간이 기울기를 키웠기 때문입니다. K-비율은 낙폭 지표가 아닙니다. 반드시 최대낙폭(MDD)이나 궤양 지수와 함께 봐야 합니다. C의 최대낙폭은 21%p, B는 10%p입니다.

버전별 정규화 — 숫자를 비교하기 전에 확인할 것

K-비율은 같은 이름으로 여러 계산식이 쓰입니다. 핵심(기울기 ÷ SE)은 같지만, 기간 수에 따른 보정이 다릅니다.

전략 A(기울기 ÷ SE = 15.2, n = 6) 기준
· 보정 없음: 15.2
· 1996년 원래 식(n으로 나눔): 15.2 ÷ 6 = 2.54
· 2003년 수정식(√n으로 나눔): 15.2 ÷ √6 = 15.2 ÷ 2.449 = 6.22
· 일부 도구는 여기에 연간 기간 수(월간이면 √12 등)를 곱해 연율화

보정 없이 쓰면 표본 기간이 길어질수록 K가 자동으로 커집니다(같은 품질의 곡선이라도 데이터가 많을수록 t-통계량이 커지기 때문). 서로 다른 길이·빈도의 백테스트를 비교할 때는 같은 식, 같은 빈도로 다시 계산해야 하고, 다른 자료에서 가져온 K 값끼리 바로 비교하지 않습니다.

예시 4 — 6개 점으로는 아직 아무것도 말하기 어렵다

보정 없는 K(= 기울기 t-통계량)는 자유도 n − 2의 t분포와 비교할 수 있습니다.

예시 4 — n = 6, 자유도 4
· 양측 5% 기준 임계값 t ≈ 2.78
· 전략 A: 15.2 → 상승 추세가 흔들림으로 설명되기 어려움
· 전략 B: 0.88 → 기울기 1.286%/월이 0과 구분되지 않음
· 전략 C: 3.32 → 임계값은 넘지만 점이 6개뿐이라 한두 달 결과로 쉽게 바뀜

단, 이 검정은 잔차가 서로 독립이라는 가정 위에 있습니다. 누적 곡선의 잔차는 보통 이웃끼리 상관이 있어서 실제 불확실성은 계산보다 큽니다. 월간 6점이 아니라 수십~수백 개의 거래·기간이 쌓여야 의미 있는 비교가 됩니다. 몇 건이 필요한지는 거래 표본 크기 글에 계산해 두었습니다. 여러 백테스트 중 K가 가장 높은 것을 고르는 경우에는 디플레이티드 샤프 비율에서 설명한 다중 시도 문제가 똑같이 생깁니다.

스프레드시트로 계산하기

A열에 기간 번호, B열에 누적 로그수익률을 넣었다면 다음 식으로 보정 없는 K를 구할 수 있습니다.

엑셀·구글 시트
· 기울기: =SLOPE(B2:B7, A2:A7)
· 회귀 표준오차 s: =STEYX(B2:B7, A2:A7)
· Sxx: =DEVSQ(A2:A7)
· K: =SLOPE(B2:B7,A2:A7) / (STEYX(B2:B7,A2:A7) / SQRT(DEVSQ(A2:A7)))
· 전략 A 데이터로 입력하면 약 15.2

누적 로그수익률은 기간별 수익률 r에 대해 =LN(1+r)을 구한 뒤 누적합으로 만들면 됩니다. 수수료와 펀딩비를 뺀 순수익 기준으로 계산해야 실제 계좌 곡선과 맞습니다.

실무에서 읽는 방법

① 비교용으로 쓴다. K의 절대값보다, 같은 기간·같은 빈도·같은 식으로 계산한 전략끼리의 상대 순서가 의미 있습니다.

② 낙폭 지표와 짝을 짓는다. 예시 3처럼 K가 높아도 초반 낙폭이 깊을 수 있습니다. K + MDD + 칼마 지수를 함께 봅니다.

③ 롤링으로 본다. 전체 기간 K 하나보다 최근 N기간 K를 이동하며 계산하면, 곡선이 꺾이는 시점을 더 빨리 확인할 수 있습니다.

④ 레버리지는 K를 거의 바꾸지 않는다. 수익률을 2배로 키우면 기울기와 표준오차가 함께 약 2배가 되어 비율은 비슷하게 남습니다(로그 기준이라 정확히 같지는 않음). K가 높다고 레버리지를 올려도 된다는 근거가 되지 않습니다.

정리

① K-비율 = 누적 로그수익률 회귀직선의 기울기 ÷ 기울기의 표준오차
② 최종 수익이 같아도 꾸준한 곡선(15.2)과 출렁인 곡선(0.88)이 크게 갈린다
③ 샤프 비율은 수익 순서를 무시하지만 K는 순서에 반응한다
④ K는 낙폭 지표가 아니다 — MDD·궤양 지수와 함께 볼 것
⑤ 1996년(÷n)·2003년(÷√n) 등 정규화가 달라 다른 출처 값끼리 직접 비교 금지
⑥ 표본이 짧으면 값이 쉽게 바뀌고, 잔차 자기상관 때문에 실제 불확실성은 더 크다

주의

본문의 누적 수익률, 월 수익률, 샤프 비율, K 값은 모두 계산 방법을 설명하기 위한 가정 예시이며 실제 전략이나 시장 데이터의 결과가 아닙니다. 과거 자산곡선이 곧았다는 사실이 미래 성과를 보장하지 않습니다. 이 글은 교육 정보이며 특정 종목·전략의 매수·매도 권유나 특정 수익을 보장하는 내용이 아닙니다. 코인 및 선물·레버리지 거래는 원금 손실 위험이 있고, 매매 판단과 그 결과는 본인 책임입니다.

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

봇에서 시작하기

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

OKX 수수료 할인 가입 →