초기 자금 GT_INITIAL_CASH_KRW=400000과 원화 한도 비율(알림·LIVE_ORDER·일한도·손실한도)을 맞추고, dry-run/live 체결을 sim_causal_hybrid(replay)와 동일 경로로 통합한다. 시뮬 리포트 갱신, Phase C 슈퍼바이저·매수매도 리허설 스크립트를 추가한다. Co-authored-by: Cursor <cursoragent@cursor.com>
Phase 04 — Matching (GT + 전구간 EV)
안2 파이프라인: 03b GT 스냅샷에서 규칙 후보를 만들고, 3분봉 전 구간에서 발화·forward 수익을 검증한 뒤 valid 구간 EV로 최종 규칙을 고릅니다.
PDCA
| 단계 | 스크립트 모듈 | 산출물 |
|---|---|---|
| 4-1 Plan/Do | profile_rules.py |
rule_candidates.json (기본: 복합·대조만) |
| 4-2 Do | rule_eval.scan |
rule_fires.csv |
| 4-3 Check | label_outcomes.py |
fire_outcomes.csv (기본: leg_gt 청산) |
| 4-4 Act | select_rules.py |
matched_rules.json, backtest_summary.html |
실행
# 전체 (enrich+스캔 약 2~3분)
python scripts/04_match_rules.py
# 단계별
python scripts/04_match_rules.py --phase profile
python scripts/04_match_rules.py --phase scan
python scripts/04_match_rules.py --phase label
python scripts/04_match_rules.py --phase select
선행: python scripts/03_analyze_trades.py
설정 (.env / config.py)
MATCH_LABEL_MODE—leg_gt(다음 GT 매도/직전 매수) 또는forwardMATCH_MAX_HOLD_DAYS— leg_gt 최대 보유 일수 (기본 45)MATCH_INCLUDE_ATOMIC— 0이면 atomic 규칙 제외MATCH_FORWARD_BARS— leg_gt 불가 시 폴백 봉 수 (기본 60)MATCH_TRAIN_RATIO— train/valid 분할 (기본 0.7)MATCH_MIN_FIRES,MATCH_MIN_EV_VALID,MATCH_MIN_PROFIT_FACTOR