ramseshk
20ee340cef
feat: VBT visualization + validation pipeline, HFT tick viz, DuckDB loader
...
Track 1 — VBT Candle-Frequency Pipeline:
- backtests/vbt_validator.py: VBTValidator with 11 checks — timestamp monotonicity,
duplicates, NaN, data gaps, lookahead bias, signal alignment, density,
coincident entry/exit, min trade count, fee application, benchmark comparison.
ValidationReport dataclass with errors/warnings/stats. Validates VBT results
or raw signal arrays.
- backtests/vbt_viz.py: VBTVisualizer with 10+ Plotly chart methods — equity
curve with benchmark, drawdown, rolling Sharpe/Sortino/vol, trade markers,
returns distribution with normal fit, monthly PnL heatmap, gross vs net,
holding periods, parameter sensitivity heatmaps, dashboard compositor,
HTML save (self-contained, CDN Plotly). All methods handle empty/null inputs.
- backtests/vbt_report.py: Markdown + HTML report generator — structured
sections for implementation summary, performance metrics, cost analysis,
validation results, signal analysis, known limitations, next steps.
batch_report() for mass report generation from results directory.
- backtests/vbt_runner.py: Added run_benchmark() (buy-and-hold VBT portfolio),
validate() (integrated VBTValidator), run_with_report() (fetch→validate→
backtest→visualize→save in one call).
Track 2 — HFT Tick Pipeline:
- backtests/tick_viz.py: 9-panel HFT dashboard — price+trade markers,
spread dynamics, top-of-book depth, microprice vs mid, OBI/OFI panel,
VPIN toxicity with thresholds, event timeline (PnL from tick_runner),
markout curves at 6 horizons. Parquet→pandas→Plotly pipeline.
Dark-themed HTML output for microstructure review.
- data/duckdb_load.py: Parquet→DuckDB loader — creates l2_snapshots,
trades, funding tables with schema. Pre-computed 1s rollup views for
microprice, OFI, trade imbalance. Markout queries directly in SQL.
Incremental loading with load_state tracking.
CLI Integration:
- cli.py: Added 'report' (full VBT report), 'validate' (check existing
results), 'hft' (tick dashboard generation) commands. Fixed argparse
help string escaping.
355 tests passing (34 new).
2026-08-11 12:22:11 +08:00
ramseshk
3073415d33
feat: funding arb strategy, queue-aware paper fills, WQI live integration
...
- strategies/funding_arb_strategy.py: full backtestable funding rate carry module
with entry/exit thresholds, position tracking, funding payment accounting,
basis stop-loss, max-hold timeout. Includes backtest_funding_arb() and
run_funding_discovery() for threshold optimization
- live/node_v2.py: replaced naive random fills with QueueAwareFillModel (sim/fills.py)
with queue-priority simulation; integrated WQI predictor and funding arb strategies;
per-coin WQI signal generation every 3 ticks; funding arb metrics in dashboard
- cli.py: added 'funding' command for funding rate distribution analysis and
threshold backtesting
- tests/test_funding_arb.py: 20 tests covering entry/exit logic, fee accounting,
signal generation, backtesting, and node integration
321 tests passing (20 new).
2026-08-11 11:15:25 +08:00
ramseshk
50d63e1ecc
feat: HFT infrastructure — tick backtest runner, VPIN-gated A-S maker, WQI predictor, queue-aware fills
...
- backtests/tick_runner.py: TickBacktestRunner replays stored Parquet L2/trade events
through sim/engine.py with queue position modeling, producing PnL breakdowns,
equity curves, VPIN curves, and QuantVerdict significance reports
- VPINGatedASMaker: VPIN-toxicity-gated A-S market maker with inventory skew
and dynamic spread widening; blocks quoting when VPIN >= alarm threshold
- sim/engine.py: Added SimConfig.from_fee_tier() factory — constructs sim
config from Hyperliquid fee tier (VIP + staking)
- sim/fills.py: Added QueueAwareFillModel — realistic queue-priority fill
simulation replacing random fills in paper trading
- strategies/wqi_predictor.py: WQI z-score directional strategy with
adverse selection gating, timeout exit, stop-loss, and take-profit
- cli.py: Added 'tick', 'markout' analysis, and 'discover' signal-discovery
commands for end-to-end tick-level HFT research pipeline
301 tests passing (23 new).
2026-08-11 10:43:51 +08:00
ramseshk
870df57051
fix: dashboard errors — Math.abs, API routing, fetchHistorical guard
...
Fixes three bugs in dashboard:
1. vbt.html: bare abs(dd) → Math.abs(dd) — fixes ReferenceError
2. server.py: Add /cv/ routing for Next.js quant dashboard
- Mount _next static assets at /cv/_next (not /cv/ which eats API routes)
- Add /cv/api/* routes for backtests/historical, detail, recalc, risk
- Add /cv/ws WebSocket endpoints for live/paper metrics
- Add /cv/ catchall for Next.js HTML pages
3. dashboard-next/src/lib/api.ts: add res.ok guard to fetchHistorical()
— prevents SyntaxError when API returns HTML error pages
4. sim/maker.py: guard observe() against zero mid_price
2026-08-07 15:19:18 +08:00
ramseshk
e58c5951b7
feat: Phase 5 — integration layer (analytics pipeline, production node v2, CLI) + 12 tests
...
live/integrator.py (AnalyticsPipeline):
Real-time pipeline: data → microstructure → signals.
Accumulates book snapshots + trades, computes OBI, VPIN, microprice,
spread, depth, trade imbalance, HFT regime, and emits composite
signal with confidence and breakdown. Per-coin isolation.
live/node_v2.py (ProductionNode):
Rebuilt production node integrating ALL Phase 1-4 modules:
- REST data fetching (order book, mark prices, funding rates)
- AnalyticsPipeline per coin for real-time microstructure signals
- Treasury for position/capital/PnL/breaker management
- ToxicityFilter integration via HlMakerPool makers
- HlMakerPool for per-coin A-S quoting
- CrossVenueMonitor, FundingBasisMonitor, LiquidationRiskOverlay
- Paper trading with probabilistic fill simulation
- Dashboard metrics JSON output (equity, treasury, analytics, maker)
- Periodic status logging
cli.py (unified CLI):
Subcommands integrating all modules:
collect — Run Hyperliquid data collector to Parquet
analyze — Run microstructure analytics on stored data
simulate — Run market-making simulator on stored data
run — Start production trading node (paper or live)
backtest — Run VectorBT backtest
12 integration tests (all pass):
- AnalyticsPipeline: empty, book, trade, VPIN, emit, regime, isolation
- ProductionNode: creation, tick cycle (3 ticks), metrics JSON output
- CLI: import verification
Total test suite: 184 tests, all passing.
2026-08-07 14:54:47 +08:00