백테스트 실패 경험 — AI 조건식이 안 통한 이유

AI한테 물어봤다.

“자동매매 조건식 어떻게 만들어?”

그럴듯한 조건식이 나왔다. 이동평균선 교차, 거래량 급증, RSI 과매도 구간 진입. 정석처럼 보였다. 그대로 K-Trader에 입력했다. 실전에 돌렸다.

실패했다.

한 번이 아니었다. 조건을 조금 바꿔서 다시 돌려봐도, AI에게 다른 방식으로 물어봐도, 결과는 비슷했다. 그때 처음으로 이런 생각이 들었다.

“AI가 주는 전략이 왜 실전에서는 안 먹히는 걸까.”

그 질문을 파고들다가 결국 답을 찾았다. 전략은 이론에서 나오는 게 아니라 경험에서 나온다는 것. 이 글은 그 과정의 기록이다.

① AI가 준 조건식을 그대로 썼다

자동매매 시스템을 처음 만들 때 가장 막막한 게 조건식이다. 어떤 조건에서 종목을 편입할 건지, 어떤 신호를 보고 매수할 건지. 이걸 처음부터 스스로 설계하는 건 쉽지 않다.

그래서 AI에게 물었다. 지금처럼 Claude가 본격적으로 쓰이기 시작하던 시기였다. 자동매매 조건식을 어떻게 구성하면 좋은지 물어봤더니, AI는 꽤 구체적인 조건들을 제시해줬다.

거래량이 평균 대비 X배 이상 급증할 것

단기 이동평균선이 장기 이동평균선을 상향 돌파할 것

RSI가 특정 구간에 위치할 것

이런 식의 조건들이었다. 교과서에 나올 법한 내용이었다.

그대로 넣었다. 처음엔 그게 맞는 방법인 줄 알았다. 자동매매를 처음 만드는 사람 입장에서 AI가 주는 조건식은 꽤 그럴듯하게 들렸다. 검증 없이 신뢰했다.

실전 결과는 기대와 달랐다.

조건식은 돌아갔다. 종목도 편입됐다. 그런데 수익이 나지 않았다. 오히려 조건식 없이 수동으로 고른 종목보다 결과가 나빴다.

② AI 조건식이 실패한 이유

왜 안 됐는지를 한참 생각했다. 결론은 생각보다 단순했다.

AI가 주는 조건식은 일반론이다. 시장이 어떻게 작동하는지에 대한 교과서적인 설명을 조건으로 옮긴 것에 가깝다. 그 자체로 틀린 건 아니다. 하지만 실전 매매에서 통하려면 일반론 이상이 필요하다.

❌ AI 조건식의 한계

지금 이 시장의 수급 흐름을 모른다

어떤 종목군이 움직이는지 맥락이 없다

실전 체결 방식과 슬리피지를 반영 못 한다

시장 환경이 바뀌면 조건의 유효성도 바뀐다

✅ AI가 잘하는 것

조건식 코드를 빠르게 구현해준다

로직 오류를 찾아준다

데이터 분석과 패턴 정리를 도와준다

전략의 구조를 설계하는 데 도움을 준다

AI는 전략을 만들어주는 도구가 아니다. 전략을 구현하고, 검증하고, 개선하는 과정을 도와주는 도구다. 이 차이를 처음엔 몰랐다.

“이론적으로 맞는 전략”과 “실전에서 통하는 전략”은 다른 것이다. AI는 전자를 잘 알고, 후자는 경험에서 나온다.

③ 경험을 조건식에 녹였다

방향을 바꿨다. AI가 주는 조건식을 쓰는 게 아니라, 내가 수동 매매로 수익을 냈던 방식을 조건식으로 변환하는 방법으로.

수급 주도주 매매는 직장인 시절부터 공부하고 실전에서 써온 방식이다. 시장에서 주도적으로 자금이 몰리는 종목, 즉 수급이 살아있는 종목을 찾아 타점을 잡는 방식이다. 책으로 배우고, 실전에서 틀리고, 다시 고치면서 쌓인 감각이 있었다.

핵심 전환: 수동 매매로 수익이 났던 상황들을 데이터로 정리하고, 그 공통 조건을 조건식으로 옮겼다.

AI가 주는 일반론이 아니라, 내가 직접 경험한 패턴을 수치로 변환한 것이다. 이 차이가 결과를 바꿨다.

물론 이 과정이 쉽지는 않았다. 감각을 수치로 변환한다는 게 말처럼 단순하지 않다. “이 느낌에서 들어갔다”를 조건식으로 만들려면, 그 느낌이 구체적으로 어떤 상황이었는지를 먼저 언어로 정의해야 한다. 그 작업에 시간이 꽤 걸렸다.

