**Good news:** The existing NPZ is already on disk at `DB/fast_cache_akela_shortlist_1m_30d.npz` (8.9 MB). No data fetch is needed to get started. Here is the 6-phase execution plan: --- ## Phase 1 — Verify prior results on existing NPZ Run all 3 configs against the existing `DB/fast_cache_akela_shortlist_1m_30d.npz`: ```bash cd obw_platform python3 backtester_dual_long_short_fast_pack_v2.py \ --cfg configs/h4_freedommoney_ratio_best_v2.yaml \ --npz ../DB/fast_cache_akela_shortlist_1m_30d.npz \ --symbol "FREEDOMMONEY/USDT:USDT" ``` Accept if ratio is within 5% of 12.69. Captures the JSON output, computes ratio. ## Phase 2 — Fetch fresh FREEDOMMONEY data from BingX (5000 × 1m bars) ```bash python3 fetch_build_cache_v17.py \ -i obw_platform/universe/universe_short_top15_1m.txt \ -t 1m --back-bars 5000 \ -o DB/combined_cache_1m_freedommoney_5000b.db \ --exchange bingx --ccxt-symbol-format usdtm --fresh ``` Falls back gracefully if FREEDOMMONEY not on BingX. ## Phase 3 — Build NPZ from SQLite ```bash python3 obw_platform/build_fast_ohlcv_npz_from_db_v2.py \ --db DB/combined_cache_1m_freedommoney_5000b.db \ --symbol "FREEDOMMONEY/USDT:USDT" \ --out DB/fast_cache_freedommoney_1m_5000b.npz --ohlc-mode native ``` ## Phase 4 — Re-evaluate on enlarged window Same 3-config runs on the new NPZ, compare to Phase 1. ## Phase 5 — Tune if ratio degrades below 8.0 Target: `tpPercent`, `subSellTPPercent`, `callbackPercent`, `maxLongInvestPct`, `maxShortInvestPct`. Reject if `margin_calls > 0`, `|unrealized| > 60`, or `MTM_DD < -20%`. ## Phase 6 — Deliverables Update `AGENT_STATE.md`, append to `EXPERIMENT_LEDGER.csv`, save best config, write ranked CSV to `_reports/freedommoney/`, pack snapshot. --- Shall I proceed with execution starting at Phase 1?