#!/bin/bash # ============================================================================== # DOLPHIN CONTINUOUS NATIVE BACKTEST LAUNCHER # Cross-platform: detects Windows (Git Bash / WSL) vs Linux automatically. # Requires: siloqy-env Python, 32GB+ RAM. # Runs single continuous BacktestEngine state over 56 Days. # ============================================================================== echo "================================================================" echo " Launching CONTINUOUS Native 56-Day Backtest " echo "================================================================" echo "[INFO] Running with full 48-asset native Event Injection" echo "[INFO] Simulated Events: ~22,000,000 ticks in ONE continuous batch!" echo "[INFO] Memory footprint: ~15GB expected" echo "[INFO] vol threshold : 0.00026414 (gold standard)" echo "[INFO] min_irp_align : 0.0 (gold standard)" # Resolve project root (two levels up from prod/ops/) SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)" echo "[INFO] Project root: ${PROJECT_ROOT}" # Detect Python interpreter # Priority: DOLPHIN_PYTHON env var > siloqy venv > system python3 if [ -n "${DOLPHIN_PYTHON}" ]; then PYTHON="${DOLPHIN_PYTHON}" elif [ -f "${PROJECT_ROOT}/../siloqy-env/bin/python" ]; then PYTHON="${PROJECT_ROOT}/../siloqy-env/bin/python" elif [ -f "/mnt/dolphinng5_predict/../siloqy-env/bin/python" ]; then PYTHON="/mnt/dolphinng5_predict/../siloqy-env/bin/python" elif command -v python3 &>/dev/null; then PYTHON="python3" else echo "[ERROR] No Python interpreter found. Set DOLPHIN_PYTHON env var." exit 1 fi echo "[INFO] Python: ${PYTHON}" "${PYTHON}" --version 2>&1 cd "${PROJECT_ROOT}" "${PYTHON}" prod/nautilus_native_continuous.py EXIT_CODE=$? echo "================================================================" if [ ${EXIT_CODE} -eq 0 ]; then echo " CONTINUOUS CERTIFICATION COMPLETE (OK) " else echo " CONTINUOUS CERTIFICATION FAILED (exit ${EXIT_CODE})" fi echo "================================================================" exit ${EXIT_CODE}