개발/주식 자동매매

주식 자동매매 봇 만들기 7편: 단타로 짧게 먹고 나오면 안 될까? 유명 단타 기법 전부 백테스트

bboxnote 2026. 10. 15. 23:45

3편에서 "최소 3년은 들고 가야 한다"는 결과를 보고 나니 솔직히 좀 답답했습니다. 트레이더들은 짧게 먹고 빠지던데, 그런 방법은 안 될까 싶었습니다. 그래서 유명한 단기 매매 규칙들을 지금 전략과 같은 비용, 같은 대형주로 전부 돌려 봤습니다.

아래 숫자는 모두 과거 데이터로 계산한 백테스트 결과입니다. 특정 기법을 추천하거나 깎아내리려는 글이 아니라, 제 조건에서 돌려 본 기록입니다.

한눈에 보기

  • 일봉 단기 매매, 유명 트레이더 규칙, 분봉 단타까지 세 라운드를 돌렸습니다. 미너비니 규칙 하나만 지금 전략보다 나았습니다.
  • 한국 주식은 한 번 사고팔 때마다 세금·수수료·체결 손해로 약 0.43%가 나갑니다.
  • 단타 규칙들이 비용 전에 버는 돈은 거래당 0% 안팎이었습니다. 자주 사고팔수록 확실하게 잃습니다.

1라운드: 일봉 단기 매매 (2016~2026)

전략 누가 쓰나 연수익률 최대 낙폭
(지금 전략) 혼합 7:3   +14.2% -44.7%
변동성 돌파 대형주 래리 윌리엄스, 국내 유튜브 단골 -12.1% -81.7%
변동성 돌파 KODEX 200   -0.1% -35.9%
RSI(2) 눌림목 래리 코너스 +5.0% -46.0%
20일 돌파 터틀 트레이딩 +2.0% -47.0%

변동성 돌파 대형주는 10년 동안 18,240번 사고팔았습니다. 그 과정에서 비용으로만 2,400만 원이 나갔습니다. 시작 자금이 1,000만 원이었는데 말입니다.

2라운드: 유명 트레이더 규칙 따라 하기

이번에는 단타로 유명한 트레이더들이 공개한 규칙을 숫자로 옮겨 돌려 봤습니다.

전략 원래 규칙 연수익률
종가베팅 → 다음 날 시가 매도 국내 단타 트레이더: 거래량 터진 장대양봉을 장 마감에 사서 다음 날 아침 매도 +1.4%
종가베팅 → 5일선 깨지면 매도 같은 셋업에서 조금 더 들고 가기 +2.9%
IBS 평균회귀 약하게 끝난 날 사서 전날 고가를 넘으면 매도 +3.4%
RSI(2) KODEX 200 래리 코너스 규칙을 ETF에 +2.7%
월말·월초 효과 월말에 사서 다음 달 3일째 매도 +3.9%
쿨라매기 모멘텀 돌파 크리스티안 쿨라매기: 급등주가 좁게 쉬다가 돌파하면 매수 +2.2%
미너비니 트렌드 템플릿 마크 미너비니: 상승 추세 종목의 신고가 돌파 +15.9%

미너비니 하나만 살아남았습니다. 이건 다음 편에서 따로 자세히 봅니다.

3라운드: 진짜 단타, 분봉으로

일봉으로 하니까 안 되는 거고, 장중에 실시간으로 하면 다르지 않을까 싶었습니다. 오라클 서버에 올리면 실시간 매매도 못 할 건 없으니, 분봉 단타까지 돌려 봤습니다.

분봉 과거 데이터는 무료로 구하기가 어렵습니다. 야후 파이낸스에서 5분봉 약 60일, 60분봉 약 2년치를 받았습니다.

전략 출처 기간 수익률 거래당 평균 (비용 전 → 후)
ORB 60분 (첫 1시간 고가 돌파) 고전적인 시가 범위 돌파 -93.0% (2년) +0.05% → -0.38%
ORB 5분 Zarattini·Aziz 2024 논문 -20.5% (3개월) -0.29% → -0.72%
변동성 돌파 장중판 래리 윌리엄스 -24.0% (3개월) -0.25% → -0.68%
VWAP 눌림 브라이언 섀넌 류 -15.7% (3개월) 0.00% → -0.43%
갭앤고 모멘텀 데이 트레이더 -6.3% (3개월) -1.05% → -1.48%

5분봉 3개월은 마침 시장이 25% 빠진 시기라 숫자 자체는 조심해서 봐야 합니다. 하지만 60분봉 2년으로 봐도 결론은 같았습니다.

단타가 지는 진짜 이유: 0.43%

핵심은 표의 마지막 열입니다. 한국 주식은 한 번 사고팔 때마다 이만큼이 나갑니다.

항목 비율
증권거래세 (팔 때) 0.20%
수수료 (살 때 + 팔 때) 0.015% × 2
체결 손해, 슬리피지 (살 때 + 팔 때) 0.1% × 2
합계 약 0.43%

그런데 단타 규칙들이 비용을 빼기 전에 버는 돈은 거래 한 번에 0% 안팎이었습니다. ORB 60분은 비용 전에는 +0.05%로 아주 조금 벌었는데, 비용을 빼니 -0.38%가 됐습니다. 이걸 2년 동안 6,800번 반복하니 계좌가 거의 사라졌습니다.

결국 실시간이냐 일봉이냐의 문제가 아니었습니다. 세금과 비용을 이길 만큼 한 번에 크게 먹는 규칙이 없으면, 자주 사고팔수록 확실하게 잃습니다.

KODEX 200 같은 국내 주식형 ETF는 증권거래세가 없어서 비용이 훨씬 쌉니다. 그래서 같은 변동성 돌파도 ETF에서는 -0.1%로 손실이 거의 없었습니다. 그렇다고 버는 것도 아니었지만요.

참고한 자료

  • 쿨라매기 규칙: stonkscapital.substack.com의 Kullamägi 모델 정리
  • 종가베팅: tilnote.io의 종가베팅 정리
  • IBS: quantifiedstrategies.com
  • ORB 5분: Zarattini, Barbon, Aziz, "A Profitable Day Trading Strategy for the U.S. Equity Market" (2024)

코드로 보면

모든 백테스트는 같은 비용 설정을 씁니다. 사고팔 때 체결가를 일부러 불리하게(살 때는 0.1% 비싸게, 팔 때는 0.1% 싸게) 잡고, 팔 때는 거래세까지 뺍니다.

@dataclass(frozen=True)
class Costs:
    commission: float = 0.00015  # 매수/매도 각각 0.015%
    sell_tax: float = 0.0020     # 증권거래세 0.20%
    slippage: float = 0.0010     # 체결가 불리함 0.1%


# 살 때
px = open_price * (1 + c.slippage)
cost = qty * px * (1 + c.commission)

# 팔 때
px = open_price * (1 - c.slippage)
proceeds = qty * px * (1 - c.commission - c.sell_tax)

숫자 몇 개라 별것 아닌 것 같지만, 이 세 줄이 거래 한 번마다 약 0.43%를 가져갑니다. 다른 사람의 단타 백테스트를 볼 때도 이 비용이 들어갔는지부터 확인해 보세요.

다음 편에서는 혼자 살아남은 미너비니 규칙을 자세히 보고, 봇에 넣을지 따져 봅니다.

주식 자동매매 봇 만들기