기술적 분석 9장: 여러 지표를 합치면 성과가 좋아지는가?
이동평균, RSI, MACD, 거래량이 모두 좋아 보이면 더 강한 매수 신호일까요? 여러 지표를 합치는 방식은 직관적이지만, 서로 비슷한 가격 정보를 반복해서 사용하거나 신호가 너무 늦어지는 문제가 생길 수 있습니다.
복합 점수 만들기
Section titled “복합 점수 만들기”이번 시리즈에서는 다섯 조건 중 네 개 이상을 만족하면 복합 신호로 분류했습니다.
conditions = pd.concat( [ df["close"] > df["ma20"], df["ma20"] > df["ma60"], df["rsi14"].between(40, 70), df["macd"] > df["macd_signal"], df["volume_ratio20"] > 1, ], axis=1,)df["technical_score"] = conditions.sum(axis=1)df["composite_state"] = df["technical_score"] >= 4previous_state = df.groupby("code")["composite_state"].shift(1).fillna(False)df["composite_entry"] = ( df["composite_state"] & ~previous_state)검증 구간에서 복합 신호 진입은 1,601회 발생했습니다.
| 신호 | 발생 횟수 | 20일 양수 비율 | 평균 수익률 | 중앙값 |
|---|---|---|---|---|
| 복합 신호 진입 | 1,601회 | 53.3% | +7.03% | +2.10% |
거래량 돌파의 평균 수익률 +9.75%보다는 낮았습니다. 여러 조건을 요구했기 때문에 신호의 질이 자동으로 높아진 것이 아니라, 진입 시점이 늦어지고 상승 초기를 놓쳤을 가능성이 있습니다.
복합 신호의 장점은 신호의 설명력입니다. “왜 이 종목이 후보인가?”에 대해 추세, 모멘텀, 거래량으로 나눠 설명할 수 있습니다. 반면 조건을 추가할수록 표본 수가 줄고, 과거 기간에 맞춘 과최적화 위험이 커집니다.
따라서 복합 전략은 점수 자체보다 다음을 관리해야 합니다.
- 조건을 추가하기 전후의 표본 수
- 학습 구간과 검증 구간의 성과 차이
- 평균과 중앙값의 차이
- 산업별 편중
- 신호 발생 후 최대 손실
복합 신호는 최종 매수 버튼이 아니라 다음 분석으로 넘어갈 종목을 줄이는 스크리닝 언어로 사용하는 것이 적절합니다.