Files
foxhunt/databento_scaling_plan.md
jgrusewski e8a68ee39f Download 360 DBN files (36.3 MB) using Rust databento client
- Created data/examples/download_ml_training_data.rs using reqwest + Databento HTTP API
- Downloaded 90 days × 4 symbols (ES.FUT, NQ.FUT, ZN.FUT, 6E.FUT)
- Files saved to test_data/real/databento/ml_training/
- Total: 360 files, 15 MB compressed DBN format
- Used existing Rust pattern from download_nq_fut.rs
- API key loaded from .env file
- 100% success rate (360/360 files)
- Ready for ML training benchmarks

Next: Create simplified training benchmark for RTX 3050 Ti GPU measurements
2025-10-13 13:30:02 +02:00

23 KiB

Databento Progressive Scaling Plan - Foxhunt HFT System

Version: 1.0
Date: 2025-10-12
Status: APPROVED FOR IMMEDIATE STAGE 1 EXECUTION
System Status: 100% Production Ready (21/22 E2E tests passing, 95.5% pass rate)


Executive Summary

This plan defines a 5-stage progressive adoption strategy for Databento market data, scaling from minimal testing ($0-50) to full production deployment ($5K-15K+/month). The approach prioritizes risk minimization through validated milestones and cost control through staged investment.

Key Principles

  1. Test What You Fly: Use production-grade L3/MBO data from Stage 1 to validate architecture early
  2. Fail Fast, Fail Cheap: Discover technical issues at $50 cost, not $5,000 cost
  3. Progressive Validation: Each stage has clear go/no-go criteria before advancing
  4. Budget Transparency: Separate data costs, exchange fees, and infrastructure costs
  5. Risk Isolation: 100% E2E test pass rate required before live capital deployment

Investment Summary

Stage Data (Databento) Exchange Fees Infrastructure (Colo) Total Monthly Risk Level
Testing $0-50 (one-time) $0 $0 $0-50 Minimal
Prototype $50-200 $0 $0 $50-200 Low
Alpha $200-500 $0-500* $0 $200-1,000 Medium
Beta $500-1,500 $500-2,500 $1,000-5,000 $2,000-9,000 Medium-High
Production $1,500-5,000 $2,500+ $1,000-5,000+ $5,000-15,000+ High

*Exchange fees may start in Alpha if using licensed real-time data for paper trading.


Stage 1: Technical Testing ($0-50, 1 Week)

Objective

Validate that the Foxhunt system can ingest, parse, and process Databento L3/MBO data without falling behind.

Scope

  • Dataset: 1 symbol (e.g., BTC-USD), 1 trading day, L3/MBO depth
  • Data Schema: Market By Order (MBO) - full order flow with add/cancel/modify events
  • Environment: Development (local or cloud dev servers)
  • Capital at Risk: $0 (historical data only)

Success Criteria (Go/No-Go)

PASS: Advance to Stage 2
FAIL: Return to free Kaggle data, re-evaluate architecture

Criterion Target Measurement Method
Data Integrity 100% messages parsed Verify all DBN messages parse correctly, zero checksum failures
Timestamp Precision Nanosecond accuracy Validate no timestamp truncation in storage pipeline
Ingestion Performance >1x real-time speed Process full day's data faster than real-time (e.g., 1 day in <1 hour)
Order Book Reconstruction 100% accuracy Validate order book state matches expected snapshots
ML Feature Extraction Zero errors Confirm MAMBA-2/DQN/PPO models can consume MBO features
Storage Format Parquet write success Verify Parquet persistence works with MBO schema

Technical Validation Checklist

# 1. Download 1-day MBO data from Databento
databento historical download \
  --dataset GLBX.MDP3 \
  --symbols BTC-USD \
  --start 2025-10-01 \
  --end 2025-10-02 \
  --schema mbo \
  --output-format dbn

# 2. Run parser validation
cargo test -p data --test test_databento_mbo_parser -- --nocapture

