# 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. 파이프라인

1. 입력: `mtf_bb.load_frames_from_db()` — 8개 간격 OHLCV
2. enrich: 완료 `general_analysis_enrich_bars(raw, interval, full_context=True)`
3. 모듈 순서: `candle_features` → `indicators` → `candles` → `chart` → `context`(patterns/wave/volume/harmonic)
4. MTF 합성: 완료 `general_analysis_mtf_vote_latest()`, `ga_align_*`
5. 시각화: 부분 `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`