AI 주식 자동매매 봇을 멈춘 이유 — 승률 31.9%와 전략이 오락가락한 기록

2026년 8월 18일, 두 달 남짓 돌리던 AI 주식 자동매매 봇을 멈췄다. 명령은 한 줄이었다. 계좌에는 90,037원이 남았고 포지션은 없었다. 시작은 6월 24일 102,443원이었으니 잔고로는 −12,406원, 봇이 직접 사고판 거래만 합치면 −7,444원이다. 큰돈은 아니다. 그런데 멈춘 이유는 돈이 아니라 기록이었다. 먼저 그 기록부터 적는다. 이 글은 투자 권유가 아니고, 내 봇의 성적표와 실패 일지다.

주식 자동매매 — 개념 사진 (사진: Rômulo Queiroz / Pexels)
주식 자동매매 — 개념 사진 (사진: Rômulo Queiroz / Pexels)

봇이 하려던 것

설계는 단순했다. 전날 장 마감 데이터로 후보 약 20종목을 추리고(08:00), 개장 직전 프리장 호가를 보고 5종목으로 좁힌 뒤(08:3009:00), 장 시작가 근처에서 산다(09:00~09:35). 손실 −1.5%면 전량 손절, 트레일링 익절은 개장 변동성이 가라앉는 10:00부터, 당일 청산이 기본. 종목 선정부터 청산까지 사람이 개입하지 않는다. 매일 장이 끝나면 그날의 추천·매매 결과를 점수로 남기고 더 나은 설정을 찾는 챔피언–챌린저 구조도 붙였다. “실전 성과로 더 낫다고 증명되면 자동 교체"가 원칙이었다.

여기까지는 카드에 쓰여 있는 대로다. 문제는 “개장가에 산다"는 그 한 줄이 두 달 사이 세 번 바뀌었다는 것이다.

전략 변경 이력이 말해 주는 것

봇은 전략이 바뀔 때마다 사유를 자동 기록한다. 그 로그를 날짜순으로 읽으면 이렇다.

  • 6월 10일 — 백테스트에서 월수익 +0.89% → +1.62%, 승률 63.6%인 설정을 채택. 실거래 시작 전 숫자다.
  • 7월 3일 — 실거래 46건을 진단하니 승률 28%, 손익비 0.55. 시가 추격 매수를 버리고 “개장 1시간 레인지 고가 돌파 + VWAP 위에서만 진입(ORB)“으로 교체. 근거는 1분봉 백테스트 16일, 승률 56%.
  • 7월 31일 새벽 — 7월 30일에 추천 5종목이 전부 올랐는데 내 계좌만 마이너스였다. 봇은 돌파를 기다리다 케이뱅크 한 종목만 꼭지(5,600원)에서 샀고 −1.6%. 개장가 5,350원에 샀으면 +1.6%였다. 35일 그림자 백테스트에서 개장가 매수가 74% 승률로 1위. 돌파 대기를 버리고 개장가 매수로 교체.
  • 7월 31일 오전 — 바꾼 첫날, 5종목이 09:01~09:06 사이 트레일링에 휩쓸려 전량 청산, −715원. 트레일링을 10:00부터만 가동하도록 보정.
  • 8월 5일 — 트레일링 고점 기준선을 10:00부터 재도록 재보정. 아침 반짝 고점 대비 되돌림으로 종목들이 본전에 무더기 청산되던 부작용 제거.
  • 8월 10일 — 다시 돌파 진입(ORB)으로 되돌림.

그리고 그 사이사이 거의 매일 “유지 — 채택 안 함: 검증구간 월수익 손실, 과최적화 의심"이 찍혀 있다. 자동 탐색기는 7월 내내 후보를 내밀었지만 검증 구간에서 플러스인 후보가 없었다. 6월 10일 새벽 로그에는 더 솔직한 문장이 있다. “최고 후보도 월수익 −0.10% — 이 종목군/파라미터로는 단타 기대수익이 +가 아님.” 그걸 읽고도 두 달을 더 돌렸다.

실제 숫자

성과 대시보드 데이터(2026-08-21 갱신 기준)로 정리하면 이렇다.

  • 실거래가 있었던 날 20일, 거래 74건 중 25승. 봇 내부 집계로는 94거래·승률 31.9%다.
  • 실현손익 합계 −7,444원. 가장 좋았던 날은 7월 29일 1건 +2,220원, 가장 나빴던 날은 8월 6일 5건 중 1승 −2,050원. 첫 거래일인 6월 26일은 3건 0승 −1,550원이었다.
  • 추천 적중률(추천 종목이 당일 올랐는가)은 누적 37%(210건), 평균 당일수익률 −1.1%.
  • 잔고는 6월 24일 102,443원 → 8월 10일 90,037원. 8월 10일 이후 거래가 없다.

덧붙이면, 자동 발행되는 운영일지에는 이 기간 내내 “누적 수익률(추천 기준) +37.0%“라는 줄이 찍혔다. 실제로는 추천 적중률 37%를 수익률로 잘못 라벨링한 것이다. 마이너스 봇이 일지에서는 플러스로 보였다.

왜 멈췄나

숫자만 보면 “소액이고 −7천 원이니 더 돌려 보자"도 가능했다. 멈춘 이유는 세 가지가 겹쳐서다.

첫째, 8월 초 서버를 집 PC에서 맥북으로 옮긴 뒤 파이프라인이 연속으로 고장났다. 분봉 수집 폴더 권한이 빠져 분봉이 0건, 지수 조회 라이브러리가 깨짐, 전날 저녁 후보 생성이 누락돼 아침 감시 목록이 0건. 세 번 다 고쳤지만 9만 원짜리 계좌에 들어가는 유지보수 시간이 말이 안 됐다.

둘째, 위에 적은 전략 이력이다. 돌파 매수 → 개장가 매수 → 다시 돌파 매수. 어느 쪽이 맞는지 실거래로 결론이 안 난 상태에서 봇을 켜 두는 건 “검증되지 않은 전략을 실계좌로 굴리는 것"이다. 규칙은 “실전 성과로 증명되면 교체"였는데, 실제로는 백테스트와 하루짜리 사례로 바꾸고 있었다.

셋째, 돌이켜보면 이관 전 “잘 되고 있다"의 정체는 거래를 하고 있었다는 것뿐이지 벌고 있었다는 게 아니었다. 이관이 배관을 끊어 봇이 멈춘 것이, 출혈도 함께 멈춘 셈이었다.

다시 켜는 조건

재개 자체는 명령 한 줄이다. 그래서 조건을 코드가 아니라 글로 못 박아 둔다. 진입 전략을 하나로 확정하고, 그 전략이 과거 구간이 아니라 앞으로의 기간에서 플러스임을 모의로 먼저 보여야 한다. 지금은 종목을 고르는 단타 대신 지수 추종으로 재설계해, 실주문 없이 매일 15:20에 신호만 기록하는 관찰을 돌리고 있다. 그 기록이 쌓이기 전에는 켜지 않는다.

두 달의 교훈을 한 줄로 줄이면, 자동매매에서 제일 먼저 자동화해야 할 것은 매수가 아니라 “멈추는 기준"이었다. 성적표와 전략 이력은 카드 페이지에 그대로 공개돼 있다. 다시 말하지만 투자 권유가 아니며, 어떤 종목·전략도 추천하지 않는다.

이 글은 제 여행 기록과 작업 로그를 바탕으로 초안을 AI와 함께 정리하고, 직접 편집했습니다.