Files
foxhunt/databento_sample_data.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

12 KiB

Databento Sample Data Availability

Report Date: 2025-10-12
Status: FREE SAMPLE DATA FOUND (GitHub test files)


Executive Summary

Good News: Databento provides 81 test DBN files in their GitHub repository for free download, covering all major data types. Additionally, new users receive $125 in free credits for historical data.

Best Strategy:

  1. Download GitHub test files (immediate, free)
  2. Use $125 free credits for real market data testing
  3. Validate pipeline with GitHub samples before spending credits

Official Sample Data

GitHub Test Files (FREE )

Location: https://github.com/databento/dbn/tree/main/tests/data

Available: Yes - 81 test files
Cost: Free (open source)
Size: Small test samples (~KB to low MB range)
Symbols: Test data (not real symbols, but valid DBN format)
Date Range: Various test scenarios
Data Types: Comprehensive coverage

Available Data Types:

  • BBO (Best Bid/Offer): bbo-1m, bbo-1s variants
  • MBO (Market By Order): Full order book data
  • MBP-1 (Market By Price - Top of Book)
  • MBP-10 (Market By Price - 10 levels)
  • OHLCV: 1d, 1h, 1m, 1s candlestick bars
  • Trades: Trade data
  • TBBO: Trade with BBO
  • Definition: Instrument definitions
  • Imbalance: Order imbalances
  • Statistics: Market statistics
  • Status: Market status events
  • CBBO/CMBP: Consolidated variants

File Formats:

  • .dbn - Uncompressed DBN binary
  • .dbn.zst - Zstandard compressed (v1, v2, v3)
  • .dbn.frag - DBN fragments (no metadata header)
  • .dbz - Legacy compressed format

Free Credits Program

Available: Yes - $125 free credits
Eligibility: All new Databento accounts
Usage: Historical data only (not live data)
Expiration: No expiration mentioned
Source: https://databento.com/docs/faqs/usage-pricing-and-data-credits

What $125 Gets You:

  • Historical data billed per byte consumed
  • Pricing varies by dataset ($/GB)
  • Example: ~$0.50-$5 per GB depending on venue/schema
  • Estimate: 25-250 GB of historical data

Format Details

DBN (Databento Binary Encoding)

File Format: Proprietary binary with optional Zstandard compression
Compression: Yes (.dbn.zst files ~70-90% size reduction)
Parser: ALREADY EXISTS in our codebase

Existing Infrastructure:

// /home/jgrusewski/Work/foxhunt/data/src/dbn_parser.rs
pub struct DbnParser {
    // Parses DBN format into MarketDataEvent
}

impl DbnParser {
    pub async fn parse_file(&self, path: &Path) -> Result<Vec<MarketDataEvent>>;
    pub async fn parse_stream(&self, reader: impl AsyncRead) -> Result<Vec<MarketDataEvent>>;
}

Status: Parser ready, just needs testing with sample files


Testing Strategy

Phase 1: GitHub Sample Validation (FREE)

Timeline: 1-2 hours
Cost: $0

# 1. Clone DBN repository
git clone https://github.com/databento/dbn.git
cd dbn/tests/data

# 2. Download sample files (examples)
wget https://raw.githubusercontent.com/databento/dbn/main/tests/data/mbo.dbn.zst
wget https://raw.githubusercontent.com/databento/dbn/main/tests/data/ohlcv-1d.dbn.zst
wget https://raw.githubusercontent.com/databento/dbn/main/tests/data/trades.dbn.zst

# 3. Copy to foxhunt test directory
cp *.dbn* /home/jgrusewski/Work/foxhunt/test_data/databento/

# 4. Test with existing DbnParser
cargo test -p data test_dbn_parser

Expected Outcome:

  • Validate DbnParser works with real DBN files
  • Identify any format compatibility issues
  • Benchmark parsing performance
  • Confirm event conversion to MarketDataEvent

Phase 2: Free Credits Testing (PAID - using free credits)

Timeline: 2-4 hours
Cost: $0 (uses free $125 credits)

