期权

获取期权到期日

功能说明

获取多个标的的期权到期日。

方法签名

func (c *QuoteClient) GetOptionExpiration(symbols []string, market ...string) ([]model.OptionExpiration, error)

参数

参数类型必填SDK 默认值约束
symbols[]string标的代码列表;SDK 不设置批量上限
market...stringUS可传 USHK;只使用第一个值

返回

([]model.OptionExpiration, error)。关键字段来自 model.OptionExpiration

字段类型JSON 字段说明
Symbolstringsymbol标的代码
OptionSymbols[]stringoptionSymbols对应的期权标的代码
Dates[]stringdates到期日列表
Timestamps[]int64timestamps到期日时间戳列表
Periods[]stringperiods到期期限类型列表
Counts[]intcounts各到期日的期权合约数量

示例

result, err := qc.GetOptionExpiration([]string{"AAPL"})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

[
  {
    "symbol": "AAPL",
    "optionSymbols": ["AAPL"],
    "dates": ["2025-08-08", "2025-08-15", "2025-08-22", "2025-09-19", "2025-10-17"],
    "timestamps": [1786392000000, 1786996800000, 1787601600000, 1789988400000, 1792407600000],
    "periods": ["weekly", "weekly", "weekly", "monthly", "monthly"],
    "counts": [120, 150, 80, 200, 180]
  }
]

指数期权的特殊代码

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

调用频率

基础限流为 60 次/分钟


获取期权链

功能说明

获取多组(标的, 到期日)的期权链。

方法签名

func (c *QuoteClient) GetOptionChain(items [][2]string, timezone ...string) ([]model.OptionChain, error)

参数

参数类型必填SDK 默认值约束
items[][2]string每项为 [标的代码, YYYY-MM-DD]
timezone...string美股 America/New_York.HK 标的 Asia/Hong_KongIANA 时区名;只使用第一个值,并用于将到期日转换为毫秒时间戳

需要筛选期权链或控制 Greeks 返回时,使用完整请求入口:

func (c *QuoteClient) GetOptionChainByReq(req model.OptionChainRequest) ([]model.OptionChain, error)
OptionChainRequest 字段类型必填默认值说明
OptionBasic[]model.OptionQueryItem空值省略期权合约列表
ReturnGreekValueboolfalse 时省略是否返回 Greeks
OptionFilter*model.OptionChainFilternil 时省略期权链筛选条件
Marketstring空值省略市场
Langstring空值省略语言
OptionChainFilter 字段类型说明
InTheMoney*bool是否为价内期权
ImpliedVolatility*RangeFloat64隐含波动率范围
OpenInterest*RangeInt未平仓量范围
Greeks*OptionChainFilterGreeksDeltaGammaVegaThetaRho 范围

RangeFloat64RangeInt 均使用可空的 MinMax 表示范围边界。

返回

([]model.OptionChain, error)。关键字段来自 model.OptionChain

字段类型JSON 字段说明
Symbolstringsymbol标的代码
Expiryint64expiry到期日时间戳
Items[]OptionChainRowitems数据条目列表
OptionChainRow 字段类型JSON 字段说明
Put*OptionLegput对应行的认沽期权
Call*OptionLegcall对应行的认购期权
OptionLeg 字段类型JSON 字段说明
Identifierstringidentifier期权合约标识符
Strikestringstrike行权价
Rightstringright期权类型
BidPricefloat64bidPrice买一价
BidSizeint64bidSize买一数量
AskPricefloat64askPrice卖一价
AskSizeint64askSize卖一数量
Volumeint64volume成交量
LatestPricefloat64latestPrice最新价
PreClosefloat64preClose昨收价
OpenInterestint64openInterest未平仓量
Multiplierintmultiplier合约乘数
LastTimestampint64lastTimestamp最新成交时间戳
ImpliedVolfloat64impliedVol隐含波动率
Deltafloat64deltaDelta 值
Gammafloat64gammaGamma 值
Thetafloat64thetaTheta 值
Vegafloat64vegaVega 值
Rhofloat64rhoRho 值
MarkPricefloat64markPrice标记价格
PreMarkPricefloat64preMarkPrice前一标记价格
MarkTimestampint64markTimestamp标记价格时间戳
MidPricefloat64midPrice买卖中间价
PreMidPricefloat64preMidPrice前一买卖中间价
MidTimestampint64midTimestamp中间价时间戳

