자동매매 프로그램 롤백 후 실매매 결과|71승 0패의 착시와 미청산 손실

자동매매 프로그램을 계속 개조하다 보면 기능이 많아진 만큼 전략도 좋아졌다고 느끼기 쉽습니다. 저 역시 서버 인증, 일봉·분봉, 시장·업종, 뉴스·공시, 호가, MFE·MAE, 주문 게이트웨이와 여러 안전장치까지 기능을 계속 확장했습니다.
그런데 실제 거래 기록을 다시 분석하면서 다른 문제가 보였습니다. 수익 종목은 잘 청산됐지만 손실 종목은 매도되지 않은 채 계좌에 남아 미실현손실이 누적되고 있었습니다. 결국 저는 복잡해진 버전을 계속 고치는 대신, 핵심 매매 구조가 남아 있던 4월판으로 롤백했습니다.
롤백 전, 숫자만 보면 71승 0패였다
여기까지만 보면 전략이 상당히 좋아 보입니다. 71번 청산해서 한 번도 손실이 없었고, 가중 실현수익률도 +1.28%였습니다. 저도 처음에는 이 숫자를 긍정적으로 봤습니다.
문제는 청산되지 않은 종목을 같이 보기 시작하면서 나타났습니다.
71승 0패의 착시|손실은 사라진 것이 아니었다
목표에 도달하면 청산되어 승리 기록에 포함
매도되지 않고 보유종목으로 남아 승패 통계에서 제외
겉으로는 완벽하지만 실제 계좌에는 손실이 남는 구조
이익 종목만 청산되고 손실 종목은 계속 보유 상태로 남는다면, 승률은 높게 유지되면서도 계좌의 미실현손실은 계속 커질 수 있습니다.
당시 전체 보유종목은 22종목이었고 모두 평가손실 상태였습니다. 전체 평가손실은 -191,993원, -42.48%였습니다.
실현수익률, 미실현수익률, 계좌 누적수익률은 따로 봐야 했다
롤백 후 실현수익이 발생하고 있지만 전체 계좌수익률이 크게 바뀌지 않은 이유는 기존 장기보유 종목의 손실 비중이 크기 때문입니다.
프로그램을 너무 많이 개조하면서 구조가 복잡해졌다
- 서버 인증
- XING 데이터
- 일봉·분봉
- 시장·업종
- 뉴스·공시
- 호가
- 후보 코호트
- MFE·MAE
- Shadow Scalping
- Broker Ledger
- 주문 게이트웨이
- Safety Harness
- 일별 성과검증
- 대규모 분석 패키지
- 분석 로직과 안전장치가 지나치게 많아짐
- DB 상태와 실시간 이벤트가 서로 얽힘
- 하나의 주문 판단에 너무 많은 조건이 개입
- 어떤 로직이 실제 성과에 기여하는지 파악하기 어려움
- 핵심 매매 전략보다 주변 시스템이 더 커짐
4월판의 핵심은 남기고 필요한 기능만 다시 붙였다
- 4월판 초기매수 구조
- A~E 후보군
- 기존 손절 구조
- 초기매수 기본 로직
- 보유종목 일봉 MA5·20·60·120·240 캐시
- MA20 회복추세
- 수급점수
- 지지·저항
- 5분봉 돌파 및 거래량
- 5분 EMA20
- 수급 약화 감지
- 고점밀림 보호
추가매수 구조
추가매수에는 MA20 회복추세, 수급점수, 지지·저항, 5분봉 돌파와 거래량을 적용했습니다. 프로그램을 재시작해도 추가매수 횟수와 마지막 매수 시간이 초기화되지 않도록 DB에서 복원합니다.
매도 구조
매도에는 일봉 지지·저항, 5분 EMA20, 수급 약화와 함께 종목 상황에 따라 약 0.4~2% 고점밀림 보호를 적용했습니다. 이미 확보한 수익을 끝까지 목표가만 기다리다 다시 반납하는 상황을 줄이기 위한 목적입니다.
롤백 후 5거래일 실매매 결과
롤백한 프로그램으로 실제 운용한 날짜는 2026년 8월 11일, 12일, 13일, 14일, 18일로 총 5거래일입니다. 아직 기간이 매우 짧기 때문에 롤백 버전의 우월성을 확정할 수는 없습니다. 현재 결과는 어디까지나 초기 관찰 결과입니다.
롤백 전후 수익률은 비슷했지만 거래 흐름이 달라졌다
초기매수
필요 시 추가매수
수익·손실 청산
자금 재회전
현재 제가 가장 긍정적으로 보는 부분은 수익률 숫자 자체보다 매수 → 필요 시 추가매수 → 청산 → 다음 종목 매수로 이어지는 자금 흐름입니다.
롤백 전에는 수익 종목이 청산된 뒤 손실 종목만 계좌에 남는 현상이 반복됐습니다. 롤백 후에는 손실 거래도 실제로 발생하고 있지만, 정해진 기준에서 청산되고 다음 거래로 넘어가고 있습니다.
71승 0패보다 34승 4패가 더 건강할 수도 있다
정상적인 매매 전략이라면 손실 거래가 존재할 수 있습니다. 중요한 것은 손실이 발생했느냐가 아니라, 손실을 계속 보유 상태로 남겨두는지, 아니면 정해진 기준에서 정리하고 다음 기회를 찾을 수 있는지라고 생각합니다.
그래서 지금은 71승 0패보다 34승 4패라는 숫자가 오히려 더 현실적인 거래 기록으로 느껴집니다. 물론 현재 운용 기간이 5거래일뿐이므로 이 판단 역시 앞으로 더 긴 기간을 두고 확인해야 합니다.
이번 롤백에서 배운 점
아직 5거래일이다|앞으로 더 중요하게 볼 지표
지금까지의 롤백 후 결과는 나쁘지 않지만 5거래일만으로 전략이 좋아졌다고 결론 내릴 수는 없습니다. 특히 아직 미청산 종목이 있기 때문에 앞으로는 단순 승률보다 아래 항목을 계속 기록할 생각입니다.
몇 달 동안 프로그램을 계속 확장하면서 개발 자체는 분명 많이 배웠습니다. 하지만 자동매매에서는 기능의 개수보다 실제 돈이 어떻게 들어오고 나가는지를 명확하게 이해할 수 있는 구조가 더 중요하다는 것도 같이 배웠습니다.
이번 롤백은 과거로 돌아간 것이 아니라, 처음 이 프로그램에서 실제로 작동했던 핵심 전략을 다시 찾기 위해 복잡해진 부분을 정리한 과정이라고 생각합니다. 앞으로 실거래 데이터가 더 쌓이면 롤백 후 결과도 같은 방식으로 계속 비교해볼 예정입니다.