# 1. Sign up for Databento account
# https://databento.com (automatic $125 credits)

# 2. Generate API key
# Portal: https://databento.com/portal

# 3. Download 1-day sample
export DATABENTO_API_KEY="db-YOUR_KEY"

# Python example (can convert to Rust later)
pip install databento databento-dbn

python << 'EOF'
import databento as db
client = db.Historical()

# Download BTC futures (small dataset)
client.timeseries.get_range(
    dataset='GLBX.MDP3',  # CME Globex
    symbols=['BTC.FUT'],
    schema='trades',
    start='2024-01-02',
    end='2024-01-02',
    path='test_data/databento/btc_trades_20240102.dbn.zst'
)

# Cost estimate: ~$0.10-$1.00 for 1 day
EOF

Expected Outcome:

  • Real market data in DBN format
  • Validate backtesting pipeline end-to-end
  • Test data quality and completeness
  • Measure parsing performance on larger files

Phase 3: Alternative Free Data (BACKUP)

If GitHub samples insufficient OR want real data without spending credits:

Option A: Use existing Kaggle data (already have)

  • Location: /home/jgrusewski/Work/foxhunt/test_data/
  • Format: CSV (convert to Parquet)
  • Cost: $0

Option B: Public crypto exchanges (websocket capture)

  • Binance, Coinbase APIs
  • Capture 1-day sample yourself
  • Cost: $0 (time investment)

Option C: Request demo from Databento


Week 1: GitHub Samples + Parser Validation

Day 1-2: GitHub Sample Testing