已废弃:期权链的 Greeks 返回开关、Greeks 范围筛选以及 DeltaGammaThetaVegaRho 返回字段均已废弃。这些值每日更新,不适合盘中决策;新代码不要请求或筛选这些字段。

示例

result, err := qc.GetOptionChain([][2]string{{"AAPL", "2026-06-19"}})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

[
  {
    "symbol": "AAPL",
    "expiry": 1786996800000,
    "items": [
      {
        "call": {
          "identifier": "AAPL  250815C00300000",
          "strike": "300",
          "right": "CALL",
          "bidPrice": 13.15,
          "bidSize": 80,
          "askPrice": 13.35,
          "askSize": 50,
          "volume": 5432,
          "latestPrice": 13.25,
          "openInterest": 12345
        },
        "put": {
          "identifier": "AAPL  250815P00300000",
          "strike": "300",
          "right": "PUT",
          "bidPrice": 4.40,
          "bidSize": 60,
          "askPrice": 4.60,
          "askSize": 45,
          "volume": 3210,
          "latestPrice": 4.50,
          "openInterest": 8765
        }
      }
    ]
  }
]

调用频率

基础限流为 60 次/分钟


获取期权行情

功能说明

获取指定期权合约的行情。

方法签名

func (c *QuoteClient) GetOptionQuote(identifiers []string, timezone ...string) ([]model.Brief, error)

参数

参数类型必填SDK 默认值约束
identifiers[]stringOCC 格式期权标识符;格式错误在发送前返回错误
timezone...string美股 America/New_York.HK 标的 Asia/Hong_KongIANA 时区名;只使用第一个值

返回

([]model.Brief, error)。关键字段来自 model.Brief

字段类型JSON 字段说明
Symbolstringsymbol标的代码
Openfloat64open开盘价
Highfloat64high最高价
Lowfloat64low最低价
Closefloat64close收盘价
PreClosefloat64preClose昨收价
LatestPricefloat64latestPrice最新价
LatestTimeint64latestTime最新成交时间戳
AskPricefloat64askPrice卖一价
AskSizeint64askSize卖一数量
BidPricefloat64bidPrice买一价
BidSizeint64bidSize买一数量
Volumeint64volume成交量
Statusstringstatus行情状态
AdjPreClosefloat64adjPreClose复权昨收价
Changefloat64change涨跌额
ChangeRatefloat64changeRate涨跌幅
Amplitudefloat64amplitude振幅
Expiryint64expiry到期日时间戳
Strikestringstrike行权价
Rightstringright期权类型
Multiplierintmultiplier合约乘数
OpenInterestint64openInterest未平仓量

示例

result, err := qc.GetOptionQuote([]string{"AAPL 260619C00200000"})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

[
  {
    "symbol": "AAPL",
    "open": 12.50,
    "high": 14.80,
    "low": 11.90,
    "close": 13.25,
    "preClose": 11.80,
    "latestPrice": 13.25,
    "latestTime": 1785528000000,
    "askPrice": 13.35,
    "askSize": 50,
    "bidPrice": 13.15,
    "bidSize": 80,
    "volume": 5432,
    "status": "NORMAL",
    "expiry": 1786996800000,
    "strike": "300",
    "right": "CALL",
    "multiplier": 100,
    "openInterest": 12345
  }
]

调用频率

基础限流为 120 次/分钟


获取期权 K 线

功能说明

获取期权 K 线数据。

方法签名

func (c *QuoteClient) GetOptionKline(identifiers []string, period string, beginTime, endTime int64, timezone ...string) ([]model.Kline, error)

参数

参数类型必填SDK 默认值约束
identifiers[]stringOCC 格式期权标识符;格式错误在发送前返回错误
periodstringK 线周期;见 BarPeriod 枚举
beginTimeint640-1 发送13 位毫秒时间戳;-1 表示不限定该端
endTimeint640-1 发送13 位毫秒时间戳;-1 表示不限定该端
timezone...string美股 America/New_York.HK 标的 Asia/Hong_KongIANA 时区名;只使用第一个值

