Skip to content

기술적 분석 12장: 백테스트에서 살아남는 전략은 무엇인가?

기술적 분석 전략 백테스트

앞 장의 후보 목록은 분석 대상을 줄여줄 뿐, 실제 투자 성과를 보여주지 않습니다. 기술적 분석의 마지막 질문은 “어떤 지표가 가장 유명한가?”가 아니라 “같은 조건과 비용을 적용했을 때 어떤 전략이 남는가?”입니다. 이번 장에서는 300개 종목에 같은 기간과 같은 비용 가정을 적용해 이동평균, MACD, 복합 신호를 비교합니다.

state = df["close"] > df["ma20"]
state &= df["ma20"] > df["ma60"]
# 당일 신호로 다음 거래일부터 보유
position = state.groupby(df["code"]).shift(1).fillna(False)
gross_return = position * df["return_1d"]
turnover = position.groupby(df["code"]).diff().abs().fillna(position)
net_return = gross_return - turnover * 0.0015

실제 포트폴리오 계산에서는 해당 날짜에 보유 중인 종목의 수익률을 동일 비중으로 평균냈습니다. 거래비용은 포지션 변경 시 0.15%를 차감했습니다.

검증 구간은 2026년 1월 1일부터 9월 4일까지입니다.

전략누적수익률연환산수익률변동성최대낙폭Sharpe 근사
MA 추세+63.55%+111.03%52.43%-31.05%2.12
MACD 추세+58.15%+100.55%50.36%-33.52%2.00
복합 신호+5.11%+7.86%63.69%-46.21%0.12
코스피+33.62%+55.69%61.14%-38.63%0.91

기술적 분석 전략 누적자산

이번 검증 구간에서는 MA와 MACD 추세 전략이 코스피를 앞섰습니다. MA 추세는 코스피보다 누적수익률이 높고 최대낙폭도 작았지만, -31.05%의 하락을 감수해야 했습니다. 반면 복합 신호 전략은 조건이 더 많았음에도 누적수익률이 +5.11%에 그쳤고 최대낙폭은 -46.21%였습니다.

이 표는 9장의 사건별 결과와 12장의 포트폴리오 결과가 다를 수 있다는 점도 보여줍니다. 복합 신호는 사건별 20일 평균수익률이 +7.03%였지만, 실제 진입·보유·거래비용을 적용한 전략의 누적수익률은 +5.11%였습니다. 신호가 발생한 사례의 평균과 투자자가 보유한 포트폴리오의 성과는 진입 시점, 신호 중복, 보유 종목 수, 거래비용에 의해 달라집니다.

이번 데이터에서 확인한 핵심은 다음과 같습니다.

  1. 거래량 돌파와 MACD 골든크로스는 20일 선행수익률에서 상대적으로 강했습니다.
  2. RSI 회복과 볼린저 하단 반등은 평균보다 중앙값이 낮아 일부 급등 사례의 영향을 크게 받았습니다.
  3. 높은 변동성 종목은 복합 신호가 나와도 양수 비율과 중앙값이 낮았습니다.
  4. 같은 기술 신호라도 산업별 결과가 달랐습니다.
  5. 조건을 많이 결합한다고 전략 성과가 자동으로 좋아지지는 않았습니다.
  6. 높은 수익률에는 항상 최대낙폭과 표본 편향을 함께 표시해야 합니다.

따라서 이번 분석에서 얻은 실전적인 순서는 다음과 같습니다.

  1. MA·MACD로 상승 추세에 있는 종목을 먼저 구분합니다.
  2. 거래량 돌파와 OBV로 추세에 거래량 확인이 붙었는지 봅니다.
  3. RSI·볼린저 반등은 단독 매수 신호가 아니라 시장·산업 조건과 함께 해석합니다.
  4. ATR로 종목별 포지션 크기와 손실 폭을 조정합니다.
  5. 산업·시장 국면으로 후보를 다시 나눈 뒤, 백테스트에서 거래비용과 최대낙폭을 확인합니다.

기술적 분석은 미래를 맞히는 주문이 아니라, 가격·거래량에서 반복적으로 관찰되는 조건을 정의하고 그 조건의 성과와 실패 범위를 측정하는 방법입니다. 이번 결과는 이 표본과 검증 기간에 대한 증거이지, 어떤 지표도 항상 작동한다는 보장은 아닙니다.

전체 원자료는 OHLCV, 신호 결과, 전략 결과, Python 코드에서 확인할 수 있습니다. 과거 검증 결과는 미래 수익을 보장하지 않으며, 실제 투자 전에는 체결 가능성·세금·슬리피지·생존자 편향을 추가로 검토해야 합니다.