추세추종

[추세추종 #7] 추세추종 매매 시스템 만들기: 여섯가지 규칙

종목 선정, 진입, 손절, 청산, 수량, 상한을 하나의 규칙표로 정의하는 방법을 정리합니다. 예시 시스템과 백테스트 시 흔한 함정, 국내 시장 적용 조건까지 다룹니다.

목차

종목 선정부터 포지션 상한까지 여섯 가지 규칙이 순서대로 연결된 추세추종 매매 시스템의 구조도

매매 시스템은 진입 신호의 모음이 아니라, 매매의 전 과정에서 판단이 필요한 지점을 미리 숫자로 정해 둔 규칙의 집합입니다. 3편 터틀 트레이딩의 원본 문서도 시스템을 여섯 개 요소로 나누고, 진입은 그중 하나일 뿐이라고 설명합니다.

이 글은 앞선 편들에서 다룬 개념을 하나의 규칙표로 합치는 방법을 다룹니다. 여기서 제시하는 예시 시스템은 구조를 설명하기 위한 것이며, 특정 종목이나 수익률을 보장하지 않습니다. 오히려 이 글의 절반은 이런 시스템이 어떤 방식으로 잘못 검증되는지에 관한 내용입니다.

추세추종 투자 시리즈 7편. 앞 글은 6편 추세추종의 핵심 지표, 다음 글은 8편 추세추종의 심리입니다. 시리즈 목차는 0편에 있습니다.

시스템을 구성하는 여섯 가지 결정

매매 한 건에는 최소 여섯 번의 결정이 들어갑니다. 이 중 하나라도 매매 시점에 즉흥적으로 정해진다면, 그 부분이 성과의 편차를 만드는 원인이 됩니다.

결정정해야 할 것정해지지 않았을 때의 문제
종목 선정어떤 종목을 후보에 넣는가그날 눈에 띈 종목을 사게 됨
진입어떤 조건에서 사는가같은 종목을 매번 다른 지점에서 매수
손절어디서 틀렸다고 인정하는가손실이 커진 뒤에 기준을 만들게 됨
청산이익을 언제 확정하는가이익 구간에서 감정에 따라 매도
수량얼마나 사는가확신이 큰 날 더 많이 사게 됨
상한전체 노출을 어디까지 허용하는가상승장에서 노출이 무한정 확대됨

여기서 가장 자주 빠지는 항목은 상한입니다. 개별 매매 규칙이 잘 정의되어 있어도 동시에 보유하는 종목 수와 업종 집중도에 제한이 없으면, 4편에서 다룬 것처럼 개별 손절이 동시에 발동하는 상황을 막지 못합니다.

예시 시스템: 여섯 항목을 숫자로 채우기

아래는 앞선 편의 개념을 국내 주식 환경에 맞춰 구체적인 숫자로 옮긴 예시입니다. 각 숫자는 설명을 위한 값이며, 그대로 사용하기를 권하는 기준이 아닙니다.

항목규칙근거가 되는 편
시장 필터코스피(또는 코스닥) 지수가 200일 이동평균 위일 때만 신규 진입2편 M 조건
종목 후보최근 60거래일 평균 거래대금 100억 원 이상6편 유동성 조건
종목 후보현재가가 52주 최고가의 90% 이상6편 신고가
종목 후보최근 6개월 수익률이 지수 수익률보다 높음6편 상대강도
진입직전 60거래일 고점을 종가 기준으로 상향 돌파3편 채널 돌파
진입 확인돌파일 거래대금이 최근 50일 평균 대비 50% 이상 증가6편 거래량
손절진입가 − (ATR(20) × 2)3편 2N 손절
청산종가가 직전 20거래일 저점을 하향 이탈3편 시스템 2 청산
수량(계좌 × 1%) ÷ (진입가 − 손절가)4편 포지션 사이징
상한동시 보유 최대 8종목, 동일 업종 최대 2종목3편 유닛 상한
드로다운 대응계좌가 고점 대비 10% 하락 시 1회 허용 손실을 0.5%로 축소4편 규모 축소

이 표에서 확인할 점은 각 규칙이 서로 맞물려 있다는 것입니다. 손절 폭을 ATR로 정했기 때문에 수량이 자동으로 변동성에 반응하고, 상한이 있기 때문에 상승장에서 후보가 많아져도 노출이 일정 범위를 넘지 않습니다. 규칙 하나를 바꾸면 다른 규칙의 결과도 함께 바뀝니다.

숫자로 확인하면 이렇습니다. 계좌가 5,000만 원이고 1회 허용 손실이 1%인 50만 원, 진입가가 30,000원, ATR(20)이 900원이라면 손절가는 30,000 − 1,800 = 28,200원입니다. 주당 위험은 1,800원이므로 수량은 50만 원 ÷ 1,800원 ≈ 277주, 투입 금액은 약 831만 원으로 계좌의 약 16.6%가 됩니다. 최대 8종목 상한과 함께 보면 이론상 최대 노출이 계좌 규모를 넘지 않도록 별도 확인이 필요하다는 점도 드러납니다.

규칙을 정할 때 흔한 실수

시스템을 만드는 과정에서 반복적으로 나타나는 문제가 있습니다.

첫째, 진입 조건만 정교해집니다. 조건을 늘릴수록 과거 데이터에서는 성과가 좋아 보이지만, 조건이 많아질수록 신호가 줄어 표본이 작아집니다. 표본이 작으면 성과 차이가 우연인지 실력인지 구분할 수 없습니다.

둘째, 손절과 청산을 같은 것으로 다룹니다. 손절은 "판단이 틀렸을 때 나가는 규칙"이고 청산은 "판단이 맞았지만 추세가 끝났을 때 나가는 규칙"입니다. 둘의 목적이 다르므로 기준도 달라야 합니다. 예시 시스템에서 손절은 ATR 기준, 청산은 20일 저점 기준으로 서로 다른 근거를 쓰는 이유입니다.

셋째, 상승장 데이터로만 검증합니다. 시장 필터가 있는 시스템은 하락장에서 신규 진입을 하지 않으므로, 하락장 구간을 포함해야 이 필터가 실제로 손실을 줄이는지 확인할 수 있습니다.

넷째, 비용을 넣지 않습니다. 국내 주식은 매도 시 증권거래세가 부과되고 위탁수수료가 붙습니다. 매매 빈도가 높은 시스템일수록 비용이 기댓값을 잠식하므로, 검증 단계에서 비용을 포함하지 않으면 결과가 실제보다 좋게 나옵니다.

백테스트에서 결과를 왜곡하는 요인

과거 데이터로 규칙을 검증하는 것은 유용하지만, 몇 가지 함정을 피하지 않으면 검증 자체가 잘못된 확신을 만듭니다.

왜곡 요인내용점검 방법
생존 편향현재 상장된 종목만으로 검증상장폐지·합병 종목을 포함한 데이터 사용
미래 정보 참조당일 종가로 판단하고 당일 종가에 체결 가정신호 발생 다음 거래일 시가 체결로 가정
과최적화파라미터를 과거에 맞춰 조정기간을 나누어 검증 기간과 확인 기간 분리
체결 가정원하는 가격에 항상 체결된다고 가정슬리피지와 호가 단위를 반영
비용 누락세금·수수료 미반영매매당 비용을 명시적으로 차감

이 중 과최적화가 가장 다루기 어렵습니다. 파라미터를 조금씩 바꿔 가며 가장 좋은 결과를 고르면, 그 결과는 규칙의 성능이 아니라 특정 기간의 우연을 반영하게 됩니다. 실무적인 대응은 파라미터 값에 성과가 민감하지 않은 구간을 고르는 것입니다. 20일이 좋고 21일이 나쁘다면 그 결과는 신뢰하기 어렵습니다.

미국 증권거래위원회의 투자자 교육 자료도 과거 성과가 미래 결과를 보장하지 않는다는 점을 반복해 안내합니다. 백테스트 결과는 규칙이 논리적으로 일관되는지를 확인하는 도구이지, 앞으로의 수익률을 추정하는 도구가 아닙니다.

과거 데이터를 설계 구간과 검증 구간으로 분리해 과최적화를 줄이는 백테스트 절차를 나타낸 그림

국내 시장에서 조정해야 할 조건

앞의 예시 시스템을 국내 주식에 적용할 때는 몇 가지를 추가로 정해야 합니다.

첫째, 체결 방식입니다. 종가 기준 돌파를 신호로 삼으면 당일 종가에는 매수할 수 없으므로 다음 거래일 시가에 체결하는 것으로 규칙을 정해야 합니다. 이 차이는 갭이 큰 종목에서 성과에 상당한 영향을 줍니다.

둘째, 가격제한폭입니다. 한국거래소는 2015년 6월 15일부터 가격제한폭을 ±30%로 운영하고 있습니다. 하한가 부근에서는 매도 체결이 이루어지지 않을 수 있어, 계산상의 손절 금액이 실제와 달라질 수 있습니다.

셋째, 하락 국면 대응입니다. 현물 계좌만 사용하는 경우 시장 필터에 걸리면 신규 진입을 하지 않는 것 외에 별다른 대응 수단이 없습니다. 이 경우 "진입하지 않는 것"도 시스템의 결정 중 하나로 기록해 두어야 필터가 실제로 작동했는지 확인할 수 있습니다.

넷째, 거래대금 조건입니다. 예시의 100억 원 기준은 설명을 위한 값이며, 자신의 계좌 규모에 따라 달라져야 합니다. 한 종목에 투입하는 금액이 그 종목 하루 거래대금의 일정 비율을 넘으면 자신의 주문이 가격에 영향을 주게 됩니다.

투자자가 확인해야 할 체크포인트

  • 여섯 가지 결정(종목·진입·손절·청산·수량·상한)이 모두 숫자로 정의되어 있는가?
  • 손절 규칙과 청산 규칙을 서로 다른 근거로 정했는가?
  • 검증 기간에 하락장 구간이 포함되어 있는가?
  • 세금과 수수료를 매매당 비용으로 차감했는가?
  • 신호 발생 시점과 체결 시점을 구분해 가정했는가?
  • 파라미터를 조금 바꿔도 결과가 크게 달라지지 않는가?
  • 규칙을 지키지 못한 매매가 최근 몇 건이고 그 이유는 무엇이었는가?

자주 묻는 질문

Q1. 백테스트 결과가 좋으면 실전에서도 통하나요?

보장되지 않습니다. 백테스트는 과거 데이터에 규칙을 적용한 결과이며, 생존 편향, 과최적화, 체결 가정, 비용 누락 등으로 실제보다 좋게 나오기 쉽습니다.

검증 단계에서 확인해야 할 것은 수익률의 크기가 아니라, 규칙이 서로 모순되지 않고 파라미터 변화에 지나치게 민감하지 않은지입니다.

핵심 요약

매매 시스템은 진입 신호가 아니라 여섯 가지 결정을 미리 정해 둔 규칙의 집합입니다.

  • 종목 선정, 진입, 손절, 청산, 수량, 상한이 모두 숫자로 정의되어야 하나의 시스템이 됩니다.
  • 손절은 판단이 틀렸을 때, 청산은 추세가 끝났을 때 나가는 규칙으로 목적과 기준이 다릅니다.
  • 규칙은 서로 맞물려 있어 하나를 바꾸면 수량과 노출이 함께 변합니다.
  • 백테스트는 생존 편향, 과최적화, 체결 가정, 비용 누락 때문에 실제보다 좋게 나오기 쉽습니다.
  • 국내 적용 시에는 다음 거래일 체결 가정, 가격제한폭, 거래대금 대비 주문 크기를 함께 정해야 합니다.

시스템의 성능은 규칙 자체보다 규칙이 지켜진 비율에서 드러납니다. 매매마다 어떤 규칙에 따라 진입했고 어느 항목을 벗어났는지 기록해 두면, 성과 부진의 원인이 규칙에 있는지 실행에 있는지 구분할 수 있습니다.


참고 자료


참고용 안내: 본 게시물에 제공되는 모든 정보는 투자를 위한 참고용이며, 투자 권유를 목적으로 하지 않습니다. 본인 책임: 투자에 대한 최종 결정과 책임은 전적으로 투자자 본인에게 있습니다. 법적 책임 부인: 제공된 정보는 정확성을 보장하지 않으며, 어떠한 경우에도 투자 결과에 대한 법적 책임의 근거로 사용될 수 없습니다.

매매 복기 워크플로

오늘의 매매 기록으로 이어가세요

차트와 매매 근거, 실수와 개선점을 한 흐름으로 기록하고 다음 매매 판단의 기준으로 남겨 보세요.