# 3. Run ingestion benchmark
cargo bench -p data --bench databento_ingestion

# 4. Validate order book reconstruction
cargo test -p trading_engine --test test_order_book_replay

# 5. Run ML feature extraction
cargo test -p ml --test test_mbo_feature_extraction

Expected Costs

  • Data: $20-50 (1 symbol, 1 day MBO historical)
  • Compute: $0 (use existing dev infrastructure)
  • Exchange Fees: $0 (historical data only)
  • Total: $20-50 one-time

Timeline

Day Activity Owner Deliverable
1 Download MBO data, set up parser Data Team DBN files ingested
2-3 Run ingestion tests, validate performance Trading Team Benchmark results
4 Order book reconstruction validation Trading Team Accuracy report
5 ML feature extraction tests ML Team Feature validation
6-7 Review results, go/no-go decision All Teams Decision document

Rollback Plan

IF any success criterion fails:

  1. Document specific failure (parser error, performance issue, etc.)
  2. Determine if issue is fixable (software bug) or architectural (data volume too high)
  3. IF fixable: Fix and retry Stage 1 (cost: +$50)
  4. IF architectural: Abandon Databento, continue with Kaggle data
  5. Cost limit: $200 maximum for Stage 1 retries before abandoning

Risk Assessment

Risk Probability Impact Mitigation
Parser fails on MBO schema Low Medium Test with small subset first
Performance <1x real-time Medium High Profile code, optimize bottlenecks
Storage format incompatible Low Medium Validate Parquet schema early
ML models can't consume features Low High Test feature extraction first

Stage 2: Prototype Backtesting ($50-200, 2 Weeks)

Objective

Validate that trading strategies show positive edge on realistic, high-quality market data.

Scope

  • Dataset: 2-3 symbols (BTC-USD, ETH-USD, SOL-USD), 1 week, L3/MBO depth
  • Data Schema: MBO with full order flow
  • Environment: Development with Backtesting Service
  • Capital at Risk: $0 (backtesting only)

Success Criteria (Go/No-Go)

PASS: Advance to Stage 3 (Alpha)
FAIL: Return to Stage 1 for more testing OR re-evaluate strategy (NOT data quality)

Criterion Target Measurement Method
Sharpe Ratio >1.5 Out-of-sample backtest results
Maximum Drawdown <20% Risk metrics from Backtesting Service
Statistical Significance p-value <0.05 Validate results not due to chance/overfitting
Strategy Latency <10ms P99 Measure decision-to-order latency
Win Rate >55% Percentage of profitable trades
PnL per Trade Positive net of fees Include realistic slippage + commission

Technical Validation Checklist

# 1. Download 1-week MBO data (3 symbols)
databento historical download \
  --dataset GLBX.MDP3 \
  --symbols BTC-USD,ETH-USD,SOL-USD \
  --start 2025-10-01 \
  --end 2025-10-08 \
  --schema mbo

# 2. Run backtest with MAMBA-2 strategy
cargo run -p backtesting_service -- \
  --strategy mamba2 \
  --data-source databento \
  --symbols BTC-USD,ETH-USD,SOL-USD \
  --start-date 2025-10-01 \
  --end-date 2025-10-08

# 3. Run backtest with DQN strategy
cargo run -p backtesting_service -- \
  --strategy dqn \
  --data-source databento \
  --symbols BTC-USD,ETH-USD,SOL-USD

# 4. Run backtest with PPO strategy
cargo run -p backtesting_service -- \
  --strategy ppo \
  --data-source databento \
  --symbols BTC-USD,ETH-USD,SOL-USD

# 5. Generate performance report
psql postgresql://foxhunt:foxhunt_dev_password@localhost:5432/foxhunt \
  -f scripts/generate_backtest_report.sql

Expected Costs

  • Data: $100-200 (3 symbols, 1 week MBO historical)
  • Compute: $0 (use existing dev infrastructure)
  • Exchange Fees: $0 (historical data only)
  • Total: $100-200 one-time

