GPU backtesting
Accelerate quant research without confusing TFLOPS with alpha — browser WebGPU, anonymous GPU pool bursts, massive LHS grids, then walk-forward Monte Carlo gates.
Five-step GPU pipeline
Each step publishes verifiable output; gates prevent confusing GPU throughput with statistical validation.
| Step | Method | Output | Gate |
|---|---|---|---|
| 1. WebGPU client | Browser WebGPU backtest (/gpu-arena, /local-gpu-backtesting) | TFLOPS estimate, latency | CPU fallback OK |
| 2. GPU pool | Anonymous opt-in bursts (/gpu-pool, /battle widget) | Contributions jsonl | Rate-limited |
| 3. Brute-force optimizer | LHS up to 30000 combos (/optimize, batch5_mc_optimizer) | Param grid results | Research only |
| 4. Batch validation | Sharpe_p5 + MC filters | Pass/fail cells | p5 > 0 |
| 5. Leaderboard | Public rankings (/optimizer-leaderboard, /api/gpu-pool/leaderboard) | Top configs | Transparent |
After GPU optimization, the pipeline joins /monte-carlo-backtesting and /trading-strategy-validation — parallelism does not cancel walk-forward or embargo (/methodology).
Five GPU pitfalls & StrategyArena fixes
- False speedup claims — marketing benchmarks without CPU baseline. Fix: publish honest CPU vs GPU benchmarks on /gpu-arena.
- Overfitting from massive param search — 30000 combos without gates = data mining. Fix: MC CV gate after optimizer (/monte-carlo-backtesting).
- Naive parallelism / look-ahead — future bars leaked across workers. Fix: walk-forward + embargo in /methodology.
- ANGLE/WebGL misleading GPU names — software « GPU » masked. Fix: model masking in gpu_pool_routes.
- Confusing TFLOPS with alpha — throughput ≠ out-of-sample PnL. Fix: separate compute metrics (/api/gpu-pool/stats) from paper PnL (/dashboard).
Live GPU stats (updated: 2026-05-24)
Counts synced with strategy-arena.json and gpu-arena.json when available.
Researcher workflow
detect WebGPU → benchmark → pool burst / LHS sweep → MC p5 gate → leaderboard → paper
Reproducibility: compare a config from /optimize/{slug} to public fields, then validate via Monte Carlo before Hospital.
GPU FAQ
- WebGPU unavailable?
- Automatic CPU fallback; pipeline stays valid, only throughput changes.
- Does the GPU pool execute my orders?
- No — opt-in research bursts, public jsonl, rate-limited; paper only in the arena.
- Where are top configs visible?
- /optimizer-leaderboard et /api/gpu-pool/leaderboard.
Quick GPU glossary
| Term | Role | Link |
|---|---|---|
| WebGPU | Browser compute shaders | /gpu-arena |
| GPU pool | Shared CUDA bursts | /gpu-pool |
| LHS | Brute-force param grid | /optimize |
| Sharpe_p5 | Post-sweep MC gate | /monte-carlo-backtesting |
| TFLOPS·h | Compute metric (≠ PnL) | /api/gpu-pool/stats |
WebGPU detection documented on /gpu-arena; Binance OHLCV via generic_strategy_optimizer.py — no synthetic data for public gates.
Explicit limits
- WebGPU / ANGLE drivers: hardware names sometimes approximate — see pool masking.
- Massive optimization increases overfit risk without MC gates.
- Educational content; no profit promise.