AlphaBench · 사전 조사
주가를 예측해서 돈을 번 사람이 실제로 있는지, 있다면 어떻게 벌었는지 확인했다. 논문과 정부 문서를 찾아 읽고, 우리가 직접 받은 시세 데이터로 같은 질문을 다시 던졌다. 결론부터 말하면 성공 사례는 있지만 그 성공을 만든 조건이 개인에게는 없다.
본문에 반복해서 나오는 말들을 먼저 정리한다. 이것만 알면 나머지는 그냥 읽힌다.
성공한 곳과 실패한 곳을 나누는 것은 모델의 정교함이 아니었다. 거래에 드는 비용, 빌릴 수 있는 돈의 규모, 그리고 그 방법으로 굴릴 수 있는 돈의 한계 이 세 가지였다. 그리고 이 셋은 전부 개인과 기관을 가르는 지점이다.
우리 데이터로 직접 계산한 결과도 같은 방향이었다. 1분봉으로 방향을 맞혀 돈을 벌려면 100번 중 56번을 맞혀야 한다. 그런데 이 분야 최고 수준의 연구가 인정하는 한계가 100번 중 55번이다. 봉을 5분에서 30분으로 늘리면 필요한 적중률이 100번 중 51번에서 53번으로 떨어져 비로소 가능한 범위에 들어온다. 이것이 이번 조사에서 나온 가장 실행 가능한 결론이다.
르네상스 테크놀로지라는 회사의 메달리온 펀드가 가장 자주 언급된다. 30년 동안 수수료를 떼기 전 연 66%, 떼고 나서 39%를 벌었다고 알려져 있다. 이 숫자를 다룰 때 거의 언급되지 않는 사실이 하나 있다.
66%라는 숫자의 출처는 기자가 쓴 책의 부록이다. 학술 논문으로 인용되는 분석조차 그 책에서 숫자를 가져왔다. 회계법인이 검증한 적이 한 번도 없다. 그 분석을 쓴 학자 본인도 이 성과를 설명할 이론이 아직 없다고 적었다.
반면 이 펀드가 무엇을 했는지는 미국 상원 조사 보고서에 남아 있다. 은행과 특수한 계약을 맺어 자기 돈의 20배까지 빌려서 투자했다. 보고서는 이런 조건을 다른 어떤 방법으로도 얻을 수 없었다고 적었다. 하루에 10만 건 넘게, 1년에 3천만 건을 거래했다.
개인이 증권사에서 빌릴 수 있는 한도는 자기 돈의 2배다. 20배는 개인에게 판매되는 상품이 아니다.
같은 방법을 남이 따라 할 수 있느냐는 질문에는 결정적인 증거가 있다. 외부의 비판이 아니라 이 회사 자신이 만든 증거다. 같은 회사, 같은 연구원, 같은 데이터로 운용한 두 펀드가 2020년에 이렇게 갈렸다.
| 연도 | 메달리온 | RIEF | 차이 |
|---|---|---|---|
| 2008 | +98.2% | −17% | 115%포인트 |
| 2020 | +76% | −22.6% | 99%포인트 |
규모를 키울 수 있는 쪽이 손실을 본 해에, 규모를 묶어둔 쪽이 76%를 벌었다. 이 회사는 업계에서 가장 비싼 수수료를 받으면서도 메달리온에는 외부 돈을 받지 않고, 매년 번 돈을 직원들에게 강제로 돌려줘서 규모가 커지지 않게 한다. 돈을 얼마든지 더 모을 수 있는 회사가 그러지 않기로 한 것이다. 그 결정 자체가 이 방법으로 굴릴 수 있는 돈에 한계가 있다는 증거다.
제인스트리트는 채권을 발행하기 때문에 감사받은 재무제표가 공개된다. 2024년 거래로 벌어들인 순수익이 205억 달러였다. 씨티그룹과 뱅크오브아메리카의 거래 부문 수익을 넘는 금액이다. XTX마켓츠도 감사받은 실적을 공개하는데 2025년 순수익이 39억 파운드였다. 직원은 수백 명 규모다.
중요한 것은 이들이 무엇으로 버느냐다. 예측이 아니다. 이들은 사려는 사람과 팔려는 사람 사이에서 양쪽에 가격을 제시하고, 그 작은 가격 차이를 가져가는 일을 한다. 어떤 회사 대표는 개별 거래에서 이기는 비율이 51%에서 52% 정도라고 공개적으로 말했다.
이것이 성공 사례의 실제 구조다. 50%보다 아주 조금 높은 확률을 엄청난 거래 횟수에 곱한다. 이길 수 있는 이유는 예측이 정확해서가 아니라, 그 정도 확률로도 이익이 남을 만큼 거래 비용이 낮기 때문이다. 개인은 그런 비용 조건을 얻을 수 없다.
예외가 하나 있다. XTX는 속도가 아니라 예측의 정확도로 경쟁한다고 공개적으로 밝힌 회사다. 예측으로 이기는 것이 불가능하지는 않다는 뜻이다. 다만 그 회사는 유럽에서 손꼽히는 규모의 연산 설비를 갖추고 그렇게 한다.
실패 사례가 중요한 이유는 막는 방법이 각각 다르기 때문이다.
모델이 가정한 것이 무너진다. LTCM이라는 펀드는 1998년 8월 한 달에 자기 자본의 44%를 잃었다. 미국 정부 조사 보고서는 원인을 분명히 적었다. 이 펀드의 위험 계산은 평온했던 최근 몇 년만 보고 만들어졌고, 시장이 급할 때도 원하는 가격에 팔 수 있다고 가정했다. 그 가정들이 한꺼번에 틀렸다.
같은 생각을 하는 사람이 너무 많아진다. 2007년 8월, 비슷한 방식으로 투자하던 펀드들이 3일 만에 6.85%를 잃었다. 평소 하루 변동폭의 12배에 해당하는 손실이었다. 그런데 4일째에 5.92%가 되돌아와 그 주 전체로는 0.43% 손실에 그쳤다. 사흘째에 겁이 나서 정리한 쪽은 25% 손실을 확정했고, 버틴 르네상스는 그해 85.9% 수익으로 마감했다.
프로그램 배포를 잘못한다. 나이트캐피털이라는 회사는 2012년 8월 1일 45분 만에 4억 6천만 달러를 잃었다. 규제기관 조사서에 경위가 남아 있다. 2003년부터 쓰지 않던 옛날 코드를 지우지 않고 놔뒀는데, 2005년에 그 코드를 멈추게 하는 장치가 끊어졌고 아무도 확인하지 않았다. 그리고 서버 8대 중 1대에 새 코드를 올리는 것을 빠뜨렸다. 수학은 아무 관련이 없었다.
정상 작동하는 프로그램끼리 사고를 만든다. 2010년 미국 증시가 몇 분 만에 폭락한 사건이 있었다. 대량 매도 프로그램이 직전 1분 거래량의 9%씩 팔도록 설정돼 있었는데, 다른 프로그램들이 물량을 주고받으며 거래량을 늘리자 이 프로그램이 매도 속도를 오히려 높였다. 오류도 악의도 없었다.
자주 잘못 알려진 사실
2010년 폭락을 한 영국인 트레이더가 일으켰다는 이야기가 널리 퍼져 있다. 그는 시세를 조작한 혐의를 인정했을 뿐이고, 미국 정부 합동 조사 보고서는 폭락의 원인을 그에게 돌리지 않았다.
이 부분의 증거는 여러 나라에서, 여러 시대에, 여러 상품에서 같은 결과를 보여준다. 조사 대상이 크고 방법이 깨끗해서 반박하기 어렵다.
브라질에서 주가지수 선물을 거래한 개인 전부를 조사했다. 2013년부터 2015년 사이에 시작한 사람을 2017년까지 추적했다. 1년 넘게 계속한 사람들 중 97%가 돈을 잃었다. 최저임금만큼이라도 번 사람은 1.1%, 은행 신입사원 월급만큼 번 사람은 0.5%였다.
이 조사가 결정적인 이유는 1년 넘게 계속한 사람만 골랐다는 점이다. 일찍 포기해서, 덜 배워서 실패했다는 반론이 통하지 않는다. 끝까지 한 사람들 중에서 97%가 잃었다.
대만에서 매일 주식을 사고파는 사람 연 45만 명을 15년간 추적했다. 수수료를 빼고도 꾸준히 시장보다 잘한 사람은 1%가 안 됐다.
다만 이 연구의 진짜 발견은 비관이 아니다. 상위 500명은 그 뒤에도 계속 잘했다. 실력은 실제로 있고, 유지되고, 측정할 수 있다. 문제는 그 비율이 1% 미만이고, 자기가 거기 속하는지 미리 알 방법이 없다는 것이다.
유럽 세 나라의 감독기관이 각각 조사한 결과, 개인이 차액결제 상품을 거래한 계좌의 74%에서 89%가 손실이었다. 프랑스 조사에서 특히 중요한 발견이 있다. 오래 거래한 사람일수록, 많이 거래한 사람일수록 손실률이 더 높았다. 경험이 쌓여서 나아지는 흐름이 관찰되지 않았다.
이 질문에 대한 가장 좋은 증거는 퀀토피안이라는 회사가 자기 사용자를 대상으로 한 연구다. 실제로 돈을 넣고 6개월 이상 돌린 888개의 프로그램을 분석했다.
과거 시험에서 좋았던 프로그램이 실제로도 좋았는지 확인했더니, 둘 사이에 관계가 거의 없었다. 설명력이 0.025 미만이었다. 과거 성적으로 미래를 예측할 수 없다는 뜻이다.
더 나쁜 발견도 있다. 과거 시험을 많이 돌려본 사람일수록 시험 성적과 실제 성적의 차이가 더 컸다. 많이 시험할수록 과거에만 맞는 모델을 고르게 된다는 뜻이다.
이후 결말도 증거다. 퀀토피안은 2020년 2월 투자자 돈을 돌려주고 그해 11월 문을 닫았다. 창업자는 최소 2년간 성과가 나지 않았다고 밝혔다. 비슷한 서비스를 하던 퀀트커넥트도 자사 프로그램 선정 방식이 과거에만 맞는 모델을 고르는 결과를 낳았다고 스스로 인정하며 해당 사업을 접었다. 개인이 만든 전략을 모아 돈을 벌려던 가장 큰 두 시도가 같은 이유로 실패했다.
미국 주식 3만 종목을 60년치 데이터로 분석하며 13가지 방법을 겨루게 했다. 가장 좋은 성적을 낸 인공신경망의 설명력이 한 달 기준 0.0040이었다. 참고로 모든 변수를 그냥 집어넣은 단순 계산은 오히려 손해를 봤다.
이 논문이 정한 기준을 기억할 필요가 있다. 가장 많은 자원을 투입한 연구가 한 달 뒤 주가 움직임의 99.6%를 설명하지 못했다.
가장 도움이 된 정보는 최근 가격 흐름, 얼마나 쉽게 사고팔 수 있는지, 그리고 가격이 얼마나 출렁이는지였다. 회사의 재무제표 숫자는 명성에 비해 기여가 작았다.
논문으로 발표된 97개의 수익 패턴을 추적했다. 논문이 다룬 기간이 끝난 뒤에는 수익이 26% 줄었고, 논문이 공개된 뒤에는 58% 줄었다. 26%는 과거 데이터에 우연히 맞았던 부분이고, 나머지 32%포인트는 그 논문을 읽은 사람들이 따라 하면서 사라진 몫이다.
가장 뼈아픈 부분은 어떤 것이 많이 줄었느냐다. 과거 성적이 좋았던 패턴일수록 더 많이 사라졌다. 그리고 살아남은 것은 거래가 잘 안 되는 작은 종목에 몰려 있다. 큰돈을 넣을 수 없는 곳이다.
학계가 발표한 수익 패턴이 316개가 넘는다. 이렇게 많이 시도하면 그중 일부는 순전히 우연으로도 좋아 보인다. 그래서 새 패턴을 인정하는 기준을 훨씬 엄격하게 올려야 한다는 것이 이 연구의 결론이다.
다른 연구진이 452개 패턴을 다시 검증했더니 65%가 통상적인 기준조차 통과하지 못했다. 엄격한 기준을 적용하면 82%가 탈락했다. 대부분은 규모가 아주 작은 종목이 만들어낸 착시였다.
반대 의견도 있다
다른 연구진은 319개 패턴을 다시 계산해서 대부분이 재현된다고 보고했다. 93개국 데이터로도 확인된다는 연구도 있다. 두 이야기를 함께 받아들이는 것이 맞다. 패턴 자체는 대체로 존재한다. 문제는 조작이 아니라, 거래 비용을 빼면 남는 것이 없고 큰돈을 넣을 수도 없다는 점이다.
인공지능이 찾아낸 신호로 실제 거래를 하려는 사람에게 가장 중요한 논문이다. 그 신호의 수익은 거의 전부 아주 작은 종목, 부실한 회사, 시장이 크게 출렁이는 시기에서 나왔다. 그 셋 중 하나만 제외해도 수익이 크게 줄었다.
여기에 현실적인 거래 비용을 넣으면 더 나빠진다. 인공지능이 만든 전략은 사고파는 횟수가 매우 많기 때문이다. 요약하면 논문에 실린 좋은 성적은 실제 계좌로는 대부분 얻을 수 없다.
논문보다 더 정직한 기준이 있다. 수천 팀이 잘 정리된 데이터로 겨룬 공개 대회의 최종 성적이다. 여기서는 나중에 공개되는 데이터로 채점하기 때문에 과거에만 맞춘 모델이 걸러진다.
| 대회 | 참가 팀 | 측정 방식 | 1등 성적 |
|---|---|---|---|
| 제인스트리트 2024 | 2,781 | 설명력 | 0.0139 |
| 뉴메라이 실거래 | — | 상관관계 | 0.015 |
| 유비퀀트 2022 | — | 상관관계 | 0.1270 |
| G리서치 암호화폐 | 1,946 | 상관관계 | 0.0326 |
제인스트리트 대회의 0.0139가 짧은 시간 단위 예측의 현실적인 한계다. 가격 움직임의 1.4%만 미리 알아맞혔다는 뜻이다. 8등을 한 참가자가 무엇이 성적을 올렸는지 공개했는데, 모델 구조를 바꾼 것보다 새 데이터가 들어올 때마다 모델을 다시 학습시킨 것이 가장 크게 기여했다.
암호화폐 대회가 남긴 교훈
이 대회 1등 성적이 0.0326이었다. 그런데 직전 15분 동안 오른 만큼 앞으로 내린다고 가정한 한 줄짜리 계산이 0.029를 기록했다. 1,946개 팀이 쏟아부은 모든 노력이 한 줄 계산보다 0.0036 나았을 뿐이다. 아주 단순한 방법을 먼저 만들어 비교하지 않으면, 자기가 무엇을 얻었는지 알 수 없다.
미국 주식 50종목과 상장지수펀드 50종목으로 12개월간 실시간으로 진행했다. 예측을 얼마나 잘하는지와 실제로 얼마나 버는지를 따로 채점했다. 226개 팀이 참가했다.
예측 부문에서 기준 성적을 넘은 팀이 23.3%, 수익 부문에서 넘은 팀이 28.8%, 둘 다 넘은 팀이 6.7%였다. 12개월 내내 수익 기준을 넘긴 팀은 한 팀도 없었다.
그리고 실무적으로 가장 중요한 숫자가 여기 있다. 예측을 잘하는 것과 돈을 버는 것 사이의 관계가 0.04였다. 거의 관계가 없다는 뜻이다.
이 결과는 무엇을 만들어야 하는지에 직접적인 영향을 준다. 예측이 나온 뒤 얼마를 어느 종목에 넣을지 정하는 단계를, 예측 모델에 딸린 부속이 아니라 따로 평가하는 독립된 단계로 만들어야 한다.
지금까지는 남의 데이터였다. 토스증권에서 받은 SOXL과 TQQQ의 1분봉 1년치, 70만 7,510개로 같은 질문을 직접 던졌다. 두 종목 모두 미국 상장지수펀드이고, 지수가 움직인 것의 3배로 움직이도록 설계된 상품이다.
계산 1 — 방향은 예측되지 않는다
1분 뒤에 오를지 내릴지를 직전 움직임으로 맞혀봤다. 적중률이 44.6%와 41.7%였다. 아무 정보 없이 찍은 50%보다 오히려 낮다. 방금 오른 뒤에는 내릴 확률이 조금 높다는 뜻이다.
그런데 이 성질로는 돈을 벌 수 없다. 이 신호로 기대할 수 있는 이익이 거래 금액의 0.01%도 안 되는데, 한 번 사고팔 때 나가는 비용이 0.034%에서 0.056%다. 비용이 이익의 몇 배다. 이것은 예측 능력이 아니라 사자 가격과 팔자 가격이 번갈아 찍히면서 생기는 착시다.
계산 2 — 얼마나 출렁일지는 예측된다
방향 말고 움직임의 크기를 예측해봤다. 설명력이 0.21에서 0.26이 나왔다. 방향 예측이 사실상 0인 것과 완전히 다르다. 크게 움직인 직후에는 계속 크게 움직이고, 조용한 뒤에는 계속 조용하다는 성질이 뚜렷하게 있다.
이것으로 할 수 있는 일은 방향을 걸고 베팅하는 것이 아니라, 얼마를 넣을지 정하고 위험을 관리하는 것이다. 우리 데이터가 실제로 뒷받침하는 유일한 신호다.
두 가지가 서로 반대로 작용한다. 거래 비용은 한 번 사고팔 때마다 똑같이 나가는데, 봉이 길수록 그 안에서 가격이 더 많이 움직인다. 그래서 봉이 길수록 본전을 맞추기 위해 필요한 적중률이 내려간다. 반대로 봉이 길수록 1년치 데이터에 들어 있는 표본 수가 줄어서, 실력인지 운인지 구분하기가 어려워진다.
| 봉 | 1년 표본 수 | 평균 움직임 | 필요한 적중률 | 증명 가능 | 판정 |
|---|---|---|---|---|---|
| 1분 | 98,137 | 0.44% | 56.4% | 50.5% | 비용이 움직임을 다 먹는다 |
| 5분 | 19,828 | 0.97% | 52.9% | 51.1% | 가장 좋다 |
| 15분 | 6,776 | 1.66% | 51.7% | 51.8% | 쓸 수 있다 |
| 30분 | 3,513 | 2.27% | 51.2% | 52.5% | 쓸 수 있다 |
| 1시간 | 2,007 | 3.01% | 50.9% | 53.3% | 표본이 부족해지기 시작 |
| 하루 | 250 | 8.62% | 50.3% | 59.5% | 1년으로는 증명할 수 없다 |
1분봉이 안 되는 이유는 신호가 없어서가 아니라 비용을 못 넘어서다. 100번 중 56.4번을 맞혀야 본전인데, 훨씬 자세한 데이터를 쓰는 최고 수준 연구도 51번에서 55번 사이를 보고한다. 그보다 높은 숫자가 나오면 계산 과정에 미래 정보가 섞여 들어간 것으로 의심하라는 것이 이 분야의 공통된 조언이다.
하루 단위가 안 되는 이유는 정반대다. 필요한 적중률은 50.3%로 아주 낮지만, 1년에 250개뿐인 표본으로는 운과 실력을 구분하는 데 59.5%가 필요하다. 증명할 수 없는 실력은 없는 실력과 같다. 하루 단위로 가려면 최소 5년에서 10년치 데이터가 있어야 한다.
계산 3 — 논문에 실린 패턴이 우리 데이터에서는 나오지 않았다
2018년에 발표된 논문 중에 장 시작 30분 동안의 움직임이 장 마감 30분의 움직임을 예측한다는 연구가 있다. 미국 대표 지수를 20년치 데이터로 분석한 결과였다.
우리 데이터 251거래일로 같은 계산을 했더니 논문과 정반대 방향이 나왔다. 논문대로 따라 하는 전략은 손실이었고, 그 손실조차 우연이 아니라고 말할 수 없는 수준이었다.
1년치 두 종목은 표본이 적어서 이 결과만으로 논문이 틀렸다고 할 수는 없다. 다만 방향은 앞서 본 연구, 즉 논문이 공개되면 그 패턴이 58% 사라진다는 결과와 일치한다. 남의 논문에서 가져온 방법을 그대로 쓰지 않고 우리 데이터로 먼저 확인하는 절차를 코드로 만들어뒀다.
계산 4 — 거래량은 문제가 되지 않는다
두 종목의 하루 평균 거래 금액이 SOXL은 21억 달러, TQQQ는 29억 달러다. 시장에 충격을 주지 않는 선으로 흔히 쓰는 기준을 적용해도 한 번에 2천만 달러 넘게 거래할 수 있다.
개인 규모에서는 사고파는 데 아무 제약이 없다는 뜻이다. 2절에서 본 대형 운용사들의 가장 큰 고민이 우리에게는 없다. 이번 조사에서 나온 몇 안 되는 긍정적인 발견이다. 우리의 제약은 거래 비용과 신호의 품질이다.
4절에서 본 0.025라는 숫자는 증상이다. 원인은 수학적으로 밝혀져 있다.
5년치 데이터로 서로 다른 설정을 45가지만 시험해보면, 실력이 전혀 없는 전략에서도 훌륭해 보이는 성적이 나온다. 2년치라면 7가지면 충분하다. 많이 시험하면 그중 하나는 우연히 좋아 보이기 때문이다.
더 나쁜 것이 있다. 과거에만 맞춘 전략은 앞으로 본전이 아니라 손실을 낼 가능성이 높다. 우연히 좋아 보이는 것을 고르는 과정이, 앞으로 잃을 전략을 적극적으로 골라내는 과정이 되기 때문이다.
저자들의 핵심 지적은 이것이다. 논문과 상품 소개서의 과거 시험 결과에서 거의 항상 빠져 있는 정보가 몇 번 시험했는지다. 그 숫자가 없으면 성적을 해석할 방법이 없다.
| 데이터 기간 | 괜찮아 보이는 성적 | 아주 좋아 보이는 성적 |
|---|---|---|
| 2년 | 7번 | 약 243번 |
| 5년 | 45번 | 약 146,000번 |
| 10년 | 724번 | 약 44억번 |
2년치 데이터에서 나온 아주 좋은 성적은, 설정을 바꿔가며 반나절만 돌리면 저절로 나온다. 같은 성적이 10년치에서는 시험만으로 만들어내기 어렵다. 우리 데이터는 1년치이므로 시험할 수 있는 횟수가 아주 적다는 뜻이다.
이 방법론들에 대한 균형 잡힌 평가
위 연구자가 만든 검증 도구들은 널리 쓰이지만 다른 연구자가 독립적으로 검증한 사례는 놀랄 만큼 적다. 많이 인용된다는 것과 검증됐다는 것은 다르다. 반박이 없다는 사실을 옳다는 뜻으로 읽으면 안 된다.
구체적인 한계도 있다. 이 도구들은 시험 횟수를 알아야 작동하는데, 그 숫자는 본인만 알고 아무도 확인할 수 없다. 포기한 아이디어, 다시 조정한 설정, 바꾼 데이터 범위가 전부 시험 횟수에 들어가야 하지만 대개 세지 않는다.
더 중요한 지적이 있다. 이 도구들은 마지막 평가 단계에서 문제를 잡아내는데, 과거에만 맞추는 일은 그보다 훨씬 앞 단계에서 이미 일어난다. 500가지 설정을 놓고 이 검증을 돌리면, 잡아내려던 문제를 다시 불러들이게 된다.
여기서 따라오는 규칙이 하나 있다. 검증 도구가 잘 작동하는지를 그 도구가 만든 지표로 확인하면 순환논증이다. 한 번도 사용하지 않고 남겨둔 기간을 따로 떼어 두거나, 실제로 돈을 넣지 않고 모의로 돌려보는 등 별도의 기준이 필요하다.
거래 비용 추정치는 연구마다 열 배 가까이 차이가 난다. 대형 운용사 소속 연구자들은 17년간 실제로 체결한 1.7조 달러어치를 분석해 평균 비용을 0.1%로 보고했다. 반면 학계 연구는 전형적인 전략의 왕복 비용이 0.5%를 넘는다고 보고했다.
둘 다 맞을 수 있고, 그 차이 자체가 발견이다. 얼마나 잘 체결하느냐가 크고 지속적인 차이를 만든다는 뜻이다. 그리고 개인은 0.1% 쪽이 아니라 0.5% 쪽에서 거래한다.
이 논쟁의 결론은 세 번째 연구가 냈다. 120개 수익 패턴을 단계별로 깎아 내려간 결과다.
| 조건 | 한 달 수익 |
|---|---|
| 논문에 실린 그대로 | 0.66% |
| 거래 비용을 뺀 값 | 0.38% |
| 논문 공개 이후 기간 | 0.13% |
| 2005년 이후 기간 | 0.08% |
| 큰 종목 위주로 담았을 때 | 0.04% |
0.66%에서 0.04%로 줄어든다. 그리고 저자들은 공매도에 드는 비용만 넣어도 남은 수익이 사라진다고 덧붙였다.
공매도를 포함한 전략을 시험한다면
주식을 빌려서 파는 데 드는 비용은 종목마다 크게 다르다. 미국 주식의 80%는 연 0.31% 이하지만, 가장 비싼 10%는 연 5.68%다. 그런데 잘 알려진 여덟 개 수익 패턴이 빌리는 비용이 싼 80% 종목에서는 사실상 사라지고, 비싼 종목에서만 크게 나타났다.
이런 경우 빌리는 비용은 수익을 줄이는 요소가 아니라, 그 패턴의 정체 자체다.
잘 알려지지 않은 검증 방법이 하나 있다. 어떤 전략이 앞으로 겪을 최대 손실 폭은 그 전략의 성적과 기간만으로 이론적으로 계산된다. 과거 시험에서 나온 손실 폭이 이 계산값과 크게 다르면 무언가 잘못된 것이다.
예를 들어 1년에 10% 정도 오르내리는 전략이 괜찮은 성적을 낸다면, 3년 동안 고점 대비 13%, 10년 동안 19% 정도 떨어지는 시기를 겪는 것이 정상이다. 과거 시험에서 손실 폭이 이보다 훨씬 작게 나왔다면 그것은 장점이 아니라 경고다. 운 좋은 구간만 봤거나 계산에 미래 정보가 섞였을 가능성이 있다.
1분봉 가격 데이터로 미국 상장지수펀드를 예측하는 문제에서는, 복잡한 인공신경망이 출발점으로 적절하지 않다. 근거가 여러 갈래로 모인다.
인공지능이 금융에서 확실히 이기는 영역은 있다. 주문이 오가는 기록을 초 단위 이하로 들여다보는 영역이다. 한 연구는 나스닥의 주문 기록 수십억 건으로 학습한 모델이 개별 종목별로 만든 모델보다 낫고, 학습에 쓰지 않은 종목에도 통한다는 것을 보였다. 데이터 양이 압도적이고 신호가 실제로 존재하기 때문이다. 우리에게는 그 데이터가 없다.
| 역할 | 선택 | 이유 |
|---|---|---|
| 예측 모델 | LightGBM | 들인 노력 대비 성적이 가장 안정적이다 |
| 검증 | purgedcv | 미래 정보가 새는 것을 막는 검증 방식을 갖췄다 |
| 정답 만들기 | finmlkit | 가격이 목표에 닿는 시점 기준으로 정답을 만든다 |
| 지표 계산 | TA-Lib | 설치가 간편해졌고 가장 널리 검증됐다 |
| 과거 시험 | vectorbt | 설정을 대량으로 바꿔가며 빠르게 시험할 수 있다 |
| 실거래 연결 | NautilusTrader | 개발이 가장 활발하고 시험과 실거래가 같은 코드로 돌아간다 |
| 비중 배분 | skfolio | M6 결과에 따라 별도로 평가할 단계다 |
쓰지 말아야 할 것
널리 추천되는 도구 중 상당수가 이미 죽었거나 유료로 바뀌었다. zipline은 2020년 이후 개발이 멈췄고 backtrader는 2023년 4월 이후 멈췄다. mlfinlab은 유료로 전환된 뒤 설치 파일이 모두 삭제돼 설치조차 되지 않는다. pandas-ta는 저장소가 삭제되고 유료화됐으므로 이름이 비슷한 무료 대체품을 써야 한다.
FinRL은 특히 주의해야 한다. 배당을 반영한 가격으로 매매하면서 배당을 반영하지 않은 지수와 비교하는 오류가 아직 고쳐지지 않았다. 이 하나만으로 연 1.92%의 공짜 이득이 생긴다. 이 도구로 만든 성적표는 그만큼 부풀려져 있다.
5분에서 30분 단위를 주 대상으로 한다. 1분봉은 계속 수집하되 합쳐서 쓴다. 정규 거래시간 외 데이터는 제외한다. 그것만으로 거래 비용 추정치가 0.094%에서 0.056%로 내려간다.
비용을 뺀 수익으로만 평가한다. 비용을 빼기 전 숫자는 믿지 않는다. 우리 계산에서 유일하게 보이던 신호가 비용을 넣는 순간 사라졌다. 이것을 기본값으로 삼는다.
몇 번 시험했는지 강제로 기록한다. 포기한 설정까지 모두 남기고, 나중에 고칠 수 없게 만든다. 우리 데이터는 1년치라서 시험할 수 있는 횟수가 아주 적다는 사실을 화면에 먼저 보여주는 것이 맞다.
아주 단순한 방법을 먼저 이긴다. 직전 값을 그대로 쓰는 방법과 가장 단순한 계산을 항상 함께 돌린다. 암호화폐 대회에서 한 줄 계산이 1등과 거의 같은 성적을 냈고, 다른 대회에서는 68초 만에 학습이 끝나는 단순한 방법이 우승했다.
검증 도구를 그 도구로 검증하지 않는다. 한 번도 쓰지 않고 남겨둔 기간을 따로 떼어둔다. 정답을 무작위로 섞어서 돌렸을 때 좋은 성적이 나오면 계산 과정에 미래 정보가 섞인 것이므로, 이 확인을 기본으로 넣는다.
얼마를 넣을지 정하는 단계를 따로 평가한다. M6 대회에서 예측 정확도와 실제 수익의 관계가 0.04였다. 예측 모델에 딸린 부속으로 두면 안 된다.
움직임의 크기를 예측하는 쪽을 버리지 않는다. 방향은 안 되지만 크기는 설명력 0.21에서 0.26으로 확실히 예측된다. 얼마를 넣을지 정하고 위험을 관리하는 데 실질적인 가치가 있고, 우리 데이터가 실제로 뒷받침하는 유일한 신호다.
남의 논문에서 가져온 방법은 먼저 확인한다. 장중 패턴 검증을 이미 코드로 만들어뒀다. 우리 데이터에서 통과한 것만 쓴다.
마지막으로 하나를 분명히 해둘 필요가 있다. 이 보고서의 증거는 개인이 이런 방식으로 돈을 벌 수 없다고 말하지 않는다. 대만 연구는 실력이 실제로 있고, 유지되고, 측정할 수 있다는 것을 보여줬다. 다만 그런 사람이 1% 미만이고, 자기가 거기 속하는지 미리 알 방법이 없다는 것이 문제다.
그래서 알 수 있게 만드는 것이 이 플랫폼의 목적이 되어야 한다. 돈을 버는 모델을 찾는 것보다, 찾았다고 착각하지 않게 막아주는 장치를 먼저 만드는 편이 낫다.