期权知识

美股期权代码格式详解

每个美股期权合约都有唯一的代码,比如 O:AAPL261023C00345000。看懂它的结构,就能自己拼出代码去查任意合约。

格式

以 O:AAPL261023C00345000 为例,它表示 AAPL 在 2026 年 10 月 23 日到期、行权价 345 美元的看涨期权:

部分示例含义
前缀O:表示这是期权代码,用来和股票代码区分
标的AAPL标的股票或 ETF 的代码
到期日261023年月日各两位(YYMMDD),即 2026-10-23
类型CC = 看涨(call),P = 看跌(put)
行权价00345000行权价 × 1000,左边补 0 到 8 位,即 345.000

去掉 O: 前缀后,剩下的部分就是美国期权清算公司(OCC)的标准期权代码,券商和各数据商普遍使用。

行权价带小数怎么写

行权价乘以 1000 后取整,所以小数也能表示:

  • 322.5 → 00322500,如 O:AAPL261021P00322500
  • 600 → 00600000,如 O:QQQ261016C00600000
  • 7.5 → 00007500

用 Python 拼接和解析

import re
from datetime import date


def build_option_symbol(underlying, expiration, contract_type, strike):
    """build_option_symbol("AAPL", date(2026, 10, 23), "call", 345) -> "O:AAPL261023C00345000" """
    cp = "C" if contract_type.lower() in ("c", "call") else "P"
    return f"O:{underlying.upper()}{expiration:%y%m%d}{cp}{round(strike * 1000):08d}"


PATTERN = re.compile(r"^O:([A-Z0-9.]+?)(\d{6})([CP])(\d{8})$")


def parse_option_symbol(symbol):
    """把期权代码拆回 (标的, 到期日, 类型, 行权价)。"""
    m = PATTERN.match(symbol)
    if not m:
        raise ValueError(f"不是有效的期权代码: {symbol}")
    underlying, yymmdd, cp, strike = m.groups()
    expiration = date(2000 + int(yymmdd[:2]), int(yymmdd[2:4]), int(yymmdd[4:]))
    return underlying, expiration, "call" if cp == "C" else "put", int(strike) / 1000


print(build_option_symbol("AAPL", date(2026, 10, 21), "put", 322.5))  # O:AAPL261021P00322500
print(parse_option_symbol("O:QQQ261016C00600000"))  # ('QQQ', datetime.date(2026, 10, 16), 'call', 600.0)

在 API 里怎么用

期权代码可以直接放进接口路径:

  • 合约详情:/v3/reference/options/contracts/O:AAPL261023C00345000
  • 单个合约快照:/v3/snapshot/options/AAPL/O:AAPL261023C00345000
  • K线:/v2/aggs/ticker/O:AAPL261023C00345000/range/1/day/2026-10-01/2026-10-16
  • 逐笔成交、报价:/v3/trades/O:AAPL261023C00345000、/v3/quotes/O:AAPL261023C00345000

代码里的冒号可以直接写,也可以编码成 %3A。

注意

  • 不确定合约存不存在,先用合约列表接口 /v3/reference/options/contracts 按标的、到期日、行权价区间查,再用返回的 ticker,不要凭空拼。不是每个行权价、每个日期都有合约。
  • 查已到期的合约,合约列表接口要加 expired=true。
  • 公司行为调整过的合约:遇到拆股、特殊分红等情况,少数调整过的合约,代码里的标的部分可能和股票代码不完全一样。以合约列表接口返回的 ticker 为准。
开始使用:注册账号后用兑换码激活,API Key 立即生成;股票入门版 ¥39 起,期权套餐 ¥99 起,人民币付款。查看套餐 →