# 정답 타점 (Ground Truth) 1달(기본 45일) 3분봉 구간에서 **사후적 최적 스윙** 매수·매도 라벨을 만듭니다. 실시간 매매 전략이 아니라, 이후 전략 검증·학습용 **정답 데이터**입니다. ## Plan - **목적**: 차트 상 의미 있는 저점 매수·고점 매도를 JSON으로 고정 - **방법**: 고점(major swing)에서 1~2회 매도 · 저점(ZigZag+BB)에서 분할 매수 · 삼각형 크기=비중 ## Do ```bash python scripts/02_ground_truth.py # ground_truth_trades.json python scripts/05_chart_truth.py # JSON + HTML 차트 ``` ## Check | 환경 변수 | 기본 | 설명 | |-----------|------|------| | `CHART_LOOKBACK_DAYS` | 365 | 조회 일수 (`.env` 기본 1년) | | `GT_MIN_SWING_PCT` | 4.0 | ZigZag 최소 스윙(%) | | `GT_PIVOT_ORDER` | 20 | 국소 극값 반경(봉) | | `GT_MIN_BARS_BETWEEN` | 30 | 체결 간격(3분봉 30봉=90분) | | `GT_MIN_LEG_PCT` | 8.0 | 한 구간 최소 수익(%) | | `GT_MAX_ROUND_TRIPS` | 24 | 최대 라운드트립 | | `GT_SELECTION_MODE` | split_buy_peak_sell | `split_buy_peak_sell` 등 (`.env` 참고) | ## Act - JSON 수동 수정 후 `scripts/05_chart_truth.py` 재실행으로 차트 갱신 - 파라미터 조정으로 타점 수·크기 튜닝