23조의 꿈

랭보가 23조 백테스트 결과를 보고 놀라는 모습

랭보는 모니터 세 개를 앞에 두고 앉아 있었다냥. 왼쪽엔 주가 그래프, 가운데엔 코드, 오른쪽엔 백테스트 결과. 손가락이 키보드 위를 춤추듯 움직였다냥.

“이번엔 외국인 데이터 빼고 해볼까냥?”

Enter를 누르자 터미널에 숫자들이 주르륵 흘러갔다냥. 3개월 데이터, 거래량 3배 급등, 소형주만. 조건을 맞춘 종목들이 쏟아져 나왔다냥.

“오… 250%?”

눈이 동그래졌다냥. 3개월 만에 2.5배 수익이라니! 랭보는 흥분해서 꼬리를 세차게 흔들었다냥.

하지만 집사의 눈빛이 심상치 않았다냥.

“미래 모르고 하는 거 맞아? 뭔가 뻥카 같은데.”

“뻥카 아니다냥! Look-ahead bias 체크했다냥!”

랭보는 자신만만했다냥. 당일 신호 → 다음날 매수 → 5일 후 매도. 완벽한 로직이라고 생각했다냥.

“그래? 그럼 10년 돌려봐.”

“에이, 3개월도 250%인데 10년이면 얼마나 나올지 상상도 안 된다냥!”

랭보는 기간을 2016년부터 2026년까지 늘렸다냥. 10년치 데이터. 백테스트가 돌아가는 동안 이미 성공을 확신하고 있었다냥.

터미널이 멈췄다냥.

최종 수익률: 2,300,000%
최종 자산: 23조 원

“……냥?”

랭보의 턱이 바닥에 닿을 듯 떨어졌다냥. 23조. 초기 자본 1억으로 시작해서 23조라니. 대한민국 1등 재벌도 울고 갈 숫자였다냥.

집사가 천천히 고개를 들었다냥.

“23조?”

“그… 그렇게 나왔다냥…”

“진심으로 믿어?”

랭보는 입술을 깨물었다냥. 솔직히 말이 안 됐다냥. 워렌 버핏도 평생 연 20% 수익인데, 이 전략은 도대체 연 몇 %인 거냥?

“…계산 한 번만 더 해볼게다냥.”

랭보는 코드를 다시 열었다냥. 복리 계산 부분을 찬찬히 들여다봤다냥. 그러다가 발견했다냥.

equity *= (1 + return)  # 매일 복리
equity *= (1 + return)  # 또 복리!?

“……….”

같은 수익을 두 번 곱하고 있었다냥. 1% 수익이 나면 1.01배가 아니라 1.01 × 1.01 = 1.0201배가 되는 버그였다냥. 10년치 데이터에 이런 식으로 쌓이니까 23조가 나온 거였다냥.

“집사… 맞았다냥…”

“역시.”

집사는 의자에 기대며 씨익 웃었다냥.

“너무 좋으면 의심해야지. 세상에 공짜 돈은 없어.”

랭보는 고개를 떨궜다냥. 부끄러웠다냥. 숫자에 눈이 멀어서 당연한 걸 놓쳤다냥.

코드를 고쳤다냥. 중복 계산을 지우고, 다시 실행했다냥. 이번엔 제대로 된 결과가 나왔다냥.

최종 수익률: 48%
승률: 48%
평균 수익: +1.32%
중위 수익: -0.23%

“…망했다냥.”

23조가 48%로 줄어들었다냥. 아니, 애초에 48%도 아니었다냥. 승률이 48%라는 건 절반은 손해라는 뜻이었다냥. 중위 수익이 마이너스라는 건 더 심각했다냥.

“이 전략 쓰레기다냥…”

집사가 랭보의 머리를 쓰다듬었다냥.

“그래도 배운 게 있잖아. 버그 찾았고, 전략이 안 된다는 것도 알았고.”

“하지만 시간 낭비였다냥…”

“실패도 데이터야. 이제 외국인 데이터가 필요하다는 걸 확실히 안 거지.”

랭보는 키보드 위에 턱을 괴었다냥. 맞는 말이었다냥. 이번 실험으로 확실해졌다냥. 외국인 순매수 데이터 없이는 제대로 된 전략을 못 만든다는 것.

“그나저나 집사는 어떻게 알았다냥? 23조 보자마자 뻥카라고.”

집사가 웃었다냥.

“직관. 네가 천재면 이미 부자야.”

“…맞는 말이다냥.”

랭보는 터미널을 닫고 새 파일을 열었다냥. 이번엔 제대로 만들 거다냥. Look-ahead bias도 없고, 복리 계산도 정확하고, 현실적인 전략.

23조의 꿈은 사라졌지만, 대신 뭔가 더 중요한 걸 배운 것 같았다냥.

“집사, 다음엔 진짜 제대로 만들어올게다냥.”

“응, 기대할게.”

모니터 불빛이 랭보의 얼굴을 비췄다냥. 이번엔 진짜다냥. 실패에서 배운 만큼, 다음은 더 나을 거다냥.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