그 과정에서 AI는 다시 유용하게 쓰였다. 내가 정리한 조건들을 코드로 구현하는 것, 조건들 사이의 논리 오류를 찾는 것, 데이터를 분석해서 패턴을 확인하는 것. 이 부분에서 AI는 확실히 속도를 높여줬다.

전략은 AI가 만들어주지 않는다.
경험을 AI의 도움으로 구현하는 것이다.

④ 백테스트의 한계 — 그래도 해야 하는 이유

조건식을 경험 기반으로 바꾸고 나서 수익률에 변화가 생겼다. 하지만 여기서 하나 더 짚고 넘어가야 할 게 있다. 백테스트 자체의 한계다.

백테스트는 과거 데이터를 기반으로 전략을 검증하는 방식이다. 과거에 잘 됐다는 걸 확인할 수 있지만, 미래에도 잘 된다는 보장이 없다. 시장은 계속 바뀐다. 2020년에 통했던 전략이 2024년에도 통한다는 보장은 없다.

⚠️ 백테스트 수익률을 그대로 믿으면 안 되는 이유

과거 데이터에 과적합(overfitting)된 전략일 수 있다. 백테스트 환경과 실전 환경의 수수료, 체결 방식, 슬리피지 차이가 있다. 시장 환경이 바뀌면 전략의 유효성도 함께 바뀐다.

그렇다고 백테스트가 필요 없다는 말이 아니다. 오히려 반드시 해야 한다. 다만 목적이 다르다.

백테스트의 진짜 용도: 수익률 예측이 아니라 전략의 방향성 검증이다.

이 전략이 과거 데이터에서 어떤 패턴을 보이는지, 어떤 시장 환경에서 잘 작동하고 어떤 환경에서 무너지는지를 파악하는 도구다. 수익률 수치보다 승률, 최대 낙폭, 손익비의 패턴을 보는 게 맞다.

AI가 준 조건식이 실패한 것도, 사실 백테스트를 제대로 했다면 일찍 걸러낼 수 있었다. 실전에 넣기 전에 과거 데이터에서 어떻게 작동하는지 확인하는 과정을 건너뛴 것도 실수였다.

마무리 — AI를 잘 쓰는 것과 AI에 의존하는 것은 다르다

K-Trader를 만들면서 AI를 정말 많이 썼다. 코드 구현, 디버깅, 데이터 분석, 로직 검토까지. AI 없이는 지금의 시스템이 없었을 거라고 해도 과언이 아니다.

하지만 전략 자체는 AI가 만들어주지 않았다. 책에서 배우고, 실전에서 틀리고, 데이터로 확인하는 과정을 직접 거쳐야만 나오는 것이었다. AI에게 전략을 물어보던 초기의 실수가 오히려 이걸 더 명확하게 알게 해줬다.

📌 이 글의 핵심 요약

  • AI가 주는 조건식은 일반론이다 — 실전에서 그대로 통하지 않는다
  • 전략은 경험에서 나온다 — 수동 매매의 패턴을 조건식으로 변환하는 것이 핵심
  • AI는 전략 구현과 검증 과정에서 강력한 도구다 — 하지만 전략을 만들어주지는 않는다
  • 백테스트는 수익률 예측이 아니라 전략의 방향성을 검증하는 도구다

다음 글에서는 주식 수익이 안 나는 진짜 이유를 이야기해볼 예정이다. 전략이 없어서가 아니라, 감으로 매매하기 때문이라는 이야기다.

→ 이전 글이 궁금하다면: 단타에서 가장 중요한 시간대 — 데이터로 증명한다

→ 백테스트 방법론에 대해 더 알고 싶다면 한국투자증권 리서치센터의 시장 분석 자료를 참고할 수 있다.

이 글은 리치스피커의 실제 투자 경험을 바탕으로 한 개인적인 회고 및 정보 제공 목적의 콘텐츠입니다. 특정 종목·자산의 매수 또는 매도를 권유하지 않으며, 이 글의 내용이 특정 투자 결과를 보장하지 않습니다.

이 블로그는 알고리즘 트레이딩 시스템(K-Trader)의 개발 과정과 투자 경험을 기록하는 개인 블로그입니다. 과거의 수익률 또는 백테스트 결과는 미래의 수익을 보장하지 않습니다.

모든 투자 판단과 그에 따른 책임은 전적으로 투자자 본인에게 있습니다.

댓글 달기

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

위로 스크롤