核心摘要
多数免费数据源只提供延时期权链行情、日终快照,或者只覆盖少数股票、指数或期权合约;有些来源仅提供示例文件或平台内回测功能。这些内容通常不能替代来源与字段定义明确、历史记录完整的 OPRA 期权行情数据
明确需要成交记录还是报价数据、日终数据还是盘中数据;若需要盘中数据,还应确定数据频率,并明确期权链覆盖范围以及是否包含已到期合约、持仓量、隐含波动率和希腊值
可下载的 CSV 仍可能禁止再分发或商业使用。应保存数据来源、条款、获取日期和允许的使用方式
在采信模拟结果前,应核验时间戳、买卖价差、行权价档位缺失、陈旧报价、合约标识及公司行为处理是否正确
真正可行的做法,是选择能够还原策略在当时会作出何种决策的最小数据集。日终波动率研究通常需要完整期权链、可信的收盘报价、持仓量和公司行为处理;盘中执行研究则需要带时间戳的买卖报价、报价量、状态代码,以及对数据延迟的现实估计。单纯购买更多记录,并不能弥补已到期合约缺失或字段定义含糊的问题
历史期权数据应包含哪些内容
“期权历史数据”可能仅指某一合约的结算价,也可能指日终期权链快照,或覆盖数千个合约的每笔成交和每次报价。这几类数据的粒度与用途不同,不能相互替代
保存标的资产、到期日、行权价、看涨或看跌类型、合约乘数、行权方式和稳定的合约标识,并确认已到期或已退市合约的数据是否仍可获取
先判断 OHLC K 线是否足够;如需更细粒度的数据,还应获取买卖报价及对应报价量、逐笔成交记录、交易所时间戳和报价状态代码,并记录时区与交易时段规则
记录挂牌日、最后交易日、到期日、行权方式、结算方式和交割标的变化。经过公司行为调整的期权可能对应“股票加现金”或采用非标准乘数,因此仅凭页面上的行权价无法还原合约的真实经济含义
明确隐含波动率、Delta、Gamma、Theta、Vega 与 Rho 是由交易场所、数据商还是本地模型计算。还应保留定价模型、利率输入、股息假设、标的价格、计算时间和使用的平滑规则
当日成交量与未平仓合约数回答的是不同问题。持仓量通常按日延迟更新,而不会随每笔成交实时变化;必须标注其数据日期,不能把它当作盘中实时持仓数量
回测需要使用当时真实可见的数据,而不是事后补齐的整洁期权链。应保存入库时间、供应商版本、当时缺失的合约、更正记录,以及每次研究所使用的确切数据版本
针对抽样标的与到期日,按行权价、看涨或看跌、挂牌日期和价内外程度比较预期合约与返回合约,并分别统计缺失报价、买卖价倒挂、零买价、时间戳过期、持仓量缺失和调整后交割标的。若只有最活跃且最终存续的合约较完整,“十年历史数据”对研究的价值仍然有限
在哪里可以找到免费的历史期权数据
| 数据来源 | 主要优势 | 使用前需核对 | 适用场景 |
|---|---|---|---|
| 交易所或学术数据集 | 数据来源清晰可追溯,并附有数据采集与整理方法说明 | 核对是否仅开放样本、数据发布是否延迟,以及许可是否仅限研究用途 | 适合教学、研究复现和范围较小的专题研究 |
| 券商或市场数据 API | JSON 格式便于接入,也方便查询当前仍在交易的合约 | 核对已到期合约的覆盖范围、可回溯时长、数据访问权限和请求配额 | 适合原型开发和针对特定合约的研究 |
| 供应商提供的 CSV 样本 | 可查看真实的字段结构,并初步评估数据质量 | 单份样本不能替代可供持续研究使用的完整历史数据档案 | 适合测试数据结构和评估供应商 |
| 回测平台 | 可在平台托管的研究环境中免费使用数据 | 核对数据导出限制、成交模拟方式和幸存者偏差处理规则 | 适合在采购数据前检验策略逻辑 |
选择数据源前,可以先写出一条验收查询,例如:“返回指定日期纽约时间 15:55 时仍在挂牌的全部 SPY 看涨和看跌期权,包括后来已经到期的合约,并提供买价、卖价、报价量、成交量、按实际发布日期标注的持仓量,以及对应的标的参考价。”随后在多个平静和高波动交易日检查期权链完整率、时间戳一致性、买卖价倒挂或零报价、重复合约及结果可复现性。这比只比较宣传页上的历史回溯年限更容易发现真实缺口
在不引入前视偏差的前提下重建历史期权链
历史期权链并不是把今天数据库中的全部合约附上一个过去日期。它应当还原策略在决策时刻能够看到的合约、参考数据、报价和市场状态。重建时应使用带版本的历史事件,并在查看结果前就明确合约资格与报价时效规则
根据挂牌日与生效日期,只纳入决策时刻已经存在的合约。保留调整后交割合约和已到期合约,不能用当前端点中仍然存续的合约反推历史股票池
对每份合约选择来源时间不晚于决策时刻的最后一条有效报价,同时应用交易所状态过滤和明确的最大报价年龄。后续更正可以保存,但不能替换原始决策当时的信息集
按行权价和到期日统计预期与实际返回的看涨、看跌合约,并报告陈旧或倒挂报价、零买价、报价量缺失,以及最早与最新时间戳之间的偏差。只有期权链达到业务规定的完整度门槛后,才计算波动率曲面或组合价差
接入当时已知的标的价格、利率曲线、股息假设、交易时段状态和合约元数据。若重新计算希腊值或隐含波动率,应为公式、计算惯例和全部输入设置版本
成交模型应使用买卖方向对应的报价、可见报价量、延迟、费用和无法成交结果。不能用稍后发生的成交证明此前可以按中间价成交,也不能在没有明确规则的情况下沿用已到期或陈旧报价
成交模拟示例: 决策时刻 14:00:00,某看涨期权买价?1.80 美元、卖价为 2.20 美元,可见报价量?10 × 5 份合约。如果回测假设以 2.00 美元中间价买?8 份合约,就记录了一笔市场从未提供的成交。更合理的模型最多先?2.20 美元卖价成交 5 份,再对剩余 3 份应用预先定义的深度或滑点规则,或者返回部分成交?4:00:00.400 才到达的报价不能被提前使用,除非策略的决策与延迟模型能够证明该报价在订单到达市场前确实可见
使用 QVeris 查找符合期权数据需求的工具
免费套餐、样本文件和 API 访问权限可能随时调整。QVeris 可帮助智能体在路由请求前,按资产类别、时间粒度、合约输入、返回字段和供应商边界查找并检查金融数据能力。但找到可调用工具,并不代表两个数据集可以互换;应用方仍需验证期权链完整性、时间戳口径、合约调整、模型计算的希腊值、使用许可,以及研究中的成交假设
- 按资产类别、历史数据时间范围、合约字段、数据格式和预期用途搜索工具
- 调用数据前,核对工具的输入与输出,以及供应商的数据覆盖范围和使用限制
- 研究涉及多个金融数据来源时,完整保留工具查找与调用记录,以便审计
常见问题
通常不行。完整的逐笔成交或逐笔报价历史数据体量巨大,而且受到数据许可约束。免费来源通常只提供样本、少量标的、日终快照、较短的历史回溯期,或仅限平台内使用的研究数据
它可用于查看当前期权链,但无法为严谨回测提供完整的已到期期权链档案、历史报价,以及各历史时点对应的希腊值
至少要保存决策时刻完整的可交易期权链、稳定合约 ID、买卖报价或定义清楚的结算价、标的价格、到期日、行权价、看涨或看跌类型、乘数和公司行为调整。若策略使用成交量、持仓量或波动率,还要加入对应字段
中间价只能作为参考,不能代表一定可以成交。应分别测试买价、卖价、考虑价差的滑点、报价量、陈旧报价过滤和无法成交的情况。流动性较差或深度虚值合约尤其容易被中间价假设高估
可以,前提是拥有历史时点的期权报价、标的价格、利率、股息、时间口径和明确的定价模型。重算结果仍可能与供应商数据不同,因此必须标注方法并保留全部输入
如果已到期合约、已退市标的、调整后交割合约,或当时实际缺失的合约从研究样本中消失,就会产生幸存者偏差。用今天的数据重新拼出的历史期权链,可能会高估当时可获得的数据范围