Timeline

Week Activity Owner Deliverable
1 Download data, run backtests Data + Trading Teams Backtest results
2 Analyze results, optimize strategies ML Team Performance report
End of 2 Go/no-go decision All Teams Decision document

Decision Tree

Backtest Results
├─ Sharpe >1.5, Drawdown <20%, Win Rate >55%
│  └─ ✅ ADVANCE TO STAGE 3 (Alpha)
│
├─ Sharpe <1.0, Negative PnL
│  ├─ Data quality issue? (unlikely)
│  │  └─ Return to Stage 1, test with different symbol/period
│  │
│  └─ Strategy issue? (likely)
│     └─ Re-evaluate strategy, optimize ML models, NOT a Databento problem
│
└─ Sharpe 1.0-1.5, Moderate performance
   └─ Extend testing period (buy +1 week data, $100-150)
      ├─ Improved results → Advance to Stage 3
      └─ No improvement → Return to strategy optimization

Rollback Plan

IF strategies fail to show edge:

  1. First: Assume it's a strategy problem, NOT a data problem
  2. Analyze trade-by-trade performance, identify failure modes
  3. Optimize ML model parameters (learning rate, architecture, features)
  4. Re-run backtests with optimized strategies (no additional data cost)
  5. IF still failing: Consider that the strategy may not work (accept this reality)
  6. Cost limit: $500 maximum for Stage 2 before abandoning strategy

Risk Assessment

Risk Probability Impact Mitigation
Strategies show no edge Medium High Accept reality, optimize or pivot
Overfitting to data Medium High Use walk-forward validation
Backtest ≠ live performance High Critical Model slippage conservatively
Insufficient data (1 week) Low Medium Extend to 2-4 weeks if needed

Stage 3: Alpha - Paper Trading ($200-1,000/month, 1-3 Months)

Objective

Validate strategies in live market conditions with paper trading (simulated orders). Confirm backtest results translate to real-time performance.

Scope

  • Dataset: 5 symbols (BTC, ETH, SOL, AVAX, MATIC), 1 month real-time + historical
  • Data Schema: L3/MBO live stream + historical MBO for replay/analysis
  • Environment: Production infrastructure (no colocation yet)
  • Capital at Risk: $0 (paper trading only, NO REAL MONEY)

Prerequisites (MUST BE MET)

🚨 CRITICAL GO/NO-GO CHECKPOINT 🚨

Prerequisite Status Verification Method
100% E2E Test Pass Rate ⚠️ 95.5% (21/22) cargo test --workspace --test e2e_* must show 22/22 passing
Stage 2 Backtest Success Pending Sharpe >1.5, Drawdown <20% validated
System Stability Validated 4/4 services healthy, zero compilation errors
Monitoring Operational Validated Prometheus/Grafana dashboards live

ACTION REQUIRED BEFORE STAGE 3:

  1. Fix failing E2E test (progress subscription, backtesting service)
  2. Validate fix with full test suite run
  3. Document test failure root cause and resolution

Success Criteria (Go/No-Go)

PASS: Advance to Stage 4 (Beta - REAL MONEY)
FAIL: Return to Stage 2 for strategy refinement

Criterion Target Measurement Method
Live vs Backtest Alignment <15% deviation Compare live paper PnL to backtest predictions
System Uptime >99.9% Trading Service availability (43.2 min downtime max/month)
Order Fill Rate >95% Percentage of paper orders "filled" at expected prices
Latency (E2E) <100ms P99 Order submission to acknowledgment
Data Feed Latency <500μs P99 Databento feed delay (ts_recv - ts_event)
Profitability Positive net PnL After realistic fees + slippage

Expected Costs

Month 1: $200-500

  • Data (Databento): $200-400 (5 symbols, real-time MBO + historical backfill)
  • Exchange Fees: $0-100 (may apply for real-time feeds depending on venue)
  • Compute: $0 (use existing infrastructure)
  • Total: $200-500/month

