initial: import DOLPHIN baseline 2026-04-21 from dolphinng5_predict working tree
Includes core prod + GREEN/BLUE subsystems: - prod/ (BLUE harness, configs, scripts, docs) - nautilus_dolphin/ (GREEN Nautilus-native impl + dvae/ preserved) - adaptive_exit/ (AEM engine + models/bucket_assignments.pkl) - Observability/ (EsoF advisor, TUI, dashboards) - external_factors/ (EsoF producer) - mc_forewarning_qlabs_fork/ (MC regime/envelope) Excludes runtime caches, logs, backups, and reproducible artifacts per .gitignore.
This commit is contained in:
40
nautilus_dolphin/test_legacy_comparison.py
Executable file
40
nautilus_dolphin/test_legacy_comparison.py
Executable file
@@ -0,0 +1,40 @@
|
||||
"""Run legacy dolphin_vbt_real.py champion on same data for direct comparison."""
|
||||
import sys, time
|
||||
from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent))
|
||||
|
||||
from dolphin_vbt_real import (
|
||||
load_all_data, run_full_backtest, Strategy, generate_grid5g_strategies
|
||||
)
|
||||
|
||||
print("Loading data...")
|
||||
t0 = time.time()
|
||||
df = load_all_data()
|
||||
print(f" Loaded {len(df)} rows in {time.time()-t0:.1f}s")
|
||||
print(f" Date range: {df['timestamp'].min()} to {df['timestamp'].max()}")
|
||||
print(f" Asset columns: {len([c for c in df.columns if c.endswith('USDT')])}")
|
||||
|
||||
# Get champion strategy
|
||||
strats = generate_grid5g_strategies()
|
||||
champion = strats['g_cvx3.0_max5']
|
||||
print(f"\nRunning champion strategy: {champion.name}")
|
||||
print(f" Config: cvx={champion.leverage_convexity}, max_lev={champion.max_leverage}")
|
||||
print(f" vol_filter={champion.vol_filter}, init_cash=25000")
|
||||
|
||||
result = run_full_backtest(df, champion, init_cash=25000.0, seed=42, verbose=True)
|
||||
|
||||
print(f"\n=== LEGACY CHAMPION RESULTS ===")
|
||||
print(f"Trades: {result['trades']}")
|
||||
print(f"Wins: {result['wins']}, WR: {result['win_rate']:.1f}%")
|
||||
print(f"PF: {result['profit_factor']:.3f}")
|
||||
print(f"ROI: {result['roi_pct']:.2f}%")
|
||||
print(f"Final capital: ${result['capital']:.2f}")
|
||||
print(f"Fees: {result['total_fees']:.2f}")
|
||||
print(f"TP exits: {result.get('tp_exits', 'N/A')}")
|
||||
print(f"Hold exits: {result.get('hold_exits', 'N/A')}")
|
||||
print(f"Stop exits: {result.get('stop_exits', 'N/A')}")
|
||||
print(f"DC confirmed: {result.get('dc_confirmed', 'N/A')}")
|
||||
print(f"DC contradicted: {result.get('dc_contradicted', 'N/A')}")
|
||||
print(f"DC neutral: {result.get('dc_neutral', 'N/A')}")
|
||||
print(f"Elapsed: {result.get('elapsed_sec', 'N/A'):.1f}s")
|
||||
Reference in New Issue
Block a user