46 lines
1.6 KiB
YAML
46 lines
1.6 KiB
YAML
id: DATA-DB-006
|
|
title: Databento Options Data Source
|
|
status: backlog
|
|
priority: low
|
|
dependencies:
|
|
- DATA-DB-001
|
|
estimated_effort: 3-5 days
|
|
created: 2026-03-28
|
|
updated: 2026-03-28
|
|
|
|
description: |
|
|
Implement historical options data source using Databento's OPRA.PILLAR dataset.
|
|
This enables historical options chain lookups for accurate backtesting with
|
|
real options prices, replacing synthetic Black-Scholes pricing.
|
|
|
|
acceptance_criteria:
|
|
- DatabentoOptionSnapshotSource implements OptionSnapshotSource protocol
|
|
- OPRA.PILLAR dataset used for GLD/SPY options
|
|
- Option chain lookup by snapshot_date and symbol
|
|
- Strike and expiry filtering supported
|
|
- Cached per-date for efficiency
|
|
- Fallback to synthetic pricing when data unavailable
|
|
|
|
implementation_notes: |
|
|
OPRA.PILLAR provides consolidated options data from all US options exchanges.
|
|
|
|
Key challenges:
|
|
1. OPRA data volume is large - need efficient caching
|
|
2. Option symbology differs from regular symbols
|
|
3. Need strike/expiry resolution in symbology
|
|
|
|
Implementation approach:
|
|
- Use 'definition' schema to get instrument metadata
|
|
- Use 'trades' or 'ohlcv-1d' for price history
|
|
- Cache per (symbol, expiration, strike, option_type, date)
|
|
- Use continuous contracts for futures options (GC=F)
|
|
|
|
Symbology:
|
|
- GLD options: Use underlying symbol "GLD" with OPRA
|
|
- GC options: Use parent symbology "GC" for continuous contracts
|
|
|
|
This is a future enhancement - not required for initial backtesting
|
|
which uses synthetic Black-Scholes pricing.
|
|
|
|
dependencies_detail:
|
|
- DATA-DB-001: Needs base cache infrastructure |