Months 2-3 (if extended): $400-1,000/month

  • Data: $300-500/month (continuous real-time feed)
  • Exchange Fees: $100-500/month (if using licensed data for paper trading)
  • Compute: $0 (existing infrastructure sufficient)

Rollback Plan

IF paper trading fails to meet criteria:

  1. Analyze failure mode: Slippage? Latency? Market impact? Data quality?
  2. Slippage/Latency issue: Optimize order routing, consider colocation (Stage 4 requirement anyway)
  3. Strategy issue: Return to Stage 2, re-run backtests with more conservative assumptions
  4. Data quality issue: (unlikely) Test with different symbols/exchanges
  5. Cost limit: $1,500 maximum for Stage 3 before returning to Stage 2

Stage 4: Beta - Live Trading ($2,000-9,000/month, 3-6 Months)

Objective

Deploy strategies with REAL CAPITAL on a limited scale. Validate profitability with actual execution costs (slippage, fees, market impact).

Scope

  • Dataset: 10-20 symbols, continuous real-time MBO + historical for analysis
  • Data Schema: L3/MBO live stream, full depth
  • Environment: Production with colocation (Equinix NY4, CME Aurora, or equivalent)
  • Capital at Risk: $10,000-50,000 (controlled allocation per strategy/symbol)

Prerequisites (MUST BE MET)

🚨 CRITICAL GO/NO-GO CHECKPOINT 🚨

Prerequisite Status Verification Method
Stage 3 Success Pending Paper trading PnL >0, <15% backtest deviation
100% E2E Test Pass Rate ⚠️ 95.5% (21/22) MUST BE 100% before real money
Colocation Setup Not Started Latency from colo <1ms to exchange
Risk Management Validated Implemented VaR, position limits, circuit breakers tested
Regulatory Compliance Pending Broker account, API keys, compliance checks

Success Criteria (Go/No-Go)

PASS: Advance to Stage 5 (Production)
FAIL: Return to Stage 3 (paper trading) OR reduce to Stage 2 (backtesting)

Criterion Target Measurement Method
ROI >2:1 sustained (3 months) (PnL / Total Costs) > 2.0
Sharpe Ratio >1.5 Live trading Sharpe over 3-month period
Maximum Drawdown <15% Worst peak-to-trough decline in capital
System Uptime >99.95% Trading Service availability (<21.6 min downtime/month)
Order Fill Rate >98% Percentage of orders filled (not rejected/failed)
Latency (E2E) <10ms P99 From signal to order acknowledgment
Data Feed Latency <100μs P99 Databento feed delay (colocated)

Expected Costs

Monthly Recurring ($2,000-9,000/month):

Cost Center Low End High End Notes
Data (Databento) $500 $1,500 10-20 symbols, real-time MBO + historical
Exchange Fees $500 $2,500 Varies by venue (Nasdaq, CME, etc.)
Colocation $1,000 $5,000 Rack space, power, bandwidth
Compute $0 $0 Use colocated servers (capex amortized)
Total $2,000 $9,000 Average: ~$5,000/month

One-Time Setup ($5,000-15,000):

  • Server hardware: $3,000-8,000 (2-4 servers with GPU)
  • Network equipment: $1,000-3,000 (switches, NICs)
  • Setup fees: $1,000-4,000 (colo provider, exchange connectivity)

Circuit Breakers (Automated Safety)

Triggered by:

  • Daily loss >5% of capital → Halt trading for 1 hour, require manual override
  • Drawdown >10% → Reduce position sizes by 50%
  • Drawdown >15% → Halt trading for 24 hours, require manual review
  • Drawdown >20% → EMERGENCY HALT, cease all trading, close positions
  • Latency >50ms P99 sustained for 5 minutes → Halt trading, investigate
  • Order fill rate <95% for 1 hour → Halt trading, investigate execution quality

Stage 5: Production - Full Deployment ($5,000-15,000+/month, Continuous)

Objective

Scale to full production with 50+ symbols, institutional-grade operations, and target ROI >5:1.

