期权

示例上下文

import { createClientConfig, QuoteClient } from '@tigeropenapi/tigeropen';

const config = createClientConfig();
const quoteClient = QuoteClient.fromConfig(config);

获取期权到期日

签名

async getOptionExpiration(symbols: string[], market?: string): Promise<OptionExpiration[]>

用途

查询 option expiration。

参数、默认值与约束

参数类型必填SDK 默认值约束
symbolsstring[]是无非空,最多 30 个标的
marketstring否无—

返回

Promise<OptionExpiration[]>

字段类型说明
symbolstring股票代码
optionSymbolsstring[]期权代码列表
datesstring[]到期日列表
timestampsnumber[]到期日时间戳列表
periodsstring[]周期列表
countsnumber[]各到期日合约数量

示例

const result = await quoteClient.getOptionExpiration(['AAPL'], 'US');
console.log(result);

返回示例

[
  {
    "symbol": "string",
    "optionSymbols": [
      "string"
    ],
    "dates": [
      "string"
    ],
    "timestamps": [
      0
    ],
    "periods": [
      "string"
    ],
    "counts": [
      0
    ]
  }
]

指数期权的特殊代码

  • 标普 500(.SPX):月度期权符号为 SPX,周期权和季度期权为 SPXW。
  • 纳斯达克 100:月度期权为 NDX,周期权为 NDXP。
  • VIX 指数:月度期权为 VIX,周期权为 VIXW。

请求频率:基础上限为每分钟 60 次。


获取期权链

签名

async getOptionChain(items: Array<[string, string]>, timezone?: string, returnGreekValue?: boolean, optionFilter?: OptionChainFilter): Promise<OptionChain[]>

用途

查询 option chain。

参数、默认值与约束

参数类型必填SDK 默认值约束
itemsArray<[string, string]>是无非空,最多 30 项;每项为股票代码和 YYYY-MM-DD 到期日
timezonestring否按标的推断IANA 时区;美股默认 America/New_York,.HK 标的默认 Asia/Hong_Kong
returnGreekValueboolean否无已废弃;新代码不要请求希腊值
optionFilterOptionChainFilter否无—
optionFilter.inTheMoneyboolean | undefined否无—
optionFilter.impliedVolatilityRange | undefined否无—
optionFilter.openInterestRange | undefined否无—
optionFilter.greeksOptionChainFilterGreeks | undefined否无已废弃;新代码不要按希腊值筛选

已废弃:returnGreekValue、optionFilter.greeks 及期权链返回的 delta、gamma、theta、vega、rho 均已废弃。这些值每日更新,不适合盘中决策;新代码不要请求或筛选这些字段。

返回

Promise<OptionChain[]>

字段类型说明
symbolstring股票代码
expirynumber到期日
itemsOptionChainRow[]数据数组

示例

const result = await quoteClient.getOptionChain([['AAPL', '2026-06-19']], 'America/New_York', false, { inTheMoney: true });
console.log(result);

返回示例

[
  {
    "symbol": "string",
    "expiry": 0,
    "items": [
      "OptionChainRow"
    ]
  }
]

请求频率:基础上限为每分钟 60 次。


获取期权 K 线

签名

async getOptionKline(identifiers: string[], period: string, beginTime: number = -1, endTime: number = -1, timezone?: string, limit?: number, sortDir?: string): Promise<Kline[]>

用途

查询 option kline。

参数、默认值与约束

参数类型必填SDK 默认值约束
identifiersstring[]是无非空,最多 30 个 OCC 格式期权标识
periodstring是无—
beginTimenumber否-1—
endTimenumber否-1—
timezonestring否无—
limitnumber否无省略时接口使用 300;超过 1,200 时按 1,200 处理
sortDirstring否无asc 或 desc;省略时不指定排序方向

返回

Promise<Kline[]>

字段类型说明
symbolstring股票代码
periodstringK 线周期
nextPageTokenstring下一页 token
itemsKlineItem[]数据数组

示例

const result = await quoteClient.getOptionKline(['AAPL  260619C00150000'], 'day', -1, -1, 'America/New_York', 100, 'desc');
console.log(result);

返回示例

[
  {
    "symbol": "string",
    "period": "string",
    "nextPageToken": "string",
    "items": [
      "KlineItem"
    ]
  }
]

请求频率:基础上限为每分钟 60 次。


获取期权行情

签名

async getOptionQuote(identifiers: string[], timezone?: string): Promise<Brief[]>

用途

查询 option quote。

参数、默认值与约束

参数类型必填SDK 默认值约束
identifiersstring[]是无非空,最多 30 个 OCC 格式期权标识
timezonestring否无—

返回

Promise<Brief[]>

字段类型说明
symbolstring股票代码
opennumber开盘价
highnumber最高价
lownumber最低价
closenumber收盘价
preClosenumber前收价
latestPricenumber最新价
latestTimenumber最新成交时间(毫秒时间戳)
askPricenumber卖一价
askSizenumber卖一量
bidPricenumber买一价
bidSizenumber买一量
volumenumber成交量
statusstring交易状态
adjPreClosenumber复权前收价
changenumber涨跌额
changeRatenumber涨跌幅
amplitudenumber振幅
expirystring到期日
strikestring行权价
rightstring期权方向
multipliernumber合约乘数
openInterestnumber未平仓量
markPricenumber标记价
preMarkPricenumber昨标记价
markTimestampnumber标记价时间戳(毫秒)
midPricenumber中间价
preMidPricenumber昨中间价
midTimestampnumber中间价时间戳(毫秒)

示例

const result = await quoteClient.getOptionQuote(['AAPL  260619C00150000'], 'America/New_York');
console.log(result);

返回示例

[
  {
    "symbol": "string",
    "open": 0,
    "high": 0,
    "low": 0,
    "close": 0,
    "preClose": 0,
    "latestPrice": 0,
    "latestTime": 0,
    "askPrice": 0,
    "askSize": 0,
    "bidPrice": 0,
    "bidSize": 0,
    "volume": 0,
    "status": "string",
    "adjPreClose": 0,
    "change": 0,
    "changeRate": 0,
    "amplitude": 0,
    "expiry": "string",
    "strike": "string",
    "right": "string",
    "multiplier": 0,
    "openInterest": 0
  }
]

请求频率:基础上限为每分钟 120 次。


获取期权逐笔成交

签名

async getOptionTradeTicks(req: OptionTradeTicksRequest): Promise<TradeTick[]>

用途

查询 option trade ticks。

参数、默认值与约束

参数类型必填SDK 默认值约束
reqOptionTradeTicksRequest是无—
req.contractsOptionQueryItem[] | undefined是无非空,最多 30 个期权合约
req.langstring | undefined否无—

返回

Promise<TradeTick[]>

字段类型说明
symbolstring股票代码
beginIndexnumber起始索引
endIndexnumber结束索引
itemsTradeTickItem[]数据数组

示例

const result = await quoteClient.getOptionTradeTicks({ contracts: [{ symbol: 'AAPL', expiry: Date.UTC(2026, 5, 19), strike: '150', right: 'CALL' }] });
console.log(result);

返回示例

[
  {
    "symbol": "string",
    "beginIndex": 0,
    "endIndex": 0,
    "items": [
      "TradeTickItem"
    ]
  }
]

请求频率:基础上限为每分钟 120 次。


获取期权分时数据

签名

async getOptionTimeline(req: OptionTimelineRequest): Promise<Timeline[]>

用途

查询 option timeline。

参数、默认值与约束

参数类型必填SDK 默认值约束
reqOptionTimelineRequest是无—
req.optionQueryOptionQueryItem[] | undefined否无—
req.marketstring | undefined否无—
req.langstring | undefined否无—

返回

Promise<Timeline[]>

字段类型说明
symbolstring股票代码
periodstring分时周期
preClosenumber前收价
intradayTimelineBucket盘中分时数据
preHoursTimelineBucket盘前分时数据
afterHoursTimelineBucket盘后分时数据

示例

const result = await quoteClient.getOptionTimeline({ optionQuery: [{ symbol: 'AAPL', expiry: Date.UTC(2026, 5, 19), strike: '150', right: 'CALL' }], market: 'US' });
console.log(result);

返回示例

[
  {
    "symbol": "string",
    "period": "string",
    "preClose": 0,
    "intraday": {
      "items": [
        "TimelineItem"
      ]
    },
    "preHours": {
      "items": [
        "TimelineItem"
      ]
    },
    "afterHours": {
      "items": [
        "TimelineItem"
      ]
    }
  }
]

获取期权深度行情

签名

async getOptionDepth(req: OptionDepthRequest): Promise<Depth[]>

用途

查询 option depth。

参数、默认值与约束

参数类型必填SDK 默认值约束
reqOptionDepthRequest是无—
req.optionBasicOptionQueryItem[] | undefined是无非空,最多 30 个期权合约
req.marketstring | undefined否无—
req.langstring | undefined否无—

返回

Promise<Depth[]>

字段类型说明
symbolstring股票代码
asksDepthLevel[]卖方委托队列
bidsDepthLevel[]买方委托队列

示例

const result = await quoteClient.getOptionDepth({ optionBasic: [{ symbol: 'AAPL', expiry: Date.UTC(2026, 5, 19), strike: '150', right: 'CALL' }], market: 'US' });
console.log(result);

返回示例

[
  {
    "symbol": "string",
    "asks": [
      "DepthLevel"
    ],
    "bids": [
      "DepthLevel"
    ]
  }
]

获取期权代码

当前服务端不支持此接口。

签名

async getOptionSymbols(req: OptionSymbolsRequest): Promise<OptionSymbol[]>

用途

查询 option symbols。

参数、默认值与约束

参数类型必填SDK 默认值约束
reqOptionSymbolsRequest是无—
req.marketstring | undefined否无—
req.langstring | undefined否无—

返回

Promise<OptionSymbol[]>

字段类型说明
symbolstring股票代码
marketstring市场
nameCNstring中文名称
nameENstring英文名称

示例

const result = await quoteClient.getOptionSymbols({ market: 'US' });
console.log(result);

返回示例

[
  {
    "symbol": "string",
    "market": "string",
    "nameCN": "string",
    "nameEN": "string"
  }
]

获取期权分析

签名

async getOptionAnalysis(req: OptionAnalysisRequest): Promise<OptionAnalysis[]>

用途

查询 option analysis。

参数、默认值与约束

参数类型必填SDK 默认值约束
reqOptionAnalysisRequest是无—
req.symbolsstring[] | undefined是无非空,最多 10 个标的
req.marketstring | undefined否无US 或 HK
req.periodstring | undefined否52week(接口)分析周期
req.requireVolatilityListboolean | undefined否false(接口)仅传 true 时返回历史波动率列表
req.langstring | undefined否无—

返回

Promise<OptionAnalysis[]>

字段类型说明
symbolstring股票代码
impliedVol30Daysnumber30 日隐含波动率
hisVolatilitynumber历史波动率
ivHisVRationumber隐波/历波比值
callPutRationumber认购认沽比
impliedVolMetricImpliedVolMetric隐含波动率指标
volatilityListOptionVolatilityPoint[]波动率列表

示例

const result = await quoteClient.getOptionAnalysis({ symbols: ['AAPL'], market: 'US', period: '26week' });
console.log(result);

返回示例

[
  {
    "symbol": "string",
    "impliedVol30Days": 0,
    "hisVolatility": 0,
    "ivHisVRatio": 0,
    "callPutRatio": 0,
    "impliedVolMetric": {
      "period": "string",
      "percentile": 0,
      "rank": 0
    },
    "volatilityList": [
      "OptionVolatilityPoint"
    ]
  }
]

请求频率:基础上限为每分钟 60 次。


Did this page help you?