GT MTF 프로필·캘리브레이션과 04 매칭/시뮬/실거래 파이프라인을 추가한다.

3분~일봉 GT 타점 분석(03c), leg 체결 순서 수정, 총자산 90% 검증 루프,
walk-forward Go/No-Go 시뮬, monitor·live_trader 및 reference 문서를 포함한다.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-31 11:27:50 +09:00
parent b52d61b777
commit 2cb67c42b3
47 changed files with 5956 additions and 209 deletions

View File

@@ -41,11 +41,25 @@ def main() -> None:
trades = trades[: args.limit]
print(f"테스트 모드: 타점 {args.limit}건만")
print(f"=== general_analysis {SYMBOL} (lookback {CHART_LOOKBACK_DAYS}일) ===")
import sys
import time
print(f"=== 03b GT 타점 MTF 분석 {SYMBOL} (lookback {CHART_LOOKBACK_DAYS}일) ===")
print(f" 간격: 3,5,10,15,30,60,240,1440분 (1분 제외) · 타점 {len(trades)}")
sys.stdout.flush()
t0 = time.time()
print("[03b] Phase 0: DB에서 8TF OHLCV 로드...")
sys.stdout.flush()
mon = Monitor(cooldown_file=None)
frames = load_frames_from_db(mon, SYMBOL, lookback_days=CHART_LOOKBACK_DAYS)
if not frames:
raise RuntimeError("coins.db 데이터 없음")
for iv in (3, 5, 10, 15, 30, 60, 240, 1440):
df = frames.get(iv)
n = len(df) if df is not None else 0
print(f" WLD_{iv}: {n:,}")
print(f"[03b] Phase 0 완료 ({time.time() - t0:.0f}초)")
sys.stdout.flush()
# limit 시 임시 trades 파일
if args.limit > 0:
@@ -64,6 +78,10 @@ def main() -> None:
print(f"저장: {csv_path} ({len(df)}× {len(df.columns)}열)")
write_analysis_report(csv_path, Path(args.html))
from deepcoin.matching.gt_mtf_profile import run_gt_mtf_profile
run_gt_mtf_profile(csv_path)
print("완료.")