需要设置返回条数和排序方向时,使用:

func (c *QuoteClient) GetOptionKlineWithOpts(identifiers []string, period string, beginTime, endTime int64, limit int, sortDir string, timezone ...string) ([]model.Kline, error)

limit <= 0 和空 sortDir 不发送对应参数。

返回

([]model.Kline, error)。关键字段来自 model.Kline

字段类型JSON 字段说明
Symbolstringsymbol标的代码
Periodstringperiod数据周期
NextPageTokenstringnextPageToken下一页令牌
Items[]KlineItemitems数据条目列表

KlineItem 字段

字段类型说明
Timeint64时间戳
Volumeint64成交量
VolumeDecimal*float64小数成交量
Openfloat64开盘价
Closefloat64收盘价
Highfloat64最高价
Lowfloat64最低价
Amountfloat64金额

示例

result, err := qc.GetOptionKline([]string{"AAPL 260619C00200000"}, "day", -1, -1)
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

[
  {
    "symbol": "AAPL  250815C00300000",
    "period": "day",
    "nextPageToken": null,
    "items": [
      {"time": 1785384000000, "volume": 3200, "open": 11.80, "close": 12.50, "high": 12.90, "low": 11.50, "amount": 0},
      {"time": 1785470400000, "volume": 5432, "open": 12.50, "close": 13.25, "high": 14.80, "low": 11.90, "amount": 0}
    ]
  }
]

调用频率

基础限流为 60 次/分钟



获取期权逐笔成交

功能说明

期权逐笔成交。

方法签名

func (c *QuoteClient) GetOptionTradeTicks(req model.OptionTradeTicksRequest) ([]model.TradeTick, error)

参数

model.OptionTradeTicksRequest

参数类型必填默认值说明
Langstring空值省略无;可选值:zh_CN, zh_TW, en_US
Contracts[]model.OptionQueryItem空值省略合约查询列表;每项支持 SymbolExpiryStrikeRightPeriodBeginTimeEndTimeLimitBeginIndexEndIndexPageToken

OptionQueryItem 字段

字段类型必填默认/省略行为说明
Symbolstring空值时省略标的代码
Expiryint64零值时省略Expiry 字段值
Strikestring空值时省略Strike 字段值
Rightstring空值时省略Right 字段值
Periodstring空值时省略周期
BeginTimeint64零值时省略开始时间,毫秒时间戳
EndTimeint64零值时省略结束时间,毫秒时间戳
Limitint零值时省略返回数量上限
BeginIndexint零值时省略起始索引
EndIndexint零值时省略结束索引
PageTokenstring空值时省略分页令牌

返回

([]model.TradeTick, error)。关键字段来自 model.TradeTick

字段类型JSON 字段说明
Symbolstringsymbol标的代码
BeginIndexint64beginIndex起始索引
EndIndexint64endIndex结束索引
Items[]TradeTickItemitems数据条目列表

TradeTickItem 字段

字段类型说明
Timeint64时间戳
Volumeint64成交量
Pricefloat64价格
Typestring业务或产品类型

示例