Scope

  • Dataset: 50+ symbols across multiple exchanges, full L3/MBO depth
  • Data Schema: MBO for all symbols, L1/L2 for additional monitoring
  • Environment: Production colocation with redundancy and disaster recovery
  • Capital at Risk: $100,000-500,000+ (depends on strategy capacity and risk tolerance)

Prerequisites (MUST BE MET)

🚨 CRITICAL GO/NO-GO CHECKPOINT 🚨

Prerequisite Status Verification Method
Stage 4 Success Pending ROI >2:1 sustained for 3-6 months
100% E2E Test Pass Rate ⚠️ 95.5% (21/22) MUST BE 100%
Regulatory Approval Pending All compliance requirements met
Infrastructure Redundancy Pending Failover tested, <1 min recovery time
Operational Runbooks Pending 24/7 on-call, incident response procedures

Success Criteria (Ongoing)

Criterion Target Measurement Method
ROI >5:1 sustained (6+ months) (PnL / Total Costs) > 5.0
Sharpe Ratio >2.0 Live trading Sharpe over 6-month period
Maximum Drawdown <10% Worst peak-to-trough decline in capital
System Uptime >99.99% Trading Service availability (<4.3 min downtime/month)
Order Fill Rate >99% Percentage of orders filled
Latency (E2E) <5ms P99 From signal to order acknowledgment
Data Feed Latency <50μs P99 Databento feed delay (colocated, optimized)

Expected Costs

Monthly Recurring ($5,000-15,000+/month):

Cost Center Low End High End Notes
Data (Databento) $1,500 $5,000 50+ symbols, multiple exchanges, full MBO
Exchange Fees $2,500 $10,000 Nasdaq TotalView, CME, etc. (major cost driver)
Colocation $1,000 $5,000 Primary + secondary sites
Compute $0 $0 Capex amortized
Monitoring/Ops $500 $2,000 PagerDuty, Datadog, operational overhead
Total $5,500 $22,000 Average: ~$10,000-15,000/month

Note: Exchange fees are the largest variable. Nasdaq TotalView alone can be $5,000-10,000/month depending on contract.


Cost Control Measures

Budget Limits (Hard Caps)

Stage Monthly Cap Cumulative Cap Enforcement
Testing $50 (one-time) $200 (with retries) Manual approval for >$50
Prototype $200/month $500 (total) Manual approval for >$200/month
Alpha $1,000/month $3,000 (total) Automatic alerts at $800/month
Beta $9,000/month $54,000 (6 months) Automatic alerts at $7,000/month
Production $15,000/month No cap (ongoing) Automatic alerts at $12,000/month

Automated Cost Controls

Databento API Limits:

# Set hard daily limit
curl -X POST https://api.databento.com/v1/account/limits \
  -H "Authorization: Bearer $API_KEY" \
  -d '{"daily_limit_usd": 50}'  # Stage 1: $50/day max

# Set alert threshold
curl -X POST https://api.databento.com/v1/account/alerts \
  -H "Authorization: Bearer $API_KEY" \
  -d '{"alert_threshold_usd": 40, "alert_email": "team@example.com"}'

Contingency Budget

Reserve funds for unexpected costs:

  • Stage 1-2: $500 reserve (for retries/debugging)
  • Stage 3: $1,000 reserve (for extended testing)
  • Stage 4: $5,000 reserve (for optimization/fixes)
  • Stage 5: $10,000 reserve (for unexpected issues)

Contingency Plans

Plan A: Stage 1 Technical Failure

Scenario: Parser fails, performance <1x real-time, or order book reconstruction errors

Actions:

  1. Document specific failure (logs, error messages, performance metrics)
  2. Determine if fixable:
    • Software bug: Fix code, retry Stage 1 (cost: +$50)
    • Architecture issue: System can't handle MBO volume, major rework required
  3. IF retries fail (>$200 spent): Abandon Databento, continue with Kaggle data
  4. Decision timeline: 1 week maximum for diagnosis and fix

