MTF 기술적 분석 기법 목록 및 구현 상태
목적: 3분~일봉 OHLCV 유입 시 모든 기법을 봉 단위로 검증 (매수·매도 타점과 무관) ·
간격: 3, 5, 10, 15, 30, 60, 240분 + 일봉(1440) ·
데이터: data/coins.db (WLD) ·
문서: docs/reference/trade_anaysis.html
구현 상태 범례
- 완료 —
general_analysis_enrich_bars(df, interval) CSV 컬럼 또는 기존 Plotly 차트.
- 부분 — Plotly/HTML UI만 없음. 수치·플래그는 CSV에 존재.
- 미구현 — 전용 UI·리포트 페이지 없음 (아래 2건).
- 구현완료·전량재실행 — 코드·CLI는 준비됨. 산출 CSV가 GT 전체를 반영하려면
--limit 없이 재실행.
실행 및 산출물
- 03 enrich (권장):
python scripts/03_analyze_enrich.py
· 모듈: deepcoin/analysis/general_analysis_enrich_runner.py
- 산출:
docs/03_analysis/latest/m3_latest.csv … d1_latest.csv
(간격당 약 247컬럼, 최근 N봉 — GA_DEFAULT_TAIL_EXPORT 기본 200, --tail-export로 변경)
- 점검:
docs/03_analysis/general_analysis_capability.html
- 03b GT 타점 MTF:
python scripts/03_analyze_trades.py
→ docs/03_analysis/general_analysis_trades.csv
· 리포트: docs/03_analysis/general_analysis_report.html
- 주의:
--limit N은 테스트용. 전체 GT(약 450타점) 반영 시 --limit 없이 실행.
분석 시점 정의
- 봉 분석: 각 간격의 완성봉 시계열에 지표·패턴 컬럼 부여 (전 봉 + lookback 롤링).
- 타점 분석(선택):
dt 직전 완성봉만 사용 (merge_asof backward).
- 3분봉 lookback 롤링은 성능상 최근 6000봉 구간만 패턴·VP·파동·하모닉 갱신 (
CONTEXT_TAIL_ROWS).
1. DB 보유 간격
| 간격 | 3분 | 5분 | 10분 | 15분 |
30분 | 60분 | 240분 | 일봉 |
| enrich 대상 |
O | O | O | O |
O | O | O | O |
| DB 적재 |
O | O | O | O |
O | O | O | O |
| 대략 기간 |
~12개월 | ~12개월 | ~12개월 | ~12개월 |
~12개월 | ~12개월 | ~12개월 | ~12개월 |
| 비고 |
1분봉은 DB 6개월만 있어 본 문서 범위 제외. |
2. 파이프라인
- 입력:
mtf_bb.load_frames_from_db() — 8개 간격 OHLCV
- enrich: 완료
general_analysis_enrich_bars(raw, interval, full_context=True)
- 모듈 순서:
candle_features → indicators → candles → chart → context(patterns/wave/volume/harmonic)
- MTF 합성: 완료
general_analysis_mtf_vote_latest(), ga_align_*
- 시각화: 부분
scripts/05_chart_*.py 3분 6패널 · 8TF 타일·타점 미니차트 UI 미구현
3. 차트 분석 (Chart Analysis)
| 방법 | 설명 | 구현 | 주요 컬럼 / 모듈 |
| 캔들차트 (Candlestick) |
OHLC + BB·일목 오버레이 |
완료 |
scripts/05_chart_*.py, ga_chart_type_candle |
| 선차트 (Line) |
종가·MA·MACD 등 시계열 |
완료 UI |
ga_chart_line_slope, ga_chart_line_slope_1 · Plotly 전용 선차트 없음 |
| 바차트 (Bar / OHLC Bar) |
봉 범위·거래량 스파이크 |
완료 UI |
ga_chart_bar_range_pct, ga_chart_vol_spike |
| Heikin-Ashi |
노이즈 완화 캔들 |
완료 |
ga_ha_*, ga_chart_ha_trend |
| Renko |
ATR 브릭 방향 |
완료 |
ga_chart_renko_dir, ga_chart_renko_up, ga_chart_renko_brick_up_ratio |
| Point & Figure |
박스 크기 기준 X/O 열 |
완료 |
ga_chart_pnf_col |
| 멀티 패널 (6패널) |
BB·이격·Stoch·RSI·MACD |
완료 |
scripts/05_chart_*.py 3분 |
| MTF 타일 (Small Multiples) |
8TF 나란히 Plotly |
미구현 |
CSV 8TF 컬럼으로 대체 · docs/03_analysis/latest/*_latest.csv |
4. 패턴 분석 (Pattern Analysis)
lookback 윈도우(LOOKBACK_BARS) 마지막 봉 기준. 롤링 적용: general_analysis_apply_context_features.
4.1 반전 패턴
| 패턴 | 구현 | 컬럼 | 권장 TF |
| 헤드앤숄더 / 역H&S | 완료 | ga_pattern_head_shoulders, ga_pattern_inv_head_shoulders | 60분~일봉 |
| 쌍봉 / 쌍바닥 | 완료 | ga_pattern_double_top, ga_pattern_double_bottom | 30분~일봉 |
| 트리플 탑/바닼 | 완료 | ga_pattern_triple_top, ga_pattern_triple_bottom | 60분~일봉 |
| V자 반등 / 스파이크 | 완료 | ga_pattern_v_bottom, ga_pattern_spike_top | 5~60분 |
| 둥근 천장/바닼 | 완료 | ga_pattern_rounding_top, ga_pattern_rounding_bottom | 일봉 |
| 플래티어 (Rectangle) | 완료 | ga_pattern_rectangle | 15분~240분 |
| 갭 / 아일랜드 | 완료 | ga_pattern_gap_up/down, ga_pattern_island_top/bottom | 60분~일봉 |
| 키리스톤 / 역키리스톤 | 완료 | ga_pattern_keystone_bull, ga_pattern_keystone_bear | 30분~일봉 |
4.2 지속 패턴
| 패턴 | 구현 | 컬럼 | 권장 TF |
| 삼각수렴 (대칭/상승/하락) | 완료 | ga_pattern_triangle_sym/asc/desc | 15분~240분 |
| 깃발 / 페넌트 | 완료 | ga_pattern_flag_bull, ga_pattern_flag_bear | 5~60분 |
| 웨지 | 완료 | ga_pattern_wedge_rising, ga_pattern_wedge_falling | 15분~60분 |
| 채널 | 완료 | ga_pattern_channel_up, ga_pattern_channel_down | 전 TF |
| 박스권 + BB 스퀴즈 | 완료 | ga_pattern_rectangle, ga_bb_squeeze | 5~60분 |
| 컵앤핸들 | 완료 | ga_pattern_cup_handle | 일봉 |
| 측정된 움직임 | 완료 | ga_pattern_measured_move | 30분~일봉 |
| 패턴 요약 라벨 | 완료 | ga_pattern_label | 전 TF |
4.3 캔들 패턴
| 패턴 | 구현 | 컬럼 | 권장 TF |
| 해머 / 유성 / 도지 | 완료 | ga_hammer, ga_shooting_star, ga_doji + candle_features | 3~60분 |
| 장악형 | 완료 | ga_bullish_engulfing, ga_bearish_engulfing | 5~60분 |
| 샛별형 | 완료 | ga_morning_star, ga_evening_star | 15분~일봉 |
| 삼병 / 삼까마귀 | 완료 | ga_three_white_soldiers, ga_three_black_crows | 15분~60분 |
| 피보나치 되돌림 근접 | 완료 | ga_fib_near_level | 30분~일봉 |
5. 기술적 지표 (Technical Indicators)
전 봉 시계열 컬럼. 레거시: RSI, bb_pos, macd_*, stoch_* 등.
5.1 추세
| 지표 | 구현 | 컬럼 |
| SMA / EMA / 골든·데드크로스 | 완료 | ga_sma_*, ga_golden_cross, ga_death_cross |
| MACD | 완료 | macd_line, macd_signal, macd_hist |
| 이격도 | 완료 | indicators DI 5/20/60 |
| ADX (+DI/-DI) | 완료 | ga_adx_14, ga_plus_di, ga_minus_di |
| Parabolic SAR | 완료 | ga_psar, ga_psar_bull, ga_psar_flip_bull/bear |
| Ichimoku | 완료 | indicators + ga_ichi_trend |
| Linear Regression | 완료 | ga_linreg_slope_20, ga_linreg_r2_20 |
| VWAP | 완료 | ga_vwap, ga_close_vs_vwap_pct (누적 VWAP) |
| Supertrend | 완료 | ga_supertrend_bull |
5.2 모멘텀
| 지표 | 구현 | 컬럼 |
| RSI | 완료 | RSI, ga_rsi_delta_1 |
| 스토캐스틱 | 완료 | stoch_k, stoch_d, ga_stoch_k_delta_1 |
| CCI | 완료 | ga_cci_20, ga_cci_oversold/overbought |
| Williams %R | 완료 | ga_williams_r, ga_williams_oversold/overbought |
| ROC | 완료 | ga_roc_10 |
| MFI | 완료 | ga_mfi_14 |
| Awesome Oscillator | 완료 | ga_ao, ga_ao_bull, ga_ao_bear |
| RSI / MACD / Stoch 다이버전스 | 완료 | ga_rsi_*_div, ga_macd_*_div, ga_stoch_*_div |
5.3 변동성
| 지표 | 구현 | 컬럼 |
| 볼린저 밴드 | 완료 | bb_pos, ga_bb_width_pct, zone (candle_features) |
| ATR | 완료 | ga_atr_14, ga_atr_pct |
| Keltner Channel | 완료 | ga_keltner_mid/upper/lower, ga_keltner_pos |
| Donchian Channel | 완료 | ga_donchian_pos |
| Historical Volatility | 완료 | ga_hv_20, ga_hv_percentile |
| BB Squeeze | 완료 | ga_bb_squeeze |
5.4 거래량
| 지표 | 구현 | 컬럼 |
| OBV + 다이버전스 | 완료 | ga_obv, ga_obv_slope_10, ga_obv_*_div |
| Volume MA ratio | 완료 | ga_vol_ratio, ga_vol_ma20 |
| VWAP deviation | 완료 | ga_close_vs_vwap_pct |
| Accumulation/Distribution | 완료 | ga_ad_line, ga_ad_slope_10 |
| Chaikin Money Flow | 완료 | ga_cmf_20 |
| Volume Profile | 완료 | ga_vp_poc, ga_vp_vah, ga_vp_val, ga_vp_in_value_area |
6. 파동·시장 구조
| 이론 | 구현 | 컬럼 | 비고 |
| 다우 이론 (HH/HL/LH/LL) | 완료 | ga_struct_* | 피벗 기반 |
| 시장 구조 (BOS/CHoCH) | 완료 | ga_struct_bos_*, ga_struct_choch | |
| 엘리어트 파동 | 완료 | ga_elliott_wave_count, ga_elliott_phase | 라이트(스윙 수·단계) |
| Wyckoff | 완료 | ga_wyckoff_phase, ga_wyckoff_spring, ga_wyckoff_utad | accumulation/distribution + spring/UTAD |
| 일목 (구름) | 완료 | ga_ichi_trend | |
| 피보나치 | 완료 | ga_fib_near_level | 0/382/500/618/100/1618 |
| 하모닉 (Gartley/Bat) | 완료 | ga_harmonic_gartley, ga_harmonic_bat, ga_harmonic_label | 5피벗 비율 |
| 앤더류 피치포크 | 완료 | ga_pitchfork_bias, ga_pitchfork_dist_pct | 3피벗 중앙선 |
7. MTF 합성
| 방법 | 구현 | 컬럼 / 함수 |
| TF 가중 투표 | 완료 | general_analysis_mtf_vote_latest() → ga_vote_timing_buy/sell, ga_vote_trend_score |
| 정렬 점수 (RSI) | 완료 | ga_align_timing_buy_score, ga_align_timing_sell_score |
| 상위 TF 추세 필터 | 완료 | ga_align_trend_score, TF별 ga_struct_trend |
| MTF 충돌 태그 | 완료 | ga_align_mtf_conflict |
| 봉 간 Δ (T vs T-1) | 완료 | ga_rsi_delta_1, ga_macd_hist_delta_1, ga_stoch_k_delta_1 |
8. 구현 단계 (현황)
| 단계 | 내용 | 산출물 | 구현 |
| P0 | 8TF 봉 enrich + latest CSV | docs/03_analysis/latest/*_latest.csv | 완료 |
| P1 | 기법 점검 HTML | docs/03_analysis/general_analysis_capability.html | 완료 |
| P2 | 전 지표·거래량·변동성 | general_analysis_indicators.py | 완료 |
| P3 | 전 패턴·캔들 | general_analysis_patterns.py, candles.py | 완료 |
| P4 | 파동·VP·하모닉·MTF | wave, volume, harmonic, align | 완료 |
| P5 | GT 타점 wide CSV (03b) | docs/03_analysis/general_analysis_trades.csv | 구현완료·전량재실행 |
| P6 | 8TF Plotly 타일 · 타점 미니차트 | trade_detail.html | 미구현 |
| — | 04 규칙 매칭 · 05 1분 운영 | scripts/04_match_rules.py, 05_run_monitor.py | 로드맵 예정 |
9. 코드베이스 매핑
| 모듈 | 역할 |
general_analysis_enrich_runner.py | 8TF enrich 로직 · CLI: scripts/03_analyze_enrich.py |
general_analysis_pipeline.py | enrich_bars, snapshot_at_bar |
general_analysis_indicators.py | 추세·모멘텀·변동성·거래량·SAR·Keltner·AO·HV·Δ |
general_analysis_candles.py | Heikin-Ashi, 단일·복수 봉 패턴 |
general_analysis_chart.py | Renko, P&F, 선·바 파생 |
general_analysis_patterns.py | 반전·지속 패턴 + 롤링 적용 |
general_analysis_wave.py | 구조·엘리어트·Wyckoff·피보나치·피치포크 |
general_analysis_volume.py | Volume Profile POC/VAH/VAL |
general_analysis_harmonic.py | Gartley, Bat |
general_analysis_context.py | lookback 롤링 일괄 (patterns/wave/vp/harmonic) |
general_analysis_align.py | ga_align_*, ga_vote_* |
general_analysis_runner.py | GT 타점 wide CSV · CLI: scripts/03_analyze_trades.py |
indicators.py / candle_features.py | BB, 일목, RSI, MACD, Stoch, 이격도, zone |
scripts/05_chart_*.py | 3분 6패널 · ground truth 차트 |
10. 구현 집계
| 구분 | 완료 | 부분 (UI만) | 미구현 |
| 차트 분석 (§3) | 7 | 2 (선·바 Plotly) | 1 (MTF 타일) |
| 반전 패턴 (§4.1) | 8 | 0 | 0 |
| 지속 패턴 (§4.2) | 8 | 0 | 0 |
| 캔들 패턴 (§4.3) | 5 | 0 | 0 |
| 추세 지표 (§5.1) | 9 | 0 | 0 |
| 모멘텀 (§5.2) | 8 | 0 | 0 |
| 변동성 (§5.3) | 6 | 0 | 0 |
| 거래량 (§5.4) | 6 | 0 | 0 |
| 파동·구조 (§6) | 8 | 0 | 0 |
| MTF 합성 (§7) | 5 | 0 | 0 |
| 합계 | 70 | 2 | 1 |
「부분」= CSV 수치는 있으나 전용 Plotly UI 없음. P5 「구현완료·전량재실행」= 코드·CLI 준비됨, GT 450건 전체 wide CSV는 03_analyze_trades.py를 --limit 없이 실행해 갱신.
문서 버전: 2026-05-30 (프로젝트 구조·CLI 동기화) · DeepCoin / WLD ·
docs/reference/trade_anaysis.html ·
DB: data/coins.db · GT: data/ground_truth/ground_truth_trades.json ·
enrich: python scripts/03_analyze_enrich.py ·
타점: python scripts/03_analyze_trades.py ·
약 247컬럼/TF · tail 기본 200봉 ·
UI 미구현: MTF 타일 Plotly, trade_detail.html ·
다음: 04 매칭, 05 운영 — docs/reference/ROADMAP.md