result, err := qc.GetOptionTradeTicks(model.OptionTradeTicksRequest{
	Contracts: []model.OptionQueryItem{{Symbol: "AAPL", Expiry: 1781827200000, Strike: "200", Right: "CALL"}},
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

[
  {
    "symbol": "AAPL  250815C00300000",
    "beginIndex": 1200,
    "endIndex": 1202,
    "items": [
      {"time": 1785527980000, "volume": 10, "price": 13.20, "type": "+"},
      {"time": 1785527985000, "volume": 5, "price": 13.25, "type": "-"}
    ]
  }
]

调用频率

基础限流为 120 次/分钟


获取期权分时

功能说明

期权分时。

方法签名

func (c *QuoteClient) GetOptionTimeline(req model.OptionTimelineRequest) ([]model.Timeline, error)

参数

model.OptionTimelineRequest

参数类型必填默认值说明
Marketstring空值省略无;可选值:ALL, US, HK, CN, SG
Langstring空值省略无;可选值:zh_CN, zh_TW, en_US
OptionQuery[]model.OptionQueryItem空值省略期权合约查询列表;字段同上

OptionQueryItem 字段

字段类型必填默认/省略行为说明
Symbolstring空值时省略标的代码
Expiryint64零值时省略Expiry 字段值
Strikestring空值时省略Strike 字段值
Rightstring空值时省略Right 字段值
Periodstring空值时省略周期
BeginTimeint64零值时省略开始时间,毫秒时间戳
EndTimeint64零值时省略结束时间,毫秒时间戳
Limitint零值时省略返回数量上限
BeginIndexint零值时省略起始索引
EndIndexint零值时省略结束索引
PageTokenstring空值时省略分页令牌

返回

([]model.Timeline, error)。关键字段来自 model.Timeline

字段类型JSON 字段说明
Symbolstringsymbol标的代码
Periodstringperiod数据周期
PreClosefloat64preClose昨收价
Intraday*TimelineBucketintraday日间分时数据
PreHours*TimelineBucketpreHours盘前分时数据
AfterHours*TimelineBucketafterHours盘后分时数据

TimelineBucket 字段

字段类型说明
Items[]TimelineItem结果条目

TimelineItem 字段

字段类型说明
Timeint64时间戳
Volumeint64成交量
VolumeDecimal*float64小数成交量
Pricefloat64价格
AvgPricefloat64AvgPrice 字段值

示例

result, err := qc.GetOptionTimeline(model.OptionTimelineRequest{
	OptionQuery: []model.OptionQueryItem{{Symbol: "AAPL", Expiry: 1781827200000, Strike: "200", Right: "CALL"}},
	Market: "US",
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

[
  {
    "symbol": "AAPL  250815C00300000",
    "period": "day",
    "preClose": 11.80,
    "intraday": {
      "items": [
        {"time": 1785504600000, "price": 12.50, "avgPrice": 12.50, "volume": 120},
        {"time": 1785504660000, "price": 12.65, "avgPrice": 12.57, "volume": 85},
        {"time": 1785504720000, "price": 12.45, "avgPrice": 12.53, "volume": 200}
      ]
    },
    "preHours": null,
    "afterHours": null
  }
]


获取期权深度行情

功能说明

获取期权订单簿。

方法签名

func (c *QuoteClient) GetOptionDepth(req model.OptionDepthRequest) ([]model.Depth, error)

参数

model.OptionDepthRequest

参数类型必填默认值说明
Marketstring空值省略无;可选值:ALL, US, HK, CN, SG
Langstring空值省略无;可选值:zh_CN, zh_TW, en_US
OptionBasic[]model.OptionQueryItem空值省略期权合约列表;字段同上

OptionQueryItem 字段

字段类型必填默认/省略行为说明
Symbolstring空值时省略标的代码
Expiryint64零值时省略Expiry 字段值
Strikestring空值时省略Strike 字段值
Rightstring空值时省略Right 字段值
Periodstring空值时省略周期
BeginTimeint64零值时省略开始时间,毫秒时间戳
EndTimeint64零值时省略结束时间,毫秒时间戳
Limitint零值时省略返回数量上限
BeginIndexint零值时省略起始索引
EndIndexint零值时省略结束索引
PageTokenstring空值时省略分页令牌

返回

([]model.Depth, error)。关键字段来自 model.Depth

字段类型JSON 字段说明
Symbolstringsymbol标的代码
Asks[]DepthLevelasks卖盘档位
Bids[]DepthLevelbids买盘档位

DepthLevel 字段

字段类型说明
Pricefloat64价格
CountintCount 字段值
Volumeint64成交量

示例

result, err := qc.GetOptionDepth(model.OptionDepthRequest{
	OptionBasic: []model.OptionQueryItem{{Symbol: "AAPL", Expiry: 1781827200000, Strike: "200", Right: "CALL"}},
	Market: "US",
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

[
  {
    "symbol": "AAPL  250815C00300000",
    "asks": [
      {"price": 13.35, "volume": 50, "count": 0},
      {"price": 13.40, "volume": 120, "count": 0}
    ],
    "bids": [
      {"price": 13.15, "volume": 80, "count": 0},
      {"price": 13.10, "volume": 150, "count": 0}
    ]
  }
]

获取期权代码

功能说明

期权代码列表。

方法签名

func (c *QuoteClient) GetOptionSymbols(req model.OptionSymbolsRequest) ([]model.OptionSymbol, error)

当前服务端不支持 Go SDK 使用的 option_symbol 接口。

参数

model.OptionSymbolsRequest

参数类型必填默认值说明
Marketstring空值省略无;可选值:ALL, US, HK, CN, SG
Langstring空值省略无;可选值:zh_CN, zh_TW, en_US

返回

([]model.OptionSymbol, error)。关键字段来自 model.OptionSymbol

字段类型JSON 字段说明
Symbolstringsymbol标的代码
Marketstringmarket市场代码
NameCNstringnameCN中文名称
NameENstringnameEN英文名称

示例

result, err := qc.GetOptionSymbols(model.OptionSymbolsRequest{
	Market: "US",
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

[
  {"symbol": "AAPL", "market": "US", "nameCN": "苹果", "nameEN": "Apple Inc"},
  {"symbol": "MSFT", "market": "US", "nameCN": "微软", "nameEN": "Microsoft Corp"},
  {"symbol": "GOOGL", "market": "US", "nameCN": "谷歌", "nameEN": "Alphabet Inc"}
]

获取期权分析

功能说明

期权分析(隐含/历史波动率)。

方法签名

func (c *QuoteClient) GetOptionAnalysis(req model.OptionAnalysisRequest) ([]model.OptionAnalysis, error)

参数

model.OptionAnalysisRequest

参数类型必填默认值说明
Marketstring空值省略无;可选值:ALL, US, HK, CN, SG
Symbols[]model.OptionAnalysisSymbol空值省略每项包含 Symbol,并可独立设置 PeriodRequireVolatilityList
Langstring空值省略无;可选值:zh_CN, zh_TW, en_US

OptionAnalysisSymbol 字段

字段类型必填默认/省略行为说明
Symbolstring无;零值仍会序列化标的代码
Periodstring空值时省略周期
RequireVolatilityList*boolnil 时省略RequireVolatilityList 字段值

返回

([]model.OptionAnalysis, error)。关键字段来自 model.OptionAnalysis

字段类型JSON 字段说明
Symbolstringsymbol标的代码
ImpliedVol30Daysfloat64impliedVol30Days30 日隐含波动率
HisVolatilityfloat64hisVolatility历史波动率
IvHisVRatiofloat64ivHisVRatio隐含波动率与历史波动率比值
CallPutRatiofloat64callPutRatio认购认沽比
ImpliedVolMetric*ImpliedVolMetricimpliedVolMetric隐含波动率指标
VolatilityList[]OptionVolatilityPointvolatilityList波动率时序数据
ImpliedVolMetric 字段类型JSON 字段说明
Periodstringperiod数据周期
Percentilefloat64percentile百分位
Rankfloat64rank排名
OptionVolatilityPoint 字段类型JSON 字段说明
ImpliedVolfloat64impliedVol隐含波动率
Percentilefloat64percentile百分位
Rankfloat64rank排名
HisVolatilityfloat64hisVolatility历史波动率
Timestampint64timestamp时间戳

示例

withList := true
result, err := qc.GetOptionAnalysis(model.OptionAnalysisRequest{
	Symbols: []model.OptionAnalysisSymbol{{Symbol: "AAPL", Period: "52week", RequireVolatilityList: &withList}},
	Market: "US",
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

[
  {
    "symbol": "AAPL",
    "impliedVol30Days": 0.32,
    "hisVolatility": 0.28,
    "ivHisVRatio": 1.14,
    "callPutRatio": 1.85,
    "impliedVolMetric": {
      "period": "year",
      "percentile": 0.45,
      "rank": 0.52
    },
    "volatilityList": [
      {"timestamp": 1785384000000, "impliedVol": 0.31, "hisVolatility": 0.27, "percentile": 0.42, "rank": 0.50},
      {"timestamp": 1785470400000, "impliedVol": 0.32, "hisVolatility": 0.28, "percentile": 0.45, "rank": 0.52}
    ]
  }
]

调用频率

基础限流为 60 次/分钟



Did this page help you?