Cost: $50-200 total

Plan B: Stage 2 Strategy Failure

Scenario: Backtests show negative PnL, Sharpe <1.0, or high drawdown

Actions:

  1. First assumption: Strategy problem, NOT data quality problem
  2. Analyze trade-by-trade performance, identify failure modes
  3. Optimize ML models:
    • Hyperparameter tuning (learning rate, architecture)
    • Feature engineering (add/remove features)
    • Training data augmentation
  4. Re-run backtests with optimized strategies (no additional data cost)
  5. IF still failing: Accept that strategy may not work, pivot to different approach

Cost: $100-500 for additional data (if needed)

Plan C: Stage 3 Paper Trading Misalignment

Scenario: Live paper trading PnL deviates >25% from backtest predictions

Actions:

  1. Analyze deviation sources:
    • Slippage underestimated: Refine slippage model, retry paper trading
    • Latency issues: Optimize code, consider colocation (Stage 4 requirement)
    • Market regime change: Validate strategy adapts, extend testing period
  2. Extend paper trading for +1 month (cost: +$500)
  3. IF still misaligned: Return to Stage 2 with more conservative assumptions

Cost: $500-1,000 for extended testing

Plan D: Stage 4 Capital Loss

Scenario: Live trading results in significant capital loss

Severity Levels:

Level 1: Small Loss (<10% capital, e.g., <$5K)

  • Pause trading, analyze by symbol/strategy
  • Remove underperformers, resume with reduced scope
  • Cost: ~$2,000-3,000 for 1-month retry

Level 2: Moderate Loss (10-20% capital, e.g., $5K-10K)

  • HALT live trading immediately
  • Return to Stage 3 (paper trading) for 1 month
  • Identify and fix failure mode
  • Cost: ~$500 Stage 3 + $2,000-3,000 Stage 4 retry

Level 3: Large Loss (>20% capital, e.g., >$10K)

  • EMERGENCY HALT - Circuit breaker triggers
  • Cease all trading, close positions immediately
  • Conduct post-mortem (bug? market event? strategy flaw?)
  • IF bug: Fix, extensive testing, retry Stage 3-4
  • IF strategy flaw: Abandon approach, major rework or pivot
  • Cost: Accept loss, return to Stage 2 or exit HFT

Quick Reference

Stage Summary Table

Stage Budget Duration Symbols Data Depth Capital Risk Key Milestone
Testing $0-50 1 week 1 L3/MBO $0 Parser validated
Prototype $50-200 2 weeks 2-3 L3/MBO $0 Strategy shows edge
Alpha $200-1K/mo 1-3 months 5 L3/MBO $0 Paper trading profitable
Beta $2K-9K/mo 3-6 months 10-20 L3/MBO $10K-50K ROI >2:1 sustained
Production $5K-15K+/mo Continuous 50+ L3/MBO $100K-500K+ ROI >5:1 sustained

Critical Go/No-Go Gates

Stage 1 → Stage 2: ✅ Data integrity 100%, Performance >1x real-time
Stage 2 → Stage 3: ✅ Sharpe >1.5, Drawdown <20%, Win Rate >55%
Stage 3 → Stage 4: ✅ 100% E2E tests, Paper trading profitable, Backtest alignment <15%
Stage 4 → Stage 5: ✅ ROI >2:1 sustained (3-6 months), Drawdown <15%
Stage 5 → Continue: ✅ ROI >5:1 sustained (6+ months), Drawdown <10%

Document Control

Version History:

Version Date Author Changes
1.0 2025-10-12 AI Agent Initial version, approved for Stage 1 execution

Review Schedule:

  • After each stage completion
  • Quarterly for production stage
  • Ad-hoc for major incidents or market changes

Approval Status: APPROVED FOR IMMEDIATE STAGE 1 EXECUTION

Next Review Date: After Stage 1 completion (expected: 2025-10-19)


END OF DOCUMENT