DRAFT · v1.0 · 2026-07-29 · For Bitget external review

When2Buy 期权历史数据标准Options Data Standard — requirements for external data provider handoff

本文档定义 When2Buy 在美国期权(含 0DTE)历史数据上的覆盖范围、数据产品、字段字典、交付格式与质量验收标准, 供 Bitget 作为数据供应/合作评估的技术基线。所有示例数值均为虚构合成数据,仅用于说明字段结构与可视化形式,不代表任何真实市场、真实成交或投资建议。

Brand: When2Buy — Options Data Standard Version: 1.0 draft Date: 2026-07-29 Example: SPY 0DTE iron condor (synthetic)
01

执行摘要与范围Executive Summary & Scope

When2Buy 需要可执行回测级别的美股期权历史数据:不仅是收盘价,而是能够重建任意历史时刻的完整报价、成交与希腊值状态。 本标准按 P0/P1/P2 三级优先级组织需求,便于 Bitget 分阶段评估自有数据能力或第三方供给能力。

P0 P0 · Must have

核心指数/ETF 期权 + VIX 家族指数,完整 0DTE 每日到期链,NBBO 报价、成交、希腊值与标的 OHLCV。这是可执行回测的最低闭环。

P1 P1 · High value

流动性较好的美股个股期权与更广泛的指数期权覆盖,扩展策略研究的标的池与截面广度。

P2 P2 · Nice to have

次要衍生指标(如 rho)、扩展的公司行为/参考利率细节,以及非核心交易所的补充覆盖。

02

覆盖范围 / 标的池Coverage & Universe

历史深度目标 2017 至今,最低可接受 2020 至今;需覆盖全部 0DTE 每日到期;tick 或 1 秒级原始数据优先,1 分钟衍生 K 线可接受;需明确区分正常/延长交易时段。

PriorityUniverseUnderlyings / 标的Granularity 要求
P0 US index/ETF options + VIX-family indices SPX, SPY, QQQ, IWM · VIX, VIX1D, VIX9D + 对应标的 K 线 Tick/1s 原始优先,1min 衍生可接受;含正常+延长时段标记
P1 Liquid single-stock options + index expansion 流动性较高的美股个股期权;更多指数期权 同上,允许 1min 衍生为主
P2 Extended reference coverage 次要交易所/长尾合约的参考数据 EOD 级别即可

History target: 2017-present(理想)/ 2020-present(最低可接受)。Full 0DTE daily expiries required for in-scope underlyings.

03

数据产品Data Products

八类数据产品构成完整的期权历史数据基础设施,详细字段见下一节「字段字典」。

Contract Master P0

合约主数据/参考:instrument_id、option_symbol、到期日、行权价、乘数、行权方式。

NBBO Quotes P0

最优买卖报价事件(或 1 分钟报价 K 线):bid/ask 价格与数量、报价交易所、序列号。

Trades P0

成交明细:价格、数量、交易所/条件码、更正标记。

Chain Snapshot P0

某一时刻的完整期权链快照,含标的价格联动。

Greeks & IV P0

希腊值与隐含波动率,附模型、无风险利率与股息假设等方法论元数据。

Underlying OHLCV P0

标的/指数 OHLCV,含正常/盘前盘后时段标记。

OI / Volume / EOD / Settlement P1

未平仓量、成交量、日终结算价与结算方法。

Corp Actions / Calendar / Rates / Dividends P1

拆股、分红、到期日历、参考利率曲线,用于历史行权价/价格调整。

04

字段字典 / 精确 SchemaExact Schemas & Data Dictionary

通用约定:时间戳统一使用 ISO-8601 UTC(如有条件精确到纳秒),并附带 exchange_tz,禁止使用无时区的本地时间; option_symbol(人类可读)与 instrument_id(稳定内部 ID)并存;expiration_dateYYYY-MM-DD; 行权价为十进制 USD(如 552.50),非放大整数;价格为每股十进制 USD,contract_multiplier 显式给出; 隐含波动率为小数(0.2075 = 20.75%);希腊值需注明符号约定、模型与计算时刻;报价需含条件码、交易所、买卖量、序列号与更正/撤销状态。 机器可读版本见 data/data-spec.json

