Loading the catalog…
Loading the catalog…
TL;DR 퀀트는 크게 맞히지 않는다. 조금 유리한 내기를, 파산하지 않을 크기로, 비용보다 크게, 아주 많이 반복한다. 그리고 그 유리함이 진짜인지는 수익률이 아니라 검증 과정으로 판단한다. 좋은 기회로 퀀트 전략 강의를 수강했다. 원래 퀀트 트레이딩이 꿈이었는데, 정작 전략 하나를 처음부터 끝까지 만들어 본 적은 없었다. 이 강의는 실제 전략 하나(미국 ETF 국면 전략)를 규칙부터 검증까지 직접 만들게 했고, 그 과정에서 백테스트가 어떻게 틀리는지를 배웠다. 이 시리즈는 그 강의를 내 말로 다시 정리한 것이다. 이 글은 첫 편으로, 코드 전에 알아야 할 기본 개념만 다룬다. 시리즈 목차 퀀트는 크게 맞히지 않는다 ← 지금 글 전략 하나를 뜯어보기: Inflation Compass와 경제 원리 4개 백테스트는 처음 짜면 틀린다: 4억 원이 8,700만 원이 되기까지 기준을 먼저 적는다: 검증 셋 전부 실패한 전략이 왜 좋은 연구인가 같은 규칙을 한국 ETF로 옮기면? 1. 퀀트는 판단을 사람 대신 규칙에 맡긴다 주식을 사고파는 방법은 크게 둘이다. 재량 투자 : 뉴스, 실적, 감, 경험으로 그때그때 결정한다. 퀀트 투자 : 무엇을 보고 무엇을 살지를 미리 코드로 적어 두고, 규칙이 결정하게 한다. 재량 퀀트 판단 근거 뉴스, 실적, 감 미리 적어 둔 조건 같은 상황이 오면 같은 결정이 나온다는 보장 없음 같은 데이터면 같은 결정 폭락장에서 겁이 나서 바닥 근처에서 팔기 쉬움 조건이 아니면 안 팔고, 조건이 되면 아까워도 판다 틀렸을 때 왜 틀렸는지 재현하기 어려움 어느 줄이 틀렸는지 찾을 수 있음 개발자 입장에서 퀀트의 매력은 마지막 줄이다. 규칙이 코드로 적혀 있으면 과거 데이터로 돌려 볼 수 있고(백테스트), 틀렸을 때 디버깅할 수 있다. 감으로 한 투자는 디버깅이 안 된다. ⚠️ 대신 잃는 것도 있다. 규칙에 없는 일(전쟁, 정책 변화)은 보지 못하고, 틀린 백테스트는 에러 없이 결과만 좋아진다. 그래서 강의에서 계속 강조한 게 "검증이 전략의 일부"라는 말이었다. 2. 크게 맞히지 않는다. 조금 유리한 내기를 아주 많이 반복한다 강의에서 가장 먼저 나온 문장이고, 이 시리즈 전체를 관통하는 문장이다. 한 번 사고 나서 팔 때까지를 내기 한 번이라고 하자. 55% 확률로 1만 원을 벌고 45% 확률로 1만 원을 잃는 내기가 있다. 한 번에 평균 1천 원이 남는다. 대단해 보이지 않는다. 그런데 이걸 반복하면 이렇게 된다. 반복 횟수 55% 내기: 손해로 끝날 확률 50% 내기(유리함 없음) 1번 45.0% 50.0% 10번 26.2% 37.7% 100번 13.5% 46.0% 1,000번 0.1% 48.7% 직접 돌려 보면 몇 줄이다. import numpy as np def prob_of_loss(p_win, n_trials, n_sim=100_000): """n_trials번 반복했을 때 진 횟수가 이긴 횟수보다 많을 확률""" wins = np.random.binomial(n_trials, p_win, size=n_sim) return np.mean(wins < n_trials - wins) for n in [1, 10, 100, 1000]: print(n, f"{prob_of_loss(0.55, n):.1%}", f"{prob_of_loss(0.50, n):.1%}") 표의 숫자는 이항분포다. 1,000번 중 이긴 횟수가 500번 미만일 확률이고, scipy.stats.binom.cdf(499, 1000, 0.55) 로 바로 나온다. 무승부(이긴 횟수 = 진 횟수)는 손해로 치지 않아서, 50% 내기가 10번에 50%가 아니라 37.7%다. 1,000번을 반복하면 손해로 끝날 확률이 0.1%다. 큰 수의 법칙이다. 카지노가 손님 한 명에게는 질 수 있어도 전체적으로는 항상 이기는 것과 같은 구조다. 퀀트 회사가 같은 규칙을 종목 수천 개에 매일 거는 이유가 이거다. 르네상스 테크놀로지의 메달리온 펀드도 거래의 약 50.75%만 맞힌다는 이야기가 유명하다(그레고리 주커먼, 《시장을 풀어낸 수학자》에 나오는 로버트 머서의 말). 이 표에서 세 가지를 읽을 수 있다. 1 유리함이 없으면 횟수는 소용없다. 회색 선을 보면 50% 내기는 1,000번을 해도 절반 가까이 손해로 끝난다. 횟수는 유리함을 실현시켜 줄 뿐, 유리함을 만들어 주지 않는다. 2 내기끼리 독립이어야 한다. 위 계산은 내기끼리 서로 영향을 주지 않는다고 가정한 것이다. 전부 같은 방향의 주식을 사는 건 1,000번의 내기가 아니라 큰 내기 한 번이다. 자산과 전략을 다양하게 가져가는 이유다. 3 한 번의 유리함이 한 번의 비용보다 커야 한다. 매매마다 수수료와 호가 차이를 떼면 55%짜리 내기도 기대값이 음수가 될 수 있다. 이건 백테스트 편에서 숫자로 확인한다. 💡 이번 강의에서 만든 전략은 한 달에 한 번 판단하는 전략이라 23년 동안 판단이 274번뿐이었다. 그래서 결과가 좋아도 운인지 실력인지 따로 검증해야 했다. 그 이야기는 4편에서. 3. 1원칙: 파산하지 않는다 "많이 반복한다"에는 전제가 하나 숨어 있다. 반복할 수 있을 만큼 살아남아 있어야 한다. 한 번 파산하면 그 뒤의 기대값은 전부 0이다. 그래서 트레이딩펌의 1원칙은 수익이 아니라 "파산하지 않는다"이고, 매 거래마다 묻는 질문은 이거다. 내 판단이 틀렸을 때 얼마를 잃는가? 왜 파산이 그렇게 치명적인지는 손실의 비대칭을 보면 된다. 수익률은 더하는 게 아니라 곱한다. +50% 다음에 −50%면 0이 아니라 −25%다. 그래서 잃는 폭이 커질수록 회복이 기하급수적으로 어려워진다. −50%를 되돌리려면 +100%가 필요하고, −90%면 +900%다. 1억이면 50만 원만 잃는다 강의에서 실제 프랍 트레이더 인터뷰 이야기가 나왔는데, 1억이 시드면 한 번에 많아야 50만 원만 잃는 식으로 생각한다고 한다. 거래당 리스크 0.5% 다. 중요한 건 "50만 원어치만 산다"가 아니라 "틀렸을 때 잃는 돈이 50만 원"이라는 점이다. 포지션 크기는 손절 폭에서 거꾸로 계산한다. 포지션 크기 = 허용 손실 ÷ 손절 폭 손절 2% → 50만 원 ÷ 0.02 = 2,500만 원어치 손절 5% → 50만 원 ÷ 0.05 = 1,000만 원어치 변동성이 큰 자산일수록 손절 폭이 넓어지니 자동으로 작게 들게 된다. 0.5%가 왜 그렇게 작은지는 연패를 생각하면 된다. 승률 55%짜리 전략도 거래를 많이 하면 10연패 구간은 온다. 한 번 질 확률이 45%니까 10연패 확률은 0.4510 ≈ 0.03%인데, 1만 번 거래하면 서너 번은 겪는 셈이다. 0.5%씩이면 10연패에 약 −5%, 5%씩이면 약 −40%(회복에 +67%)다. 💡 그런데 진짜 문제는 따로 있다. 백테스트에서 55%라고 나온 전략이 실전에서는 50%인 경우가 흔하다(왜 그런지는 4편에서). 승률이 50%면 10연패 확률은 0.03%에서 0.1%로 세 배가 되고, 그 사이 기대값은 0이라 연패를 만회할 수익도 없다. 그래서 리스크 한도는 백테스트가 말한 승률 이 아니라 내 판단이 틀렸을 때 를 기준으로 잡는다. 1원칙의 질문이 "얼마를 벌까"가 아니라 "틀렸을 때 얼마를 잃는가"인 이유다. 이걸 어긴 사람들 이 원칙을 어긴 대표 사례가 _LTCM_이다. 노벨상 수상자들이 참여한 헤지펀드였고 전략 자체는 합리적이었지만, 레버리지를 극단적으로 썼다가 1998년 러시아 디폴트 한 번에 무너졌다. 평소에 맞는 판단이라도 틀렸을 때의 손실이 감당 불가능하면 안 된다는 교훈이다. 영화 〈빅쇼트〉의 마이클 버리도 방향은 맞았지만 붕괴 전까지 몇 년을 버텨야 했다. 방향이 맞아도 버틸 수 없으면 소용없다. 4. 퀀트 전략은 네 종류다 무엇을 정하느냐로 나뉘고, 종류마다 거는 유리함이 다르다. 종류 정하는 것 주로 거는 유리함 종목 선택 수천 개 회사 중 무엇을 살지 싼 것: 버는 돈에 비해 싼 회사를 모은다 매매 타이밍 정해 둔 종목을 언제 사고 언제 팔지 되돌림: 벌어진 가격 차이가 좁혀지는 쪽에 건다 초단타 1초 안에 아주 작은 가격 차이 호가 차이: 사는 값과 파는 값의 차이 포트폴리오 어떤 종류의 자산을 몇 %씩 들지 국면과 추세: 상황에 맞는 자산, 오르는 중인 것 앞의 "많이 반복" 이야기와 붙여 보면 재미있다. 초단타는 하루에 수천 번 베팅하니 한 번의 유리함이 아주 작아도 된다. 반대로 포트폴리오 전략은 국면이 1년에 몇 번 안 바뀌어서 베팅 횟수가 적고, 그만큼 한 번 한 번의 판단이 정확해야 한다. 성과 ≈ 예측력 × √(독립적 베팅 수) 그리놀드(Grinold)의 액티브 운용의 기본 법칙 이다. 정식으로는 IR = IC × √BR로, IR은 시장 대비 초과수익을 그 변동성으로 나눈 것, IC는 예측과 실제의 상관계수, BR은 1년에 독립적으로 거는 횟수다. 같은 퀀트라도 유리함을 얻는 방식이 다르다는 걸 잘 보여주고, 4편에서 "23년치 데이터인데 독립된 사건은 셋뿐"이라는 이야기가 나올 때 BR이 작다는 뜻으로 다시 등장한다. 강의에서 만든 전략은 네 번째, 포트폴리오 전략이었다. 🧠 오늘 해야 할 사고: 싼 데는 이유가 있다. 당연히 비싼 데도 이유가 있다. 싸 보이는 걸 샀는데 계속 싼 채로 있는 걸 가치 함정이라고 한다. 시장이 그 가격을 매긴 데는 이유가 있을 수 있다. 그래서 퀀트는 어떤 유리함을 발견했을 때 "이 가격 차이는 왜 존재하고, 왜 아직 안 사라졌나"를 설명할 수 있어야 한다. 설명 못 하는 유리함은 백테스트의 우연일 가능성이 크다. 같은 맥락에서 "매수는 기술, 매도는 예술"이라는 말도 나왔다. 사는 건 신호가 명확해서 연구가 되는데, 파는 건 선택지가 많아 제일 어렵다는 뜻이다. 퀀트는 이걸 진입할 때 청산 규칙(손절, 익절, 시간 청산, 신호 소멸)을 미리 정해 두는 걸로 해결한다. 5. 전략은 다섯 가지로 이루어진다 강의에서 "완성"의 정의가 명확했다. 아래 다섯이 다 있고, 이 전략이 언제 이기고 언제 지는지 말할 수 있으면 완성이다. 데이터 → 규칙 → 비중 → 백테스트 → 검증 ↑ | └── 실패하면 규칙으로 돌아간다 무엇을 내용 데이터 가격, 거래량, 재무제표, 물가·금리 같은 경제 지표. 전략의 재료 규칙 "싸면 산다"가 아니라 컴퓨터가 그대로 실행할 수 있는 문장. 매도 규칙까지 비중 어떤 자산에 얼마를 넣을지. 같은 종목을 골라도 비중에 따라 결과가 크게 다르다 백테스트 규칙을 과거에 돌려 "이렇게 했다면 어땠을까"를 계산. 처음 짜면 반드시 틀린다 검증 백테스트 결과가 운인지 실력인지 가리는 단계. 사실상 가장 중요하다 ML을 해본 사람이면 익숙한 구조다. 데이터 → 모델 → 학습 → 평가와 같다. 학습 데이터에만 잘 맞는 모델이 과적합이듯, 과거에만 잘 맞는 전략이 과최적화다. 다른 점은 금융 데이터가 시계열이라는 것. 무작위로 섞어서 나누면 미래 정보가 새어 들어가기 때문에 반드시 시간 순서를 지켜 나눠야 한다. 결과를 읽을 때 쓰는 용어 셋 전략 결과는 보통 세 숫자로 읽는다. 강의에서 만든 전략과 시장(S&P 500)의 실제 숫자를 같이 적어 둔다. 용어 뜻 시장 전략 복리 수익률 (CAGR) 몇 배가 됐는지를 연평균으로 11% 22% 최대낙폭 (MDD) 최고점에서 가장 많이 깎인 폭 −55% −24% Sharpe 번 돈 ÷ 출렁임 0.66 1.11 복리 수익률 은 "매년 몇 %씩 꾸준히 불었다고 치면 지금 금액이 되는가"다. 계산은 이렇다. 복리 수익률 = (끝 금액 ÷ 시작 금액) ^ (1 ÷ 년수) − 1 예: 100만 원 → 8,724만 원, 22.8년 (8724 ÷ 100) ^ (1 ÷ 22.8) − 1 = 0.217 → 연 21.7% 단순 평균과 다르다는 게 중요하다. 100만 원이 +50%로 150만 원이 됐다가 −50%로 75만 원이 되면, 수익률 평균은 0%지만 실제로는 2년 만에 −25%다. 복리 수익률로는 연 약 −13%. 수익률은 더하는 게 아니라 곱하기 때문이다. 최대낙폭 은 "이 전략을 하면 최악의 경우 얼마나 빠지는 걸 견뎌야 하나"다. 파산 원칙과 직접 연결된다. Sharpe 는 수익률을 변동성으로 나눈 것이다. 수익률이 같아도 덜 출렁이는 전략이 높다. 대략 1 이상이면 괜찮고 2 이상이면 매우 좋은 편이다. 원래 정의는 (수익률 − 무위험 이자) ÷ 변동성인데, 이 강의에서는 이자를 빼지 않고 계산했다. 정식으로 하면 시장·전략 모두 조금 내려간다. 셋은 항상 같이 봐야 한다. 복리 수익률만 높고 최대낙폭이 크면 버티기 어렵고, Sharpe가 높아도 레버리지를 과하게 쓰면 LTCM이 된다. 정리 퀀트는 조금 유리한 내기를 찾아서, 파산하지 않을 크기로, 비용보다 크게, 많이 반복한다. 그리고 그 유리함이 진짜인지는 성과가 아니라 검증 과정으로 판단한다. 다음 글에서는 강의에서 실제로 만든 전략(Inflation Compass)을 다룬다. "지금 오르는 장인가"와 "물가가 높고 다시 오르는 중인가"라는 두 질문으로 미국 ETF 넷 중 하나를 고르는 전략인데, 왜 그 네 개인지를 설명하는 경제 원리 네 가지가 핵심이다. 그 다음이 이 시리즈에서 가장 재미있는 부분인 "백테스트는 처음 짜면 틀린다" 로, 100만 원이 4억 원이 됐다가 8,700만 원으로 돌아오는 과정을 코드와 함께 본다.
What RADAR observed and classified to build this opportunity. It is what the source published, not a verification that the offer is still active.
[🏦퀀트 제대로 입문하기 1] 퀀트는 크게 맞히지 않는다. TL;DR 퀀트는 크게 맞히지 않는다. 조금 유리한 내기를, 파산하지 않을 크기로, 비용보다 크게, 아주 많이 반복한다. 그리고 그 유리함이 진짜인지는 수익률이 아니라 검증 과정으로 판단한다. 좋은 기회로 퀀트 전략 강의를 수강했다. 원래 퀀트 트레이딩이 꿈이었는데, 정작 전략 하나를 처음부터 끝까지 만들어 본 적은 없었다. 이 강의는 실제 전략 하나(미국 ETF 국면 전략)를 규칙부터 검증까지 직접 만들게 했고, 그 과정에서 백테스트가 어떻게 틀리는지를 배웠다. 이 시리즈는 그 강의를 내 말로 다시 정리한 것이다. 이 글은 첫 편으로, 코드 전에 알아야 할 기본 개념만 다룬다. 시리즈 목차 퀀트는 크게 맞히지 않는다 ← 지금 글 전략 하나를…
Open source