회고EthiBot

신호가 있는 날, 봇은 가장 많이 잃었다

많은 종목이 함께 올라서 시작한 날은 시장 전체로 보면 좋은 날이었다. 같은 날 봇은 넉 달 손실의 67%를 냈다. 그날을 쉬자는 안은 검토했지만 택하지 않았다.
📅 2026.09.30⏱ 읽기 약 7분
EthiLab오늘 시장과 종목의 위치돈이 몰린 테마와 종목의 위치를 웹에서 확인하세요바로가기 →

좋은 날은 분명히 있었다

EthiLab 쪽에서 먼저 나온 결과가 있었다. 아침에 많은 종목이 한꺼번에 위로 갭을 띄우고 시작한 날, 그 시장의 종목을 전부 똑같은 금액으로 시가에 사서 종가에 팔면 어떻게 되는가.

2026년 2월부터 8월까지 1,043종목으로 쟀다. 코스닥 종목들의 평균 시가 갭이 +1% 이상인 날, 코스닥 종목 전부를 균등하게 사면 세후 하루 평균 +0.585%였다. 날짜를 무작위로 골랐을 때와 비교하면 상위 0.3% 안에 드는 값이다. 우연으로 보기 어려운 신호였다.

장중에 사서 장중에 파는 전략은 대체로 역풍을 맞는다. 그런 틀 안에서 이 정도로 또렷한 날이 있다는 건 반가운 소식이었다. 그래서 봇이 그런 날 실제로 어떻게 했는지를 열어봤다.

그날 봇은 가장 많이 잃었다

5월부터 8월까지 봇의 실매매 매도 기록을 그날 코스닥 종목들의 평균 시가 갭으로 나눴다.

그날 평균 시가 갭건수손익 합계(세전)
갭업일(+1% 이상)27−52,350원
평상일97+7,017원
갭다운일(−1% 이하)12−7,500원

평상일에는 세전으로 본전 근처였다. 손실은 갭업일에 몰려 있었다. 시장 전체로는 가장 좋은 날이, 봇에게는 가장 나쁜 날이었다.

기간을 늘리고 세금까지 넣어 다시 셌다

표본이 27건이라 한 달 뒤 다시 쟀다. 기간을 5월 12일부터 9월 22일까지로 늘리고, 매수와 매도를 짝지은 181건을 세후로 계산했다. 갭업일의 기준은 종목이 속한 시장의 시가 갭 +1% 이상으로 맞췄다.

구분거래일건수세후 합계건당
갭업일29일68건−103,370원−1,520원
나머지43일113건−50,834원−450원
합계72일181건−154,204원

기준을 바꾸고 세금을 넣어도 모양은 같았다. 전체 손실의 67%가 갭업일에서 나왔고, 건당 손실은 나머지 날의 세 배를 넘었다.

시장은 올랐고, 봇이 고른 종목만 졌다

여기서 가장 쉬운 설명은 "갭업일은 원래 위험한 날"이다. 그런데 같은 날 지수를 보면 그렇지 않다. 갭업일에 시가부터 종가까지 코스피는 평균 +0.24%(38일), 코스닥은 +0.98%(26일) 올랐다. 시장은 그날 시가 이후로도 더 올랐다.

진 것은 봇이 고른 종목이었다. 봇이 산 시점에 그 종목은 이미 당일 +1.99% 올라 있었다. 평상일에는 +0.19%였다. 갭업일에 봇은 이미 달아난 종목을 뒤따라 산 셈이다.

청산 결과도 같은 쪽을 가리킨다.

청산갭업일평상일
익절 비율18%23%
손절 비율12%9%

일찍 들어갔다고 나았던 것도 아니다. 갭업일 9시 45분 전에 들어간 30건이 세후 −61,095원이었다.

신호를 그대로 살 수는 없었다

EthiLab의 신호와 봇의 매매는 이름만 같은 "갭업일"이지 하는 일이 다르다.

  • 신호는 그 시장 종목 전부를 시가에 산다. 한 종목의 운이 아니라 그날 시장 전체의 흐름을 산다
  • 봇은 그날 몇 종목을 골라 산다. 게다가 시가에 사는 일이 드물다. 실매매 매수 중 9시 첫 1분 안에 체결된 것은 2.1%였고, 가장 흔한 매수 시각은 9시 30분대였다

+0.585%는 시가에 사는 것을 전제로 계산된 값이다. 봇이 그날 고른 종목은 산 시점에 이미 +1.99% 올라 있었다. 신호가 가리킨 오름폭의 일부를 이미 지나온 자리에서 산 것이다.

💡 일 단위로 좋은 날이라는 것과, 그날 고른 종목이 좋다는 것은 다른 이야기다. 날을 고르는 신호가 참이어도, 종목을 고르는 방법이 그 효과를 뒤집을 수 있다.

그날을 쉬자는 안

가장 직관적인 처방은 갭업일에 새로 사지 않는 것이다. 이 안을 검토했다. 숫자만 보면 매력적이다.

  • 갭업일 손실 103,370원이 통째로 사라진다
  • 그 안에는 이익이 난 11일(+41,859원)도 들어 있어서 함께 지워진다
  • 72일 중 29일, 40%의 날에 신규 매수를 멈춘다

그런데 같은 수의 날을 아무렇게나 골라 쉬었을 때와 비교하면 백분위가 89.8이었다. 채택 기준으로 삼은 90에 못 미친다. 하루 단위 평균 차이의 95% 구간도 −5,841원에서 +1,646원까지로 0을 품고 있었다. 손실이 난 기간에서는 무엇을 빼든 손실이 준다. 이 안이 그 이상인지 가려지지 않았다.

더 근본적인 문제가 있었다. 적용해도 나머지 날의 −50,834원이 그대로 남는다. 흑자로 돌리는 안이 아니었다. 그리고 원인을 비껴간다. 갭업일에 문제였던 것은 시장이 아니라 봇이 산 방법이었는데, 이 안은 시장이 오르는 날 통째로 발을 빼는 것이다.

그래서 택하지 않았다.

남은 것

좋은 날에 잃었다면 날을 의심하기 전에 그날 산 방법을 본다. 같은 날 지수와 봇의 종목을 나란히 놓는 것만으로 원인이 시장 쪽인지 선택 쪽인지 갈렸다. 이번에는 지수가 올랐으므로, 그날을 피하는 처방은 원인에 닿지 않는다.

신호의 효과를 인용할 때는 그 신호가 무엇을 샀는지까지 함께 적는다. "갭업일 +0.585%"는 시가에 전 종목을 산 결과다. 늦게, 몇 종목만 사는 매매에 그 숫자를 그대로 빌려오면 부호까지 틀린다.

줄이는 안이 흑자로 가는 안인지 따로 묻는다. 손실의 67%를 지우는 안은 숫자로는 커 보이지만, 나머지가 여전히 음수라면 그것은 덜 잃는 방법이지 버는 방법이 아니다.

그래서 쉬는 대신 사는 방법을 바꾸는 쪽을 보고 있다. 언제 들어가서 언제 나오는지, 매매 시간대 자체를 다시 짜는 일이다. 그 결과는 숫자가 쌓이면 다시 적겠다.

오늘 시장과 종목의 위치는 EthiLab에서 볼 수 있습니다.

이 시리즈의 다른 글