FieldTypeUnitNullableExamplePriority
instrument_idstringNoSPY-2026-07-29-C-552.50P0
option_symbolstringNoSPY260729C00552500P0
underlying_symbolstringNoSPYP0
asset_classenumNoETF_OPTIONP1
primary_listingstringYesOPRA_CONSOLIDATEDP1
expiration_datedateYYYY-MM-DDNo2026-07-29P0
strike_pricedecimalUSDNo552.50P0
option_typeenumNoC / PP0
contract_multiplierintegershares/contractNo100P0
exercise_styleenumNoAmericanP1
currencystringISO 4217NoUSDP1
first_listed_datedateYYYY-MM-DDYes2026-01-05P2

Sample: data/sample_contracts.csv(20 rows:10 strikes × C/P)

FieldTypeUnitNullableExamplePriority
event_ts_utctimestampISO-8601 UTC, nsNo2026-07-29T13:35:00.050000000ZP0
exchange_tzstringIANA tzNoAmerica/New_YorkP0
instrument_idstringNoSPY-2026-07-29-P-548.00P0
bid_price / ask_pricedecimalUSD/shareYes*0.08 / 0.12P0
bid_size / ask_sizeintegercontractsYes*12 / 12P0
bid_exchange / ask_exchangestringYesCBOE / ARCXP1
quote_conditionenumNoREGULAR / CROSSED / LOCKEDP0
sequence_numberintegerNo1004P0
is_correctionbooleanNofalseP0

*仅当单边市场时可为空。Sample: data/sample_quotes.csv(20 rows:4 legs × 5 checkpoints)

FieldTypeUnitNullableExamplePriority
event_ts_utctimestampISO-8601 UTC, nsNo2026-07-29T13:35:00ZP0
instrument_idstringNoSPY-2026-07-29-P-548.00P0
trade_pricedecimalUSD/shareNo0.10P0
trade_sizeintegercontractsNo10P0
exchangestringNoCBOEP0
trade_conditionsstringYesREGULARP1
sequence_numberintegerNo5001P0
is_correctionbooleanNofalseP0

Sample: data/sample_trades.csv(8 rows:4 legs × entry+exit)

FieldTypeUnitNullableExamplePriority
snapshot_ts_utctimestampISO-8601 UTC, nsNo2026-07-29T13:35:00ZP0
underlying_pricedecimalUSDNo552.47P0
instrument_id / strike_price / option_typemixedNo…-C-552.50 / 552.50 / CP0
bid_price / ask_price / last_pricedecimalUSD/shareYes*0.53 / 0.63 / 0.58P0
bid_size / ask_sizeintegercontractsYes*25 / 25P0
volumeintegercontractsNo940P0
open_interestintegercontractsNo11800P0

Sample: data/sample_chain_snapshot.csv(20 rows:full chain @ 09:35 ET)

FieldTypeUnitNullableExamplePriority
as_of_ts_utctimestampISO-8601 UTC, nsNo2026-07-29T13:35:00ZP0
implied_volatilitydecimalannualized fractionYes0.150 (=15.0%)P0
deltadecimalunitlessYesC∈[0,1], P∈[-1,0]P0
gamma / vegadecimalunitless / USD per vol ptYes0.073 / 0.066P0
thetadecimalUSD/dayYes-0.28P0
rhodecimalUSD per rate ptYes0.0015P2
modelstringNoblack_scholes_1973_american_approxP0
risk_free_rate_ref / dividend_yield_inputstring / decimal– / fractionNo / YesUS_SOFR_1M / 0.013P1

Sample: data/sample_greeks.csv(20 rows:full chain @ 09:35 ET)

FieldTypeUnitNullableExamplePriority
bar_start_ts_utc / bar_end_ts_utctimestampISO-8601 UTC, nsNo…13:35:00Z / …13:35:59.999999999ZP0
open / high / low / closedecimalUSDNo552.47 / 552.58 / 552.42 / 552.52P0
volumeintegersharesNo193900P0
session_flagenumNoREGULAR / PRE_MARKET / AFTER_HOURSP0

Sample: data/sample_underlying_bars.csv(10 rows:1-min bars 09:30–09:39 ET)

FieldTypeUnitNullableExamplePriority
trade_datedateYYYY-MM-DDNo2026-07-29P0
settlement_pricedecimalUSD/shareYes0.58P0
settlement_methodstringNoOPRA_OFFICIAL_CLOSEP1
closing_open_interest / total_volumeintegercontractsNo11800 / 940P0

本草案未附带独立样例文件;未平仓量/成交量已作为字段包含在 sample_chain_snapshot.csv 中。No dedicated sample file in this draft.

