期权
示例上下文
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 默认值 | 约束 |
|---|---|---|---|---|
symbols | string[] | 是 | None | — |
market | string | 否 | None | — |
返回
Promise<OptionExpiration[]>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | string | 股票代码 |
| optionSymbols | string[] | 期权代码列表 |
| dates | string[] | 到期日列表 |
| timestamps | number[] | 到期日时间戳列表 |
| periods | string[] | 周期列表 |
| counts | number[] | 各到期日合约数量 |
示例
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 默认值 | 约束 |
|---|---|---|---|---|
items | Array<[string, string]> | 是 | None | — |
timezone | string | 否 | None | — |
returnGreekValue | boolean | 否 | None | — |
optionFilter | OptionChainFilter | 否 | None | — |
optionFilter.inTheMoney | boolean | undefined | 否 | 无 | — |
optionFilter.impliedVolatility | Range | undefined | 否 | 无 | — |
optionFilter.openInterest | Range | undefined | 否 | 无 | — |
optionFilter.greeks | OptionChainFilterGreeks | undefined | 否 | 无 | — |
返回
Promise<OptionChain[]>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | string | 股票代码 |
| expiry | number | 到期日 |
| items | OptionChainRow[] | 数据数组 |
示例
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 默认值 | 约束 |
|---|---|---|---|---|
identifiers | string[] | 是 | None | — |
period | string | 是 | None | — |
beginTime | number | 否 | -1 | — |
endTime | number | 否 | -1 | — |
timezone | string | 否 | None | — |
limit | number | 否 | None | — |
sortDir | string | 否 | None | — |
返回
Promise<Kline[]>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | string | 股票代码 |
| period | string | K 线周期 |
| nextPageToken | string | 下一页 token |
| items | KlineItem[] | 数据数组 |
示例
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 默认值 | 约束 |
|---|---|---|---|---|
identifiers | string[] | 是 | None | — |
timezone | string | 否 | None | — |
返回
Promise<Brief[]>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | string | 股票代码 |
| open | number | 开盘价 |
| high | number | 最高价 |
| low | number | 最低价 |
| close | number | 收盘价 |
| preClose | number | 前收价 |
| latestPrice | number | 最新价 |
| latestTime | number | 最新成交时间(毫秒时间戳) |
| askPrice | number | 卖一价 |
| askSize | number | 卖一量 |
| bidPrice | number | 买一价 |
| bidSize | number | 买一量 |
| volume | number | 成交量 |
| status | string | 交易状态 |
| adjPreClose | number | 复权前收价 |
| change | number | 涨跌额 |
| changeRate | number | 涨跌幅 |
| amplitude | number | 振幅 |
| expiry | string | 到期日 |
| strike | string | 行权价 |
| right | string | 期权方向 |
| multiplier | number | 合约乘数 |
| openInterest | number | 未平仓量 |
示例
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 默认值 | 约束 |
|---|---|---|---|---|
req | OptionTradeTicksRequest | 是 | None | — |
req.contracts | OptionQueryItem[] | undefined | 否 | 无 | — |
req.lang | string | undefined | 否 | 无 | — |
返回
Promise<TradeTick[]>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | string | 股票代码 |
| beginIndex | number | 起始索引 |
| endIndex | number | 结束索引 |
| items | TradeTickItem[] | 数据数组 |
示例
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 默认值 | 约束 |
|---|---|---|---|---|
req | OptionTimelineRequest | 是 | None | — |
req.optionQuery | OptionQueryItem[] | undefined | 否 | 无 | — |
req.market | string | undefined | 否 | 无 | — |
req.lang | string | undefined | 否 | 无 | — |
返回
Promise<Timeline[]>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | string | 股票代码 |
| period | string | K 线周期 |
| preClose | number | 前收价 |
| intraday | TimelineBucket | 盘中分时数据 |
| preHours | TimelineBucket | 盘前分时数据 |
| afterHours | TimelineBucket | 盘后分时数据 |
示例
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 默认值 | 约束 |
|---|---|---|---|---|
req | OptionDepthRequest | 是 | None | — |
req.optionBasic | OptionQueryItem[] | undefined | 否 | 无 | — |
req.market | string | undefined | 否 | 无 | — |
req.lang | string | undefined | 否 | 无 | — |
返回
Promise<Depth[]>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | string | 股票代码 |
| asks | DepthLevel[] | 卖方委托队列 |
| bids | DepthLevel[] | 买方委托队列 |
示例
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 默认值 | 约束 |
|---|---|---|---|---|
req | OptionSymbolsRequest | 是 | None | — |
req.market | string | undefined | 否 | 无 | — |
req.lang | string | undefined | 否 | 无 | — |
返回
Promise<OptionSymbol[]>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | string | 股票代码 |
| market | string | 市场 |
| nameCN | string | 中文名称 |
| nameEN | string | 英文名称 |
示例
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 默认值 | 约束 |
|---|---|---|---|---|
req | OptionAnalysisRequest | 是 | None | — |
req.symbols | string[] | undefined | 否 | 无 | — |
req.market | string | undefined | 否 | 无 | — |
req.period | string | undefined | 否 | 无 | — |
req.requireVolatilityList | boolean | undefined | 否 | 无 | — |
req.lang | string | undefined | 否 | 无 | — |
返回
Promise<OptionAnalysis[]>
| 字段 | 类型 | 说明 |
|---|---|---|
| symbol | string | 股票代码 |
| impliedVol30Days | number | 30 日隐含波动率 |
| hisVolatility | number | 历史波动率 |
| ivHisVRatio | number | 隐波/历波比值 |
| callPutRatio | number | 认购认沽比 |
| impliedVolMetric | ImpliedVolMetric | 隐含波动率指标 |
| volatilityList | OptionVolatilityPoint[] | 波动率列表 |
示例
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"
]
}
]Updated 8 days ago
Did this page help you?