# Clone and test with all 81 sample files
for file in tests/data/*.dbn*; do
    cargo test -- --nocapture test_parse_file "$file"
done

Deliverables:

  • DbnParser compatibility report
  • Performance benchmarks (parse time per file)
  • Event conversion validation
  • Identified any format issues

Week 2: Real Data Testing ($0.50-$5 from free credits)

Day 3-4: Small Real Dataset

# Download 1-3 days of real data
# Target symbols: BTC, ETH futures (high volume)
# Target cost: <$5 from free credits

Deliverables:

  • Backtesting service validation
  • ML training pipeline test
  • Performance metrics (realistic data)
  • Data quality assessment

Week 3: Full Pipeline Integration

Day 5-7: End-to-End Testing

# Run full backtesting workflow
cargo test -p backtesting_service --test e2e_dbn_replay

Deliverables:

  • Complete data pipeline validated
  • Backtesting metrics verified
  • Ready for production data purchase

Alternative Testing (If No Free Samples Work)

Minimum Purchase Strategy

If must purchase immediately:

Option 1: 1-Day Minimum ($0.50-$2)

  • Dataset: CME Globex (GLBX.MDP3)
  • Symbol: ES (S&P 500 futures) or BTC
  • Schema: Trades or MBP-1
  • Date: Recent weekday

Option 2: Free Tier Strategy

  • Some venues offer free data with delay
  • Check: DBEQ.BASIC (Databento Equities Basic)
  • May have free tier or heavily discounted pricing

Option 3: Partner with Databento


Next Steps

Immediate Actions (Next 30 minutes)

  1. Clone DBN Repository:

    cd /tmp
    git clone https://github.com/databento/dbn.git
    ls -lh dbn/tests/data/*.dbn* | head -20
    
  2. Copy Sample Files to Foxhunt:

    mkdir -p /home/jgrusewski/Work/foxhunt/test_data/databento/samples
    cp dbn/tests/data/*.dbn* /home/jgrusewski/Work/foxhunt/test_data/databento/samples/
    
  3. Test DbnParser:

    cd /home/jgrusewski/Work/foxhunt
    cargo test -p data test_dbn_parser -- --nocapture
    

Short-term Actions (This Week)

  1. Sign Up for Databento Account (if not already):

  2. Download 1-Day Real Sample (costs ~$0.50-$1):

    # Use Python client (easiest)
    pip install databento databento-dbn
    # Download small real dataset
    
  3. Validate Backtesting Pipeline:

    cargo test -p backtesting_service --test e2e_databento
    

Medium-term Actions (Next 2 Weeks)

  1. Performance Benchmarking:

    • Measure parse time vs Parquet
    • Compare data quality
    • Validate event accuracy
  2. Integration Testing:

    • ML training pipeline
    • Backtesting service
    • Feature engineering
  3. Cost Analysis:

    • Estimate monthly data costs
    • Compare Databento vs alternatives
    • ROI calculation

Cost-Benefit Analysis

Free Testing Path

Activity Cost Time Risk
GitHub samples (81 files) $0 1h None
DbnParser validation $0 2h None
Sign up ($125 credits) $0 5min None
1-day real test $0* 30min None
Full pipeline test $0* 4h None
Total $0* ~8h None

* Uses free $125 credits (does not require payment)

Minimum Purchase Path (if needed)

Activity Cost Time Risk
1-day purchase $0.50-$2 30min Low
1-week purchase $3-$15 1h Medium
1-month purchase $50-$200 2h High

Recommendation: START WITH FREE PATH (GitHub + $125 credits)


Success Criteria

Phase 1 Success (GitHub Samples)

  • DbnParser successfully parses all 81 test files
  • Zero parsing errors or format incompatibilities
  • Event conversion produces valid MarketDataEvent structs
  • Performance: <100ms per file (test data is small)

Phase 2 Success (Real Data)

  • Successfully download 1-3 days real market data
  • Data quality: No gaps, accurate timestamps, valid prices
  • Backtesting service processes data correctly
  • Performance: Parse 1GB in <5 seconds

Phase 3 Success (Full Pipeline)

  • ML training pipeline generates features correctly
  • Backtesting produces accurate metrics (Sharpe, PnL, drawdown)
  • All E2E tests passing (100%)
  • Ready for production data subscription

Parser Compatibility

Existing DbnParser Capabilities

Location: /home/jgrusewski/Work/foxhunt/data/src/dbn_parser.rs

Supported:

  • DBN binary format parsing
  • Zstandard decompression
  • Event conversion to MarketDataEvent
  • Async/streaming support

May Need Updates (TBD after testing):

  • ⚠️ DBN format version compatibility (v1, v2, v3)
  • ⚠️ Fragment handling (.dbn.frag files)
  • ⚠️ Legacy DBZ format support
  • ⚠️ Error handling for corrupt files

Testing Will Reveal:

  • Actual compatibility issues
  • Performance bottlenecks
  • Missing features

Additional Resources

Official Documentation

Tools

  • dbn-cli: Command-line tool for DBN files
    cargo install dbn-cli
    dbn some.dbn.zst --json  # Convert to JSON
    dbn some.dbn.zst --csv   # Convert to CSV
    

Community

  • Support: support@databento.com
  • Slack: Community slack (link on website)
  • GitHub: File issues on respective repositories

Risk Assessment

Low Risk

  • GitHub samples are free and unlimited
  • $125 credits have no expiration
  • No credit card required until exceeding free credits
  • Can test extensively before any payment

Medium Risk ⚠️

  • GitHub samples may not be representative of real data
  • Free credits expire (no confirmed timeline)
  • May need to purchase if requirements exceed $125

High Risk

  • None identified for initial testing phase

Conclusion

READY TO PROCEED WITH FREE TESTING

Immediate Action: Download GitHub test files and validate DbnParser

Timeline: Can start testing immediately (no payment required)

Cost: $0 for comprehensive testing (81 samples + $125 credits)

Recommendation:

  1. Clone DBN repo now (5 minutes)
  2. Test all 81 samples (1-2 hours)
  3. Sign up for Databento if samples work (5 minutes)
  4. Download 1-day real data using credits ($0)
  5. Validate full pipeline (2-4 hours)

Total Time Investment: ~8 hours
Total Cost: $0 (uses existing free resources)


Report Generated: 2025-10-12
Status: FREE SAMPLE DATA CONFIRMED
Next Step: Clone GitHub repository and begin testing