FieldTypeUnitNullableExamplePriority
event_typeenumNoCASH_DIVIDEND / SPLIT / MERGERP0
effective_date / ex_datedateYYYY-MM-DDNo / Yes2026-09-19 / 2026-09-18P0
cash_amountdecimalUSD/shareYes1.72P1
split_ratio / adjustment_factorstring / decimal– / unitlessYes2:1 / 1.0P1
reference_rate_curvestringYesUS_SOFRP2

单日 0DTE 示例不涉及公司行为事件,故本草案未附带样例文件。No sample file: the single-day example has no corporate action events.

05

可下载样例文件Downloadable Example Files

以下文件由 scripts/generate_data.py 本地生成,围绕一个 SPY 0DTE 铁鹰组合(iron condor)示例构造,8–20 行/文件,内部一致(bid ≤ ask、put-call delta 平价、跨文件 instrument_id 可关联)。所有数值均为示例/合成数据。

  • sample_contracts.csv合约主数据 · 20 rowsDownload
  • sample_quotes.csvNBBO 报价事件(4 腿 × 5 时间点)· 20 rowsDownload
  • sample_trades.csv成交明细(4 腿开仓+平仓)· 8 rowsDownload
  • sample_chain_snapshot.csv期权链快照 @ 09:35 ET · 20 rowsDownload
  • sample_greeks.csv希腊值与 IV @ 09:35 ET · 20 rowsDownload
  • sample_underlying_bars.csvSPY 1 分钟 K 线 09:30–09:39 ET · 10 rowsDownload
  • sample_manifest.json不可变清单:dataset_version / schema_version / SHA-256Download
  • data-spec.json机器可读字段字典(全部 8 类数据产品)Download
  • README.md数据集说明、免责声明、复现方式Download

一键复制需求摘要One-click copy: concise requirements summary

When2Buy Options Data Standard v1.0 (draft, 2026-07-29) — requesting historical US options data: P0 = SPX/SPY/QQQ/IWM + VIX/VIX1D/VIX9D options and underlying bars, full 0DTE daily expiries, tick/1s raw preferred (1min derived acceptable), regular+extended session flags, history 2017-present (min. 2020-present). Required products: contract master, NBBO quotes, trades, chain snapshot, Greeks/IV (with model + as-of metadata), underlying OHLCV, OI/volume/EOD settlement, corporate actions/calendar/rates. Delivery: Parquet+ZSTD bulk, JSON/CSV samples, partitioned by venue/root/trade_date/expiration_date, UTC event time + exchange local date, schema_version + dataset_version, immutable manifests with SHA-256, daily incremental + historical backfill, no silent overwrite on corrections. Quality: unique event keys, monotonic sequencing, bid≤ask, referential integrity, freshness/missingness metrics, full-chain coverage at 09:35/10:00/10:30/12:00/15:30/15:55 America/New_York, proposed thresholds ≥99.9% file readability / ≥99.5% required-field completeness / ≥99% liquid-contract checkpoint coverage / exact checksum match / ≤0.001% duplicate rate. Open questions for Bitget: source/exchange coverage, OPRA/NBBO entitlement & redistribution rights, historical depth, granularity, quote size availability, correction handling, Greeks methodology, corporate action handling, delivery mechanism, and a sample week including one volatile day.

06

可视化 / 验收视图Visualization & Acceptance Views

以下均为基于左侧合成样例数据构建的拟议验收视图(proposed validation views),用于说明数据可以如何被检验,并非任何交易建议或信号。These are proposed validation views built on synthetic sample data only — not trading recommendations.

期权链矩阵Chain matrix by strike

按行权价排列的看跌/看涨双侧 bid/ask、IV、delta;高亮铁鹰组合 4 条腿。

波动率微笑 / 偏斜Volatility smile / skew

按行权价绘制的隐含波动率曲线(put-call 平价下同一行权价单一 IV 值)。

买卖价差与报价新鲜度Bid/ask spread & quote freshness

4 条腿的最新价差(美元)与上次报价更新以来的秒数,双边报价覆盖情况。

日内标的走势与入场时点Intraday underlying with entry & legs

SPY 09:30–09:39 ET 分钟线,标注 09:35 入场时刻与 4 个行权价参考线。

数据完整性热力图Data completeness heatmap

按数据产品 × 每日检查点(09:35/10:00/10:30/12:00/15:30/15:55 ET)展示的示例完整性百分比。

07

交付与存储标准Delivery & Storage Standard

存储格式Format

  • 批量数据:Parquet + ZSTD 压缩
  • 样例/交互:JSON / CSV(仅样例,非批量交付格式)
  • 分区方案:venue=.../root=.../trade_date=.../expiration_date=...

版本与完整性Versioning & Integrity

  • UTC event time + exchange local date 双时间字段
  • schema_version / dataset_version 显式标注
  • 不可变 manifest 文件 + 每文件 SHA-256 校验和(见 sample_manifest.json

更新节奏Cadence

  • 每日增量交付 + 完整历史回补(backfill)
  • 支持迟到更正/修订(late corrections/revisions)

不可覆盖原则No silent overwrite

  • 任何更正需以新版本/新记录追加,禁止静默覆盖历史文件
  • 更正记录需可追溯到被修正的原始事件(sequence_number / is_correction)
08

数据质量 SLA 与可执行验收测试Data Quality SLA & Executable Acceptance Tests

  • 唯一性:无重复的事件主键(no duplicated event key)
  • 单调序列:同一 instrument/venue/day 内 sequence_number 单调递增
  • 价格合理性:bid ≤ ask;价格与数量非负;交叉/锁定盘口仅在带条件标记时保留
  • 参照完整性:所有事件的 instrument_id 均可关联到 contract master
  • 报价新鲜度与缺失率指标(quote freshness / missingness metrics)
  • 关键检查点全链覆盖:09:35 / 10:00 / 10:30 / 12:00 / 15:30 / 15:55 America/New_York
  • 公司行为一致性检查(corporate action consistency)
  • 对账计数与校验和核对(reconciliation counts / checksums)

拟议验收阈值Proposed acceptance thresholds (not yet agreed)

MetricProposed threshold
文件可读性 File readability≥ 99.9%
必填字段完整率 Required-field completeness≥ 99.5%
流动性合约检查点覆盖 Liquid-contract checkpoint coverage≥ 99%
校验和匹配 Checksum matchExact match
重复率 Duplicate rate≤ 0.001%
时间戳精度 Timestamp accuracy需按数据源实际粒度另行约定 / to be agreed per feed granularity

以上均为「拟议」阈值(proposed acceptance thresholds),尚未与 Bitget 或数据供应方最终确认。

09

Bitget 交接清单与待确认问题Bitget Handoff Checklist & Open Questions

以下问题需要 Bitget(或其数据供应方)在正式合作前给出明确答复:

  • 数据源与交易所覆盖范围 Source / exchange coverage — 具体覆盖哪些交易所与整合商?
  • OPRA / NBBO 授权与再分发权限 Entitlement & redistribution rights — When2Buy 是否可将数据用于内部回测、再加工或对外展示?
  • 历史深度 Historical depth — 实际可提供的最早日期是多少?
  • 数据粒度 Granularity — 是否支持 tick / 1 秒级,还是仅有 1 分钟及以上聚合?
  • 报价数量 Quote size — NBBO 报价是否包含 bid/ask size,还是仅有价格?
  • 更正机制 Corrections — 迟到更正/撤销如何标记与回填,是否保留原始事件?
  • 希腊值方法论 Greeks methodology — 使用何种定价模型、利率曲线与股息假设?是否可自定义重算?
  • 公司行为处理 Corporate actions — 历史行权价/价格是否已做拆股复权,复权方法是否可追溯?
  • 交付机制 Delivery mechanism — API / 批量文件 / 对象存储直传?增量与回补的具体流程?
  • 样例周 Sample week — 请求包含至少一个高波动交易日的完整样例周,用于联合验收测试。
10

为何仅有成交价 OHLC 不足以支撑可执行回测Why trade-only OHLC is insufficient

期权策略(尤其是像本例中的 SPY 0DTE 铁鹰组合这类多腿结构)在实盘执行时,交易者面对的是四条腿各自的双边报价, 而不是单一的收盘价序列。仅有成交价 OHLC 无法回答以下问题,因此不足以支撑可执行回测:

  • 四腿 NBBO:入场/出场时刻,四条腿是否同时有可成交的双边报价?滑点应基于 bid/ask 而非最后成交价估计。
  • 报价数量(size):标注的报价在当时是否有足够的挂单量支撑实际下单规模,还是仅为象征性的 1×1 报价?
  • 报价新鲜度(quote age):策略决策时刻的报价距离上次更新已过去多久,是否已经失效(stale quote)?
  • 入场时刻的行权价关系(strike-at-entry):标的价格相对于各腿行权价的位置,决定了该结构在入场瞬间的真实风险敞口,仅凭收盘价序列无法重建。