백테스트 손절·트레일링 스톱 민감도 실험: 비율을 바꿔 본 결과

업데이트

20/60 규칙에 손절을 5%, 10%, 15%, 20%로 두자 CAGR은 9.9%, 16.2%, 22.2%, 16.9%로 비율에 따라 단조롭게 움직이지 않았습니다. 같은 트레일링 스톱 20%가 20/60 규칙에서는 CAGR을 6.4%p 낮췄고 5/20 규칙에서는 8.7%p 높였습니다. 과거 데이터에서 관측한 값이며 특정 비율을 권하는 것이 아닙니다.

실험 설계

손절·익절·트레일링 스톱은 값을 바꿔 가며 결과가 얼마나 민감한지 확인하는 대상이라고 가이드에서 설명했습니다. 이 노트는 그 민감도를 직접 계산한 기록입니다. 매매 규칙과 기간, 유니버스, 비용은 고정하고 가격 기준 청산 규칙만 바꿨습니다.

  • 유니버스: KOSPI200 구성 종목. 일별 시가총액 상위 200개를 그 시점의 구성으로 보는 방식이며 실제 KOSPI200의 편입·편출 규칙과는 다를 수 있습니다.
  • 기간: 2020-01-02 ~ 2025-12-30(약 6년), 날짜를 고정해 계산했습니다.
  • 자금과 보유: 초기 자본 1,000만 원, 종목당 자본의 10%, 최대 10종목 동시 보유.
  • 비용: 수수료 매수·매도 각각 0.015%, 슬리피지 0.1%, 매도 증권거래세는 시행일 기준 법정 세율. 배당은 배당소득세 15.4%를 뺀 세후 금액을 재투자합니다.
  • 규칙 A(느린 규칙): 20일 이동평균이 60일 이동평균을 상향 돌파하면 매수, 하향 돌파하면 매도합니다.
  • 규칙 B(빠른 규칙): 5일 이동평균이 20일 이동평균을 상향 돌파하면 매수, 하향 돌파하면 매도합니다.
  • 바꾼 값: 매도 신호와 별개로 진입가 대비 손절 5%·10%·15%·20% 중 하나, 또는 보유 중 최고가 대비 트레일링 스톱 10%·20% 중 하나를 추가했습니다. 비교 기준은 이런 청산 규칙 없이 이동평균 매도 신호만 쓴 경우입니다.
  • 체결: 신호가 나온 다음 거래일 시가.

결과 1 — 느린 규칙(20/60 이동평균 교차)

손절을 좁게 둘수록 거래 수가 늘었습니다(추가 규칙 없음 293건, 손절 20% 294건, 15% 296건, 10% 325건, 5% 497건). 트레일링 스톱은 10%에서 677건, 20%에서 352건이었습니다. CAGR은 손절 5%에서 9.9%, 10%에서 16.2%, 15%에서 22.2%, 20%에서 16.9%였습니다.

20/60 이동평균 교차 규칙 — 청산 규칙별 결과
청산 규칙CAGR최대 낙폭거래 수승률평균 보유 기간
청산 규칙 추가 없음15.7%−35.1%29333.1%48.2일
손절 5%9.9%−38.5%49723.9%26.2일
손절 10%16.2%−34.5%32534.8%42.2일
손절 15%22.2%−39.2%29634.5%46.6일
손절 20%16.9%−34.6%29433.0%47.8일
트레일링 스톱 10%7.2%−23.5%67739.3%19.1일
트레일링 스톱 20%9.3%−42.2%35236.6%39.3일

KOSPI200 구성 종목, 2020-01-02~2025-12-30, 수수료 0.015%, 슬리피지 0.1%, 다음 거래일 시가 체결. 널스탁 백테스트 엔진 v16.41.0으로 2026-10-21에 계산했습니다.

결과 2 — 빠른 규칙(5/20 이동평균 교차)

5/20 규칙은 추가 규칙 없이 CAGR 2.5%였고, 손절 5%에서 2.9%, 10%에서 0.7%, 15%에서 3.5%, 20%에서 2.0%였습니다. 트레일링 스톱은 10%에서 5.6%, 20%에서 11.2%였습니다.

5/20 이동평균 교차 규칙 — 청산 규칙별 결과
청산 규칙CAGR최대 낙폭거래 수승률평균 보유 기간
청산 규칙 추가 없음2.5%−50.0%93530.3%14.9일
손절 5%2.9%−56.7%120426.9%11.6일
손절 10%0.7%−46.1%99629.4%14.0일
손절 15%3.5%−48.9%93830.1%14.8일
손절 20%2.0%−52.1%94130.1%14.8일
트레일링 스톱 10%5.6%−42.7%128734.7%10.7일
트레일링 스톱 20%11.2%−42.0%97431.4%14.4일

KOSPI200 구성 종목, 2020-01-02~2025-12-30, 수수료 0.015%, 슬리피지 0.1%, 다음 거래일 시가 체결. 널스탁 백테스트 엔진 v16.41.0으로 2026-10-21에 계산했습니다.

두 결과를 나란히 읽으면

첫째, 결과가 비율에 따라 매끄럽게 변하지 않았습니다. 20/60 규칙에서 손절 10%(16.2%)와 15%(22.2%) 사이는 6.0%p, 15%와 20%(16.9%) 사이는 5.3%p 차이였습니다. 비슷한 값끼리 결과가 크게 갈린 데에는 한 번의 손절이 이후 재진입 시점과 포지션 구성까지 바꾸는 효과가 있을 수 있습니다. 이 실험으로 원인을 분해하지는 않았습니다.

둘째, 같은 청산 규칙의 방향이 규칙마다 달랐습니다. 트레일링 스톱 20%는 20/60 규칙에서 CAGR을 낮췄고 5/20 규칙에서는 높였습니다.

셋째, 이 표에서 가장 높게 나온 값에는 이 6년 구간의 우연이 섞여 있을 수 있습니다. 한 번의 구간에서 일곱 가지 중 가장 높았던 값이 다른 구간에서도 높다는 근거는 이 표에 없습니다. 이동평균 기간 안정성 노트처럼 학습·검증 구간을 나눠 같은 값이 유지되는지 확인하는 방법이 있습니다.

이 실험이 말해 주지 않는 것

  • 하나의 기간, 하나의 유니버스, 두 개의 규칙만 시험했습니다.
  • 일봉 데이터로 계산하므로 하루 안에서 손절선과 다른 가격이 어떤 순서로 닿았는지, 장 시작 갭으로 손절선을 건너뛰는 경우의 체결은 실제와 다를 수 있습니다.
  • 손절·트레일링 비율의 어느 값이 앞으로도 같은 결과를 낸다는 뜻이 아닙니다.
  • 모든 값은 과거 데이터 기반 시뮬레이션이며 미래 수익은 보장되지 않습니다.

자주 묻는 질문

손절 비율을 높이면 결과가 계속 좋아지거나 나빠지나요?
이 실험에서는 그렇지 않았습니다. 20/60 규칙의 CAGR은 손절 5%에서 9.9%, 10%에서 16.2%, 15%에서 22.2%, 20%에서 16.9%로 오르내렸습니다.
같은 트레일링 스톱이 두 규칙에서 다른 방향으로 작용한 이유는 무엇인가요?
이 실험만으로는 원인을 단정할 수 없습니다. 청산 규칙은 이후 재진입 시점과 보유 종목 구성까지 바꾸므로, 규칙의 성격에 따라 결과가 다르게 나타날 수 있다는 점만 관찰됩니다.
표에서 가장 높게 나온 비율이 다른 구간에서도 가장 높을까요?
이 표만으로는 알 수 없습니다. 하나의 구간에서 가장 높았던 값에는 그 구간의 우연이 섞여 있을 수 있으며, 학습 구간과 검증 구간을 나눠 같은 값이 유지되는지 확인하는 방법이 있습니다.

떠오른 전략 아이디어를 문장으로 입력하면 과거 데이터로 백테스트해 볼 수 있습니다.

전략 백테스트하기

연구노트는 과거 데이터에서 관측된 계산 결과를 기준일과 설정값과 함께 기록한 자료입니다. 특정 종목·전략의 매수·매도를 권유하거나 우열을 판단하지 않으며, 모든 결과는 과거 데이터 기반 시뮬레이션이므로 미래 수익은 보장되지 않습니다.