사지 않은 종목은 어떻게 되었나 — 규칙의 성적표

매매 규칙은 산 종목뿐 아니라 걸러 낸 종목으로도 평가해야 합니다. 차단 기록을 분석해 발견한 "규칙 하나가 모든 매수를 막고 있던" 사례와, 놓친 수익을 올바르게 읽는 법을 설명합니다.

최종 수정 2026-09-18

성적표의 빈 절반

매매 기록은 산 종목에 대해서만 남습니다. 승률, 평균 손익, 최대 낙폭 모두 실제로 한 거래의 통계입니다. 하지만 매매 규칙이 하는 일의 대부분은 사는 것이 아니라 사지 않는 것입니다. 후보 100개 가운데 95개를 거르고 5개를 삽니다. 그 95개를 거른 판단이 옳았는지는 어디에도 기록되지 않습니다.

규칙이 너무 느슨하면 나쁜 거래가 들어오고, 그것은 손실로 드러납니다. 규칙이 너무 엄격하면 좋은 거래가 걸러지는데, 그것은 아무 흔적도 남기지 않습니다. 그래서 규칙은 시간이 갈수록 엄격해지는 쪽으로만 기웁니다. 손실을 볼 때마다 조건을 하나씩 추가하고, 그 조건이 버린 수익은 보이지 않기 때문입니다.

차단도 기록한다

이 서비스의 자동매매는 후보 종목을 검토할 때마다 결과를 남깁니다. 통과했는지, 막혔다면 어떤 규칙에 막혔는지. 시장 국면, 기대값, 위험 대비 보상 비율, 리스크 예산, 섹터 집중도, 밸류에이션 같은 조건들이 차례로 검사되고, 처음 걸린 조건이 "주된 차단 사유"로 기록됩니다.

그리고 5거래일, 20거래일 뒤에 그 종목의 가격을 다시 붙입니다. 통과시킨 종목들과 막은 종목들의 그 뒤 수익률을 나란히 놓으면 규칙이 일을 하고 있는지가 보입니다. 막은 종목들이 더 나빴다면 규칙은 손실을 막은 것이고, 막은 종목들이 더 좋았다면 규칙은 수익을 버린 것입니다.

차단의 97%가 한 규칙이었다

차단 기록을 처음 집계했을 때 나온 숫자입니다.

차단된 판정
180건
그중 "리스크 예산 초과"
175건
나머지 모든 규칙을 합쳐
5건

여러 단계의 검사를 만들어 놓았지만 실제로 일하는 것은 하나뿐이었습니다. 다른 규칙들은 순서가 오기도 전에 리스크 예산에서 전부 걸러지고 있었습니다. 들여다보니 두 가지가 겹쳐 있었습니다.

설정끼리의 모순
동시 보유 한도는 10종목, 종목당 위험은 계좌의 1%, 전체 리스크 예산은 6%였습니다. 10종목을 채우려면 10%가 필요한데 예산이 6%이니 실질적인 상한은 6종목입니다. 두 설정이 서로 다른 말을 하고 있었습니다.
가정치로 센 위험
각 포지션이 예산을 얼마나 쓰는지를 실제로 계산하지 않고 무조건 1%로 쳤습니다. 한 계좌는 주식 평가액이 전체의 5%(490달러)뿐이고 나머지 90% 이상이 현금이었는데, 9종목을 들고 있다는 이유로 "위험 9% 사용 중"으로 계산되어 모든 매수가 막혔습니다.
한계 포지션의 평가액은 잃을 수 있는 금액의 절대 상한입니다. 주가가 0이 되어도 그 이상은 잃지 않습니다. 계좌의 0.5%짜리 포지션이 계좌의 1%를 위험에 빠뜨릴 수는 없습니다. 실제 값으로 세자 같은 계좌의 사용량은 9.0%에서 3.69%가 되었습니다.

이 문제는 매매 성적만 봐서는 발견할 수 없었습니다. 봇은 그냥 "오늘은 살 것이 없다"처럼 보였습니다. 무엇이 막고 있는지의 분포를 보고서야 알 수 있었습니다.

"안 샀다"는 "샀으면 벌었다"가 아니다

막힌 종목의 20일 뒤 수익률이 +8%였다고 해서 규칙이 8%를 버린 것은 아닙니다. 그 숫자는 손절도 목표가도 없이 20일 동안 그냥 들고 있었을 때의 수익률입니다. 실제로 샀다면 손절선이 있었을 것이고, 20일 사이에 −6%를 먼저 찍고 올라갔다면 +8%가 아니라 손절로 끝났을 것입니다.

  • 놓친 수익은 실제 전략의 성적과 같은 방식으로 계산된 것이 아닙니다. 방향을 보는 참고 지표이지 금액으로 환산할 수 있는 손실이 아닙니다.
  • 막힌 종목 가운데 가장 많이 오른 것은 기억에 남고, 막힌 덕분에 피한 급락은 기억에 남지 않습니다. 개별 사례가 아니라 막힌 종목 전체의 분포로 봐야 합니다.
  • 표본이 적으면 판정하지 않습니다. 이 서비스는 20일 채점이 30건 미만이면 "규칙이 일한다 / 수익을 버린다"는 문구를 내지 않습니다.

기록을 일주일마다 지우던 시기에는 20일 뒤 채점이 구조적으로 불가능했습니다. 79건 가운데 78건이 "채점 불가"였습니다. 기한이 되기 전에 기록이 사라졌기 때문입니다. 검증에 필요한 기간보다 기록의 보존 기간이 짧으면 그 검증은 영원히 완성되지 않습니다.

규칙을 고칠 때의 순서

  1. 분포부터 봅니다. 어떤 규칙이 얼마나 자주 막는지. 한 규칙이 거의 전부를 막고 있다면 그 규칙이 너무 엄격하거나 계산이 틀린 것입니다. 한 번도 막은 적 없는 규칙은 없어도 되는 규칙이거나, 조건이 현실과 맞지 않는 규칙입니다.
  2. 계산이 맞는지 확인합니다. 가정치로 채운 값, 통화가 섞인 값, 조회 실패를 0으로 읽는 값이 있는지. 규칙을 완화하기 전에 규칙이 의도대로 계산되고 있는지가 먼저입니다.
  3. 한 번에 하나만 바꿉니다. 두 가지를 동시에 바꾸면 무엇이 효과를 냈는지 알 수 없습니다.
  4. 바꾼 이유와 날짜를 적습니다. 몇 달 뒤 성적이 달라졌을 때 그 날짜가 기준점이 됩니다.
  5. 안전에 관한 규칙은 성적으로 평가하지 않습니다. 1회 주문 한도나 악재 공시 차단은 수익을 높이려는 규칙이 아닙니다. "이 규칙이 수익을 버렸다"는 이유로 풀지 않습니다.

사람의 매매에서

같은 방법을 손으로도 할 수 있습니다. 사려다가 그만둔 종목을 그만둔 이유와 함께 적어 두고, 한 달 뒤에 가격을 확인합니다. 몇 달 치가 쌓이면 자신의 "안 사는 이유"들 가운데 어떤 것이 실제로 손실을 막았고 어떤 것이 그저 두려움이었는지가 보입니다.

많은 경우 가장 자주 나오는 이유는 "이미 너무 올라서"입니다. 그 이유로 거른 종목들이 그 뒤에 어떻게 되었는지를 세어 본 사람은 많지 않습니다. 세어 보면 그 직관이 맞았는지, 아니면 매번 같은 자리에서 망설이고 있었는지를 알 수 있습니다.

규칙은 만들기는 쉽고 없애기는 어렵습니다. 막은 것들의 기록이 없으면 규칙은 쌓이기만 하고, 어느 날 시스템은 아무것도 사지 않으면서 그 이유를 아무도 모르게 됩니다.

광고