4시간봉 ML/DL 분석
목차
- 분석 목표
- 데이터셋
- 타임프레임별 ML 성능 비교
- Tree-Based 모델 성능
- Walk-Forward Validation
- Top 20 중요 피처
- 피처 카테고리 분포
- 왜 4시간봉 ML이 불확실한가?
- 1. 샘플 수 부족
- 2. 높은 분산
- 3. 타임프레임 특성
- 결론 및 권장사항
- ML 기반 필터 적용
- 4시간봉 전략 운용
- 멀티 타임프레임 접근
- 추가 실험 제안
분석 목표
4시간봉 데이터에서 SL(손절) vs TP(익절) 거래를 사전에 예측할 수 있는가?
데이터셋
| 항목 | 값 |
| 전략 설정 | MA50, TP10%, SL5% |
| 총 샘플 수 | 103 거래 |
| SL (Label=1) | 66 (64.1%) |
| TP (Label=0) | 37 (35.9%) |
| 피처 수 | 177개 |
샘플 수가 103개로 매우 적습니다. 통계적으로 신뢰할 수 있는 ML 학습이 어렵습니다.
타임프레임별 ML 성능 비교
| 항목 | 5분봉 | 15분봉 | 1시간봉 | 4시간봉 |
| 샘플 수 | 620 | 401 | 165 | 103 |
| 클래스 비율 (SL:TP) | 55:45 | 68:32 | 77:23 | 64:36 |
| 최고 AUC (Tree) | 0.55 | 0.53 | 0.62 | 0.56 |
| 예측력 | 없음 | 없음 | 의미있음 | 불확실 |
Tree-Based 모델 성능
| Model | Accuracy | Precision | Recall | F1 | AUC-ROC |
| RandomForest | 57.1% | 61.5% | 66.7% | 0.64 | 0.56 |
| LightGBM | 47.6% | 52.9% | 75.0% | 0.62 | 0.51 |
| XGBoost | 57.1% | 57.1% | 100% | 0.73 | 0.50 |
| LogisticRegression | 47.6% | 52.9% | 75.0% | 0.62 | 0.39 |
RandomForest가 AUC 0.56으로 가장 높지만, 샘플 수가 적어 신뢰도가 낮습니다.
Walk-Forward Validation
| Model | AUC-ROC (mean ± std) |
| RandomForest | 0.53 ± 0.23 |
| XGBoost | 0.50 ± 0.00 |
| LightGBM | 0.50 ± 0.00 |
| LogisticRegression | 0.39 ± 0.20 |
표준편차가 매우 큽니다 (0.20~0.23). 이는 적은 샘플 수로 인한 불안정성을 의미합니다.
Top 20 중요 피처
| 순위 | 피처 | 중요도 | 카테고리 |
| 1 | ma_200_slope_std | 14.15 | 이평선 기울기 |
| 2 | ma_25_slope_last | 12.11 | 이평선 기울기 |
| 3 | ma_25_dist_pct_last | 12.04 | 이평선 이격도 |
| 4 | macd_slope_std | 11.79 | MACD |
| 5 | vol_change_mean | 11.63 | 거래량 |
| 6 | ultimate_osc_std | 11.10 | 오실레이터 |
| 7 | bb_upper_dist_last | 9.30 | 볼린저밴드 |
| 8 | above_ma_100_std | 8.98 | 이평선 위치 |
| 9 | candle_body_pct_std | 8.31 | 캔들 패턴 |
| 10 | mfi_mean | 8.07 | 거래량 |
피처 카테고리 분포
| 카테고리 | Top 20 내 개수 |
| 이평선 관련 | 6 |
| 거래량 | 3 |
| 오실레이터 | 2 |
| 캔들 패턴 | 2 |
| 기타 | 7 |
이평선 관련 피처가 가장 중요합니다. 4시간봉에서는 장기 추세 지표가 결과에 영향을 미칩니다.
왜 4시간봉 ML이 불확실한가?
1. 샘플 수 부족
ML 학습에 필요한 최소 샘플: ~500개
4시간봉 샘플: 103개 (20% 수준)
→ 과적합 위험 매우 높음
→ 일반화 성능 보장 불가
2. 높은 분산
- Walk-forward 표준편차 0.20~0.23
- 폴드별 성능 편차가 큼
- 일관된 예측 불가
3. 타임프레임 특성
| 특성 | 4시간봉 |
| 노이즈 | 낮음 |
| 패턴 일관성 | 보통 |
| 샘플 수 | 부족 |
| 외부 영향 | 높음 (뉴스, 이벤트) |
결론 및 권장사항
ML 기반 필터 적용
ML 필터는 4시간봉에서 권장하지 않습니다.
| 타임프레임 | ML 필터 적용 | 권장도 | 이유 |
| 1시간봉 | O (AUC 0.62) | 권장 | 적절한 샘플, 좋은 AUC |
| 15분봉 | X (AUC 0.53) | 비권장 | 낮은 AUC |
| 5분봉 | X (AUC 0.55) | 비권장 | 노이즈 |
| 4시간봉 | X (AUC 0.56) | 비권장 | 샘플 부족 |
4시간봉 전략 운용
ML 없이 운용 시:
- 단순 규칙 기반 진입/청산만 사용
- 반익절 2% 필수 적용
- 포지션 사이즈 축소 (높은 MDD 대비)
멀티 타임프레임 접근
# 4시간봉으로 추세 방향 확인
if is_4h_uptrend():
# 1시간봉 ML 필터로 진입 여부 결정
if hourly_ml_filter.predict(hourly_features) == "TP_LIKELY":
enter_long()
추가 실험 제안
- 데이터 확장: 다른 암호화폐 (ETH, BNB) 데이터 추가로 샘플 확보
- 피처 축소: 오버피팅 방지를 위해 피처 수 감소 (177 → 30)
- 앙상블: 여러 타임프레임 모델 결합
- 전이 학습: 1시간봉 모델을 4시간봉에 적용