Files
Bithumb/docs/reference/SIMULATION.md
xavis d7848df6f7 refactor: GT·시뮬·운영 3축 정리 및 hybrid 실거래 정합
Phase C/dry-run·미사용 모듈·재생성 HTML을 제거하고, 운영 체결을
sim_causal_hybrid와 동일한 hybrid 로직으로 통합한다.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-03 23:50:28 +09:00

4.3 KiB
Raw Blame History

Simulation (시뮬레이션)

설계: ARCHITECTURE.md. Ground Truth 이후, Operations 이전 단계입니다.

목적

  1. monitor_rules가 holdout·walk-forward·수수료 스트레스를 통과하는지 검증한다.
  2. 운영에 쓸 배분 경로(primary) 를 정한다. (실전 = hybrid, GT oracle 아님)

실행

python scripts/04_match_rules.py          # 선행
python scripts/04_simulation_report.py

산출물

파일 내용
docs/04_matching/simulation_report.json Go/No-Go, portfolio_compare, walk-forward
docs/04_matching/simulation_report.html GT·시뮬 경로별 카드·차트

배포 모델 (primary)

경로 portfolio_compare 전기간 PnL (최근 실행) 운영
GT oracle (사후 ZigZag) ground_truth_chrono +4,291% 미사용 (미래 허용 벤치마크)
권장 primary sim_primary = sim_causal_hybrid (리포트 참고) Operations 배분
causal tier only sim_sized +75% 미사용
인과 GT leg 엔진 sim_causal_gt +15% 미사용
conviction tier sim_tier_enhanced -51% 금지
고정 금액 baseline sim_fixed_order -94% 비교용
  • primary_sizing: hybrid (go_no_go_hybrid.primary_sizing)
  • hybrid: monitor 발화 + DD tier + past-leg tier, enhanced=False
  • 코드: deepcoin/ground_truth/causal_gt_hybrid.py, deepcoin/matching/simulation.py

Go/No-Go (최근 실행 요약)

규칙 (go_no_go)

rule_id holdout EV WF+ 비율 fee 2× EV 결과
buy_compound_tight 5.66 0.75 4.99 PASS
sell_mtf_cross_all_tf 7.13 1.00 7.12 PASS

GO

hybrid primary (go_no_go_hybrid)

검사 결과
monitor_rules_go - PASS
hybrid_holdout_pnl +62.35% PASS
hybrid_max_mdd 19.22% PASS
hybrid_fee_stress_pnl +975.74% PASS
option_c_target_300pct (optional) +1,147% PASS

GO · primary_sizing=hybrid

Option C 2차 (go_no_go_option_c_phase2)

  • 전기간 +1,000% 목표, GT capture ≥23%, WF 양수 월 비율, 슬리피지 스트레스 등 → GO

재실행 후 수치는 simulation_report.json을 기준으로 한다.

포트폴리오 비교 (portfolio_compare) — 읽는 법

설명
ground_truth_chrono GT 타점·amount_krw 시각순 체결 (상한 벤치마크)
sim_primary / sim_causal_hybrid 운영 배분과 동일 (monitor + hybrid tier)
sim_sized EV/WF·leg 가중 복리 (구 경로)
sim_hybrid_holdout hybrid 전기간 복리 후 holdout 구간 자산 증감
sim_hybrid_fee_stress 수수료 스트레스 hybrid
hybrid_dd_params dd_large_pct, dd_medium_pct (캘리브 JSON과 동기)

검증 항목

항목 설명
Holdout 규칙별 EV≥0, PF≥1
Walk-forward 월별 EV·SIM_GO_WF_POSITIVE_RATIO
수수료 스트레스 SIM_FEE_STRESS_MULT (기본 2×)
hybrid holdout PnL, MDD, fee stress, (선택) +300%
슬리피지 Option C 2차 — 체결가 불리 가정 후 흑자 여부

시뮬 vs 실운영 (기대 갭)

시뮬 hybrid는 일한도 없이 복리·전액 배분을 가정한다. 실거래는 LIVE_DAILY_KRW_MAX 등으로 체결이 잘리므로 수익률이 sim_primary와 같지 않을 수 있다. (배포 체크리스트 D6: 실현=sim 미달)

환경 변수

변수 용도
SIM_GO_*, SIM_FEE_STRESS_MULT, SIM_WALK_FORWARD_MIN_MONTHS 규칙 Go/No-Go
SIM_PRIMARY_SIZING auto | hybrid | causal_tier (권장: auto → hybrid)
GT_SIGNAL_CAUSAL 1 — hybrid live sizing 활성
CAUSAL_GT_DD_LARGE_PCT, CAUSAL_GT_DD_MEDIUM_PCT hybrid tier (캘리브와 동기)
GT_BUY_PCT_*, GT_LARGE_LEG_TOP_PCT tier 비중

NO-GO 시

  1. 04_match_rules.py 재실행 (프로필·선별)
  2. 04_simulation_report.py 재실행
  3. go_no_go / go_no_go_hybrid checks 확인

다음 단계