期权

示例上下文

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[]None
marketstringNone

返回

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

获取期权链

签名

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

用途

查询 option chain。

参数、默认值与约束

参数类型必填SDK 默认值约束
itemsArray<[string, string]>None
timezonestringNone
returnGreekValuebooleanNone
optionFilterOptionChainFilterNone
optionFilter.inTheMoneyboolean | undefined
optionFilter.impliedVolatilityRange | undefined
optionFilter.openInterestRange | undefined
optionFilter.greeksOptionChainFilterGreeks | undefined

返回

Promise<OptionChain[]>

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

示例

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

返回示例

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

获取期权 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[]None
periodstringNone
beginTimenumber-1
endTimenumber-1
timezonestringNone
limitnumberNone
sortDirstringNone

返回

Promise<Kline[]>

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

示例

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

返回示例

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

获取期权行情

签名

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

用途

查询 option quote。

参数、默认值与约束

参数类型必填SDK 默认值约束
identifiersstring[]None
timezonestringNone

返回

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未平仓量

示例

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
  }
]

获取期权逐笔

签名

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

用途

查询 option trade ticks。

参数、默认值与约束

参数类型必填SDK 默认值约束
reqOptionTradeTicksRequestNone
req.contractsOptionQueryItem[] | undefined
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"
    ]
  }
]

获取期权分时

签名

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

用途

查询 option timeline。

参数、默认值与约束

参数类型必填SDK 默认值约束
reqOptionTimelineRequestNone
req.optionQueryOptionQueryItem[] | undefined
req.marketstring | undefined
req.langstring | undefined

返回

Promise<Timeline[]>

字段类型说明
symbolstring股票代码
periodstringK 线周期
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 默认值约束
reqOptionDepthRequestNone
req.optionBasicOptionQueryItem[] | undefined
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 默认值约束
reqOptionSymbolsRequestNone
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 默认值约束
reqOptionAnalysisRequestNone
req.symbolsstring[] | undefined
req.marketstring | undefined
req.periodstring | undefined
req.requireVolatilityListboolean | undefined
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"
    ]
  }
]

Did this page help you?