"""BRONZE baseline with DAILY equity curve DD (same method as test_dliq_fix_verify.py). Expected: ROI=88.55%, DD=15.05%, T=2155 """ import sys, time, math sys.stdout.reconfigure(encoding='utf-8', errors='replace') from pathlib import Path import numpy as np _HERE = Path(__file__).resolve().parent sys.path.insert(0, str(_HERE.parent)) from exp_shared import ENGINE_KWARGS, MC_BASE_CFG, load_data, load_forewarner from nautilus_dolphin.nautilus.esf_alpha_orchestrator import NDAlphaEngine from nautilus_dolphin.nautilus.adaptive_circuit_breaker import AdaptiveCircuitBreaker def main(): print("Loading data (gold method: float64, 2-file seg-based vol_p60)...") d = load_data() fw = load_forewarner() print() kw = ENGINE_KWARGS.copy() eng = NDAlphaEngine(**kw) acb = AdaptiveCircuitBreaker() acb.preload_w750(d['date_strings']) eng.set_ob_engine(d['ob_eng']) eng.set_acb(acb) if fw is not None: eng.set_mc_forewarner(fw, MC_BASE_CFG) eng.set_esoteric_hazard_multiplier(0.0) print(f" base_max_leverage = {eng.base_max_leverage}") t0 = time.time() daily_caps = [] for pf_file in d['parquet_files']: ds = pf_file.stem df, acols, dvol = d['pq_data'][ds] vol_ok = np.where(np.isfinite(dvol), dvol > d['vol_p60'], False) eng.process_day(ds, df, acols, vol_regime_ok=vol_ok) daily_caps.append(eng.capital) tr = eng.trade_history n = len(tr) roi = (eng.capital - 25000.0) / 25000.0 * 100.0 peak, max_dd = 25000.0, 0.0 for cap in daily_caps: peak = max(peak, cap) max_dd = max(max_dd, (peak - cap) / peak * 100.0) def _abs(t): return t.pnl_absolute if hasattr(t, 'pnl_absolute') else t.pnl_pct * 250.0 wins = [t for t in tr if _abs(t) > 0] losses = [t for t in tr if _abs(t) <= 0] pf = sum(_abs(t) for t in wins) / max(abs(sum(_abs(t) for t in losses)), 1e-9) wr = len(wins) / n * 100.0 if n > 0 else 0.0 print(f" ROI={roi:+.2f}% T={n} DD={max_dd:.2f}% PF={pf:.4f} WR={wr:.1f}% ({time.time()-t0:.0f}s)") print() print(f"BRONZE TARGET: ROI=88.55% T=2155 DD=15.05%") roi_ok = abs(roi - 88.55) < 1.0 dd_ok = abs(max_dd - 15.05) < 0.5 t_ok = n == 2155 print(f"ROI match: {'PASS' if roi_ok else 'FAIL'} (diff={roi-88.55:+.2f}pp)") print(f"DD match: {'PASS' if dd_ok else 'FAIL'} (diff={max_dd-15.05:+.2f}pp)") print(f"T match: {'PASS' if t_ok else 'FAIL'} (got {n})") if __name__ == '__main__': main()