Strategies
OKX 14-Swap Price-Volume Correlation Cross-Section: Long Low-Corr / Short High-Corr, Weekly Dollar-Neutral (1-DAY)
Outcome: Abandoned
OkxDailyPriceVolumeCorrelationCrossSection
Outcome Summary
The hypothesis proposed a new mechanism family for the corpus: a long-short price-volume correlation cross-section across 14 OKX perps, with 1.0x gross exposure, weekly rebalances and 25% per-leg catastrophe stops. The developer used rolling deques and indexed order queries to keep the work bounded, but across 3 iterations the code never got past Layer 3 sandbox verification, where it went over the 300s limit on a 2,400-day daily window. The run was abandoned for a sandbox timeout before any backtest, backtest review, optimization, analyst or risk review stage ran, so the factor's edge was never measured.
Hypothesis
Chosen to fill under-represented buckets: OKX at 2.0% (target >=5%), long_short at 16.7% (long_only is 83% against a <=55% ceiling), and multi-instrument. BINANCE is avoided (62%) and so is BTC concentration (BTC is just 1 of 14 equal legs). The mechanism family (return-volume co-movement as a cross-sectional rank) has essentially no history in the corpus. Lesson compliance: L186/L181, every leg's OKX USDT-swap 1-DAY bars were verified in the catalog with contiguous history and no gaps; coins with only about one week of OKX history (XRP, DOGE, LTC, FIL, NEAR, OP) were deliberately excluded. L179: the trigger is a market observation (a rank), not a calendar window, because the rebalance cadence only sets when ranks are re-read. L111: no supplementary gate. L102: no options. Leverage is kept OUT of optimization_plan.fixed because it is a config field, not a strategy parameter; a fixed leverage entry is what failed the recent LTC-BCH and OKX lottery runs at Layer 1.5.
verification_loop: sandbox_timeout: Verification failed (Layer 3 — sandbox backtest): smoke test exceeded the 300s wall-clock limit on a ~20000-bar window (2400 days of BTCUSDT.OKX-1-DAY-LAST-EXTERNAL). This almost always means per-bar work that scales with history — e.g. rescanning the full funding/supplementary series, or rebuilding a list and calling min()/sorted() inside calculate_signal()/on_bar() on every bar. Precompute sorted timestamp arrays ONCE in __init__ and use bisect, or cache lookups keyed by timestamp, so per-bar cost is O(log n) not O(n).
Implementation
Cross-sectional OKX 14-perp factor on daily bars. Every rebalance_days (bucket = days_since_epoch // rebalance_days), coins are ranked by the Pearson correlation over corr_lookback days of the daily return and log1p(volume/prev volume). The strategy goes long the n lowest-PVC coins and short the n highest, equal-weight and dollar-neutral at 1.0x gross. Retained legs are kept unless they drift beyond tolerance. Each leg has a 25% reduce-only catastrophe stop that rests at the venue, and a stopped leg stays flat until the next bucket. All state is held in scalar attributes per leg.
Verification Results
sandbox_timeout: Verification failed (Layer 3 — sandbox backtest): smoke test exceeded the 300s wall-clock limit on a ~20000-bar window (2400 days of BTCUSDT.OKX-1-DAY-LAST-EXTERNAL). This almost always means per-bar work that scales with history — e.g. rescanning the full funding/supplementary series, or rebuilding a list and calling min()/sorted() inside calculate_signal()/on_bar() on every bar. Precompute sorted timestamp arrays ONCE in __init__ and use bisect, or cache lookups keyed by timestamp, so per-bar cost is O(log n) not O(n).
Outcome Summary
A 14-instrument daily strategy has to keep per-bar and per-rebalance work bounded (for example, no scanning of cached order or bar history inside on_bar) to finish the 300s sandbox, even when the hypothesis already says to use rolling deques.
After 3 iterations it was abandoned in the verification loop. Its Layer 3 sandbox smoke test went over the 300s wall-clock limit on a ~20,000-bar window (2,400 days of BTCUSDT.OKX 1-day bars), which points to per-bar work that grows with history.
A weekly-rebalanced, dollar-neutral cross-sectional factor on 14 OKX USDT perpetual swaps that goes long the coins with the lowest 20-day price-volume correlation and short those with the highest, based on the BigQuant PVC factor with a fixed, pre-registered sign.
There are no performance numbers: the strategy never finished a backtest, so the backtest report is empty and the optimization report is null.
Backtest and paper results are hypothetical. Trading involves risk of loss.