4시간봉 ML/DL 분석

목차

  1. 분석 목표
    1. 데이터셋
  2. 타임프레임별 ML 성능 비교
  3. Tree-Based 모델 성능
  4. Walk-Forward Validation
  5. Top 20 중요 피처
    1. 피처 카테고리 분포
  6. 왜 4시간봉 ML이 불확실한가?
    1. 1. 샘플 수 부족
    2. 2. 높은 분산
    3. 3. 타임프레임 특성
  7. 결론 및 권장사항
    1. ML 기반 필터 적용
    2. 4시간봉 전략 운용
    3. 멀티 타임프레임 접근
  8. 추가 실험 제안

분석 목표

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 없이 운용 시:

  1. 단순 규칙 기반 진입/청산만 사용
  2. 반익절 2% 필수 적용
  3. 포지션 사이즈 축소 (높은 MDD 대비)

멀티 타임프레임 접근

# 4시간봉으로 추세 방향 확인
if is_4h_uptrend():
    # 1시간봉 ML 필터로 진입 여부 결정
    if hourly_ml_filter.predict(hourly_features) == "TP_LIKELY":
        enter_long()

추가 실험 제안

  1. 데이터 확장: 다른 암호화폐 (ETH, BNB) 데이터 추가로 샘플 확보
  2. 피처 축소: 오버피팅 방지를 위해 피처 수 감소 (177 → 30)
  3. 앙상블: 여러 타임프레임 모델 결합
  4. 전이 학습: 1시간봉 모델을 4시간봉에 적용