行情查询

C# SDK 通过 QuoteClient 提供全部行情接口,所有请求使用 TigerRequest<TResponse> 泛型包装,通过 await quoteClient.ExecuteAsync(request) 异步调用。以下为完整可运行示例:

using TigerOpenAPI.Common;
using TigerOpenAPI.Quote;
using TigerOpenAPI.Quote.Response;
using TigerOpenAPI.Quote.Model;

TigerConfig config = new TigerConfig()
{
    ConfigFilePath = "/path/to/tiger_openapi_config.properties"
};
QuoteClient quoteClient = new QuoteClient(config);

// 获取市场状态
TigerRequest<MarketStateResponse> request = new TigerRequest<MarketStateResponse>()
{
    ApiMethodName = QuoteApiService.MARKET_STATE,
    ModelValue = new QuoteMarketModel() { Market = Market.US }
};
MarketStateResponse response = await quoteClient.ExecuteAsync(request);
Console.WriteLine(response);

基础行情

marketState 获取市场状态

说明

查询指定市场的当前交易状态,包括是否开盘、下次开盘时间等。

参数

参数名类型是否必填描述
MarketMarket市场代码:Market.US(美股)/ Market.HK(港股)/ Market.CN(A股)

返回

MarketStateResponse,包含市场状态数组,每个元素含 MarketStatustrading / closed 等)、OpenTime 等字段。

示例

TigerRequest<MarketStateResponse> request = new TigerRequest<MarketStateResponse>()
{
    ApiMethodName = QuoteApiService.MARKET_STATE,
    ModelValue = new QuoteMarketModel() { Market = Market.US }
};
MarketStateResponse response = await quoteClient.ExecuteAsync(request);

数据示例

请求参数:

{ "market": "US" }

返回数据:

[
  {
    "market": "US",
    "status": "trading",
    "openTime": 1735020600000,
    "closeTime": 1735044000000,
    "timezone": "America/New_York"
  }
]

tradingCalendar 获取交易日历

说明

查询指定市场在一段时间范围内的交易日列表。

参数

参数名类型是否必填描述
MarketMarket市场代码
BeginTimestring开始日期,格式 'YYYY-MM-DD'
EndTimestring结束日期,格式 'YYYY-MM-DD'

返回

TradingCalendarResponse,包含交易日列表,每条含 DateTradingDay(是否交易日)等字段。

示例

TigerRequest<TradingCalendarResponse> request = new TigerRequest<TradingCalendarResponse>()
{
    ApiMethodName = QuoteApiService.TRADING_CALENDAR,
    ModelValue = new QuoteTradingCalendarModel()
    {
        Market = Market.US,
        BeginTime = "2025-01-01",
        EndTime = "2025-01-31"
    }
};
TradingCalendarResponse response = await quoteClient.ExecuteAsync(request);

数据示例

返回数据:

[
  { "date": "2025-01-02", "tradingDay": true },
  { "date": "2025-01-03", "tradingDay": true },
  { "date": "2025-01-04", "tradingDay": false }
]

stockDetail 获取股票详情

说明

查询指定股票代码的基本信息,包括名称、市场、货币、交易所等。

参数

参数名类型是否必填描述
SymbolsList<string>股票代码列表,如 ["AAPL", "TSLA"]
MarketMarket市场代码

返回

StockDetailResponse,包含股票详情列表,每条含 SymbolNameCurrencyExchangeLotSize 等字段。

示例

TigerRequest<StockDetailResponse> request = new TigerRequest<StockDetailResponse>()
{
    ApiMethodName = QuoteApiService.STOCK_DETAIL,
    ModelValue = new QuoteContractModel()
    {
        Symbols = new List<string> { "AAPL", "TSLA" }
    }
};
StockDetailResponse response = await quoteClient.ExecuteAsync(request);

数据示例

返回数据:

[
  {
    "symbol": "AAPL",
    "name": "Apple Inc.",
    "currency": "USD",
    "exchange": "NASDAQ",
    "lotSize": 1,
    "market": "US"
  }
]

quoteRealTime 获取实时报价

说明

批量获取股票的实时快照行情,包括最新价、涨跌幅、成交量等核心字段。

参数

参数名类型是否必填描述
SymbolsList<string>股票代码列表,如 ["AAPL", "TSLA"];港股如 ["00700"]

返回

QuoteBriefResponse,包含行情快照数组,每个元素含 SymbolLatestPricePreCloseChangeChangePercentageVolumeAmount 等字段。

示例

TigerRequest<QuoteBriefResponse> request = new TigerRequest<QuoteBriefResponse>()
{
    ApiMethodName = QuoteApiService.BRIEF,
    ModelValue = new QuoteContractModel()
    {
        Symbols = new List<string> { "AAPL", "TSLA", "00700" }
    }
};
QuoteBriefResponse response = await quoteClient.ExecuteAsync(request);

数据示例

返回数据:

[
  {
    "symbol": "AAPL",
    "latestPrice": 227.52,
    "preClose": 225.01,
    "change": 2.51,
    "changePercentage": 1.115,
    "volume": 62345678,
    "amount": 14189233280.0,
    "open": 225.50,
    "high": 228.10,
    "low": 224.80,
    "timestamp": 1735042800000
  }
]

quoteDelay 获取延迟行情

说明

获取股票的延迟行情数据(通常延迟 15 分钟),适用于未开通实时行情权限的用户。

参数

参数名类型是否必填描述
SymbolsList<string>股票代码列表

返回

QuoteDelayResponse,结构同实时报价,但数据有延迟。

示例

TigerRequest<QuoteDelayResponse> request = new TigerRequest<QuoteDelayResponse>()
{
    ApiMethodName = QuoteApiService.DELAY_QUOTE,
    ModelValue = new QuoteContractModel()
    {
        Symbols = new List<string> { "AAPL" }
    }
};
QuoteDelayResponse response = await quoteClient.ExecuteAsync(request);

timeline 获取分时数据

说明

获取当日分时走势数据(逐分钟价格与成交量),用于绘制分时图。

参数

参数名类型是否必填描述
SymbolsList<string>股票代码列表

返回

QuoteTimelineResponse,每个 symbol 返回分时数据数组,包含 TimePriceVolumeAvgPrice 等字段。

示例

TigerRequest<QuoteTimelineResponse> request = new TigerRequest<QuoteTimelineResponse>()
{
    ApiMethodName = QuoteApiService.TIMELINE,
    ModelValue = new QuoteContractModel()
    {
        Symbols = new List<string> { "AAPL" }
    }
};
QuoteTimelineResponse response = await quoteClient.ExecuteAsync(request);

数据示例

返回数据:

{
  "symbol": "AAPL",
  "items": [
    { "time": 1735020600000, "price": 225.50, "volume": 3021456, "avgPrice": 225.48 },
    { "time": 1735020660000, "price": 225.80, "volume": 1234567, "avgPrice": 225.55 }
  ]
}

kline 获取K线数据

说明

获取指定股票的历史 K 线数据,支持日线、周线、月线及分钟级别。

参数

参数名类型是否必填描述
Symbolstring股票代码
PeriodBarPeriodK 线周期:BarPeriod.Day / BarPeriod.Week / BarPeriod.Month / BarPeriod.min1 / BarPeriod.min5 / BarPeriod.min15 / BarPeriod.min30 / BarPeriod.min60
BeginTimelong开始时间戳(毫秒)
EndTimelong结束时间戳(毫秒)
Limitint返回条数限制,默认 251

返回

QuoteKlineResponse,包含 K 线数组,每条记录含 TimeOpenHighLowCloseVolume 字段。

示例

// 获取日线
TigerRequest<QuoteKlineResponse> request = new TigerRequest<QuoteKlineResponse>()
{
    ApiMethodName = QuoteApiService.KLINE,
    ModelValue = new QuoteKlineModel()
    {
        Symbol = "AAPL",
        Period = BarPeriod.Day,
        Limit = 60
    }
};
QuoteKlineResponse response = await quoteClient.ExecuteAsync(request);

// 获取 5 分钟 K 线
TigerRequest<QuoteKlineResponse> request5min = new TigerRequest<QuoteKlineResponse>()
{
    ApiMethodName = QuoteApiService.KLINE,
    ModelValue = new QuoteKlineModel()
    {
        Symbol = "AAPL",
        Period = BarPeriod.min5
    }
};

数据示例

返回数据:

{
  "symbol": "AAPL",
  "period": "day",
  "items": [
    { "time": 1734912000000, "open": 222.56, "high": 225.72, "low": 222.11, "close": 225.01, "volume": 55234100 },
    { "time": 1734998400000, "open": 225.50, "high": 228.10, "low": 224.80, "close": 227.52, "volume": 62345678 }
  ]
}

quoteDepth 获取深度行情

说明

获取买卖五档盘口深度数据。

参数

参数名类型是否必填描述
SymbolsList<string>股票代码列表

返回

QuoteDepthResponse,包含 AskList(卖盘)和 BidList(买盘),每档含 PriceVolumeOrderCount 字段。

示例

TigerRequest<QuoteDepthResponse> request = new TigerRequest<QuoteDepthResponse>()
{
    ApiMethodName = QuoteApiService.DEPTH_QUOTE,
    ModelValue = new QuoteContractModel()
    {
        Symbols = new List<string> { "AAPL" }
    }
};
QuoteDepthResponse response = await quoteClient.ExecuteAsync(request);

数据示例

返回数据:

{
  "symbol": "AAPL",
  "askList": [
    { "price": 227.53, "volume": 300, "orderCount": 2 },
    { "price": 227.55, "volume": 500, "orderCount": 4 }
  ],
  "bidList": [
    { "price": 227.52, "volume": 400, "orderCount": 3 },
    { "price": 227.50, "volume": 600, "orderCount": 5 }
  ]
}

tradeTick 获取逐笔成交

说明

获取最新逐笔成交记录,每一笔成交的价格、数量和方向(买/卖)。

参数

参数名类型是否必填描述
SymbolsList<string>股票代码列表

返回

QuoteTradeTickResponse,包含逐笔成交数组,每条含 TimePriceVolumeDirection 字段。

示例

TigerRequest<QuoteTradeTickResponse> request = new TigerRequest<QuoteTradeTickResponse>()
{
    ApiMethodName = QuoteApiService.TRADE_TICK,
    ModelValue = new QuoteContractModel()
    {
        Symbols = new List<string> { "AAPL" }
    }
};
QuoteTradeTickResponse response = await quoteClient.ExecuteAsync(request);

数据示例

返回数据:

{
  "symbol": "AAPL",
  "items": [
    { "time": 1735042780000, "price": 227.52, "volume": 100, "direction": "BUY" },
    { "time": 1735042781000, "price": 227.50, "volume": 200, "direction": "SELL" }
  ]
}

期权行情

optionExpiration 获取期权到期日

说明

获取指定标的股票的所有期权到期日列表,用于构建期权链查询条件。

参数

参数名类型是否必填描述
Symbolstring标的股票代码,如 "AAPL"

返回

OptionExpirationResponse,包含到期日字符串列表,格式为 'YYYYMMDD'

示例

TigerRequest<OptionExpirationResponse> request = new TigerRequest<OptionExpirationResponse>()
{
    ApiMethodName = QuoteApiService.OPTION_EXPIRATION,
    ModelValue = new QuoteContractModel()
    {
        Symbol = "AAPL"
    }
};
OptionExpirationResponse response = await quoteClient.ExecuteAsync(request);

数据示例

返回数据:

["20250117", "20250221", "20250321", "20250620", "20250919", "20251219", "20260116"]

optionChain 获取期权链

说明

获取指定标的和到期日的完整期权链,包含所有行权价的认购和认沽期权信息。

参数

参数名类型是否必填描述
Symbolstring标的股票代码
Expirystring到期日,格式 'YYYYMMDD',如 '20250117'

返回

OptionChainResponse,包含期权链列表,每条含 StrikeCallSymbolPutSymbolCallLatestPricePutLatestPrice 等字段。

示例

TigerRequest<OptionChainResponse> request = new TigerRequest<OptionChainResponse>()
{
    ApiMethodName = QuoteApiService.OPTION_CHAIN,
    ModelValue = new QuoteOptionModel()
    {
        Symbol = "AAPL",
        Expiry = "20250117"
    }
};
OptionChainResponse response = await quoteClient.ExecuteAsync(request);

数据示例

返回数据:

[
  {
    "strike": 220.0,
    "callSymbol": "AAPL  250117C00220000",
    "putSymbol": "AAPL  250117P00220000",
    "callLatestPrice": 9.50,
    "putLatestPrice": 2.10,
    "callImpliedVolatility": 0.285,
    "putImpliedVolatility": 0.312
  }
]

optionBrief 获取期权报价

说明

批量获取期权合约的实时报价,包含 Greeks(Delta、Gamma、Theta、Vega)等数据。

参数

参数名类型是否必填描述
SymbolsList<string>期权合约代码列表,美股格式:"AAPL 250117C00150000"(注意双空格)

返回

OptionBriefResponse,包含期权报价列表,含 LatestPriceImpliedVolatilityDeltaGammaThetaVega 等字段。

示例

TigerRequest<OptionBriefResponse> request = new TigerRequest<OptionBriefResponse>()
{
    ApiMethodName = QuoteApiService.OPTION_BRIEF,
    ModelValue = new QuoteContractModel()
    {
        Symbols = new List<string> { "AAPL  250117C00150000" }
    }
};
OptionBriefResponse response = await quoteClient.ExecuteAsync(request);

数据示例

返回数据:

[
  {
    "identifier": "AAPL  250117C00220000",
    "latestPrice": 9.50,
    "impliedVolatility": 0.285,
    "delta": 0.612,
    "gamma": 0.028,
    "theta": -0.085,
    "vega": 0.156,
    "openInterest": 12540,
    "volume": 3820
  }
]

期货行情

futureExchange 获取期货交易所列表

说明

获取平台支持的所有期货交易所列表。

返回

FutureExchangeResponse,包含交易所列表,每个元素含 Exchange(如 "CME")及交易所名称。

示例

TigerRequest<FutureExchangeResponse> request = new TigerRequest<FutureExchangeResponse>()
{
    ApiMethodName = QuoteApiService.FUTURE_EXCHANGE
};
FutureExchangeResponse response = await quoteClient.ExecuteAsync(request);

数据示例

返回数据:

[
  { "exchange": "CME", "name": "Chicago Mercantile Exchange" },
  { "exchange": "CBOT", "name": "Chicago Board of Trade" },
  { "exchange": "NYMEX", "name": "New York Mercantile Exchange" },
  { "exchange": "HKEX", "name": "Hong Kong Exchanges and Clearing" }
]

futureContracts 获取期货合约列表

说明

获取指定交易所下所有可交易期货合约列表。

参数

参数名类型是否必填描述
Exchangestring交易所代码,如 "CME""HKEX"

返回

FutureContractsResponse,包含期货合约列表,含 SymbolNameContractMultiplierCurrency 等字段。

示例

TigerRequest<FutureContractsResponse> request = new TigerRequest<FutureContractsResponse>()
{
    ApiMethodName = QuoteApiService.FUTURE_CONTRACTS,
    ModelValue = new QuoteFutureModel() { Exchange = "CME" }
};
FutureContractsResponse response = await quoteClient.ExecuteAsync(request);

futureRealTimeQuote 获取期货实时报价

说明

批量获取期货合约的实时行情数据。

参数

参数名类型是否必填描述
SymbolsList<string>期货合约代码列表,如 ["ES2506", "NQ2506"]

返回

FutureQuoteResponse,包含期货行情列表,含 SymbolLatestPriceChangeVolumeOpenInterest 等字段。

示例

TigerRequest<FutureQuoteResponse> request = new TigerRequest<FutureQuoteResponse>()
{
    ApiMethodName = QuoteApiService.FUTURE_REAL_TIME_QUOTE,
    ModelValue = new QuoteContractModel()
    {
        Symbols = new List<string> { "ES2506", "NQ2506" }
    }
};
FutureQuoteResponse response = await quoteClient.ExecuteAsync(request);

基本面数据

capitalFlow 获取资金流向

说明

获取股票的资金流向数据,区分大单/中单/小单的流入流出情况,帮助判断主力资金动向。

参数

参数名类型是否必填描述
Symbolstring股票代码
MarketMarket市场代码

返回

CapitalFlowResponse,包含 InflowOutflowNetInflowLargeOrderInflowSmallOrderOutflow 等字段。

示例

TigerRequest<CapitalFlowResponse> request = new TigerRequest<CapitalFlowResponse>()
{
    ApiMethodName = QuoteApiService.CAPITAL_FLOW,
    ModelValue = new QuoteMarketModel()
    {
        Symbol = "AAPL",
        Market = Market.US
    }
};
CapitalFlowResponse response = await quoteClient.ExecuteAsync(request);

数据示例

返回数据:

{
  "symbol": "AAPL",
  "inflow": 8234567890,
  "outflow": 7123456789,
  "netInflow": 1111111101,
  "largeOrderInflow": 5123456789,
  "largeOrderOutflow": 4012345678,
  "timestamp": 1735042800000
}

capitalDistribution 获取资金分布

说明

获取股票当前资金分布快照,按散户/机构/大户等维度展示持仓比例。

参数

参数名类型是否必填描述
Symbolstring股票代码
MarketMarket市场代码

返回

CapitalDistributionResponse,包含各类投资者的 BuyRatioSellRatioHoldRatio 等字段。

示例

TigerRequest<CapitalDistributionResponse> request = new TigerRequest<CapitalDistributionResponse>()
{
    ApiMethodName = QuoteApiService.CAPITAL_DISTRIBUTION,
    ModelValue = new QuoteMarketModel()
    {
        Symbol = "AAPL",
        Market = Market.US
    }
};
CapitalDistributionResponse response = await quoteClient.ExecuteAsync(request);

数据示例

返回数据:

{
  "symbol": "AAPL",
  "retailBuyRatio": 0.18,
  "retailSellRatio": 0.15,
  "institutionBuyRatio": 0.42,
  "institutionSellRatio": 0.38,
  "timestamp": 1735042800000
}

基本面与扩展行情

stockFundamental 获取股票基本面

说明

查询一个或多个股票的关键基本面数据,包括市盈率、市净率、ROE、市值、每股收益等。

参数

参数类型必填说明
SymbolsList<string>股票代码列表,如 ["AAPL", "TSLA"]
MarketMarket市场:Market.US / Market.HK

返回

QuoteStockFundamentalResponseStockFundamentalDataList<StockFundamentalItem>

字段类型说明
Symbolstring股票代码
TtmPeRatedoubleTTM 市盈率
LyrPeRatedoubleLYR 市盈率
PbRatedouble市净率
PsRatedouble市销率
Roedouble净资产收益率
Roadouble总资产收益率
DivideRatedouble股息率
TtmEpsdoubleTTM 每股收益
LyrEpsdoubleLYR 每股收益
MarketCapdouble总市值
FloatMarketCapdouble流通市值
VolumeRatiodouble量比
TurnoverRatedouble换手率
Week52Highdouble52周最高价
Week52Lowdouble52周最低价

示例

TigerRequest<QuoteStockFundamentalResponse> request = new TigerRequest<QuoteStockFundamentalResponse>()
{
    ApiMethodName = QuoteApiService.STOCK_FUNDAMENTAL,
    ModelValue = new QuoteDepthModel() { Symbols = new List<string> { "AAPL", "TSLA" }, Market = Market.US }
};
QuoteStockFundamentalResponse response = await quoteClient.ExecuteAsync(request);

quoteOvernight 获取盘前盘后行情

说明

查询美股盘前和盘后行情数据。

参数

参数类型必填说明
SymbolsList<string>股票代码列表

返回

QuoteOvernightResponseList<QuoteOvernightItem>

字段类型说明
Symbolstring股票代码
LatestPricedecimal最新价
AskPricedecimal卖一价
AskSizelong卖一量
BidPricedecimal买一价
BidSizelong买一量
PreClosedecimal前收价
Volumelong成交量
Changedecimal涨跌额
ChangeRatedouble涨跌幅
Timestamplong数据时间戳(毫秒)

示例

TigerRequest<QuoteOvernightResponse> request = new TigerRequest<QuoteOvernightResponse>()
{
    ApiMethodName = QuoteApiService.QUOTE_OVERNIGHT,
    ModelValue = new QuoteSymbolModel() { Symbols = new List<string> { "AAPL", "TSLA" } }
};
QuoteOvernightResponse response = await quoteClient.ExecuteAsync(request);

brokerHold 获取机构持仓

说明

查询指定市场的机构持仓数据,支持分页和排序。

参数

参数类型必填说明
MarketMarket市场:Market.US / Market.HK
Limitint每页数量(默认 20)
Pageint页码(默认 1)
OrderBystring排序字段
Directionstring排序方向:"asc" / "desc"

返回

QuoteBrokerHoldResponseBrokerHoldPageItem

字段类型说明
Pageint当前页码
TotalPageint总页数
TotalCountint总记录数
ItemsList<BrokerHoldItem>持仓列表

BrokerHoldItem 字段:OrgIdOrgNameDateSharesHoldMarketValueBuyAmountBuy5Buy20Buy60Market

示例

TigerRequest<QuoteBrokerHoldResponse> request = new TigerRequest<QuoteBrokerHoldResponse>()
{
    ApiMethodName = QuoteApiService.BROKER_HOLD,
    ModelValue = new QuoteBrokerHoldModel(Market.US, limit: 20, page: 1)
};
QuoteBrokerHoldResponse response = await quoteClient.ExecuteAsync(request);

futureDepth 获取期货深度行情

说明

查询期货合约的 Level 2 深度行情(买卖盘)。

参数

参数类型必填说明
ContractCodesList<string>期货合约代码列表,如 ["CL2506"]

返回

FutureDepthResponseList<FutureDepthItem>

字段类型说明
ContractCodestring合约代码
AskList<FutureDepthAskBidItem>卖档列表
BidList<FutureDepthAskBidItem>买档列表

FutureDepthAskBidItemPrice (decimal)Volume (long)

示例

TigerRequest<FutureDepthResponse> request = new TigerRequest<FutureDepthResponse>()
{
    ApiMethodName = QuoteApiService.FUTURE_DEPTH,
    ModelValue = new FutureDepthModel(new List<string> { "CL2506" })
};
FutureDepthResponse response = await quoteClient.ExecuteAsync(request);

optionAnalysis 获取期权分析数据

说明

查询期权的隐含波动率、历史波动率和认购认沽比。

参数

参数类型必填说明
SymbolsList<OptionAnalysisSymbolModel>标的列表,含周期和波动率开关
MarketMarket市场

OptionAnalysisSymbolModel 字段:

字段类型说明
Symbolstring标的代码
Periodstring周期:"1M" / "3M" / "6M" / "1Y"
RequireVolatilityListbool是否返回波动率时间序列

返回

OptionAnalysisResponseList<OptionAnalysisItem>

字段类型说明
Symbolstring标的代码
ImpliedVol30Daysdouble30日隐含波动率
HisVolatilitydouble历史波动率
IvHisVRatiodoubleIV/HV 比率
CallPutRatiodouble认购认沽比
VolatilityListList<object>波动率时间序列(按需返回)

示例

var symbols = new List<OptionAnalysisSymbolModel>
{
    new OptionAnalysisSymbolModel("AAPL", "1M", requireVolatilityList: true)
};
TigerRequest<OptionAnalysisResponse> request = new TigerRequest<OptionAnalysisResponse>()
{
    ApiMethodName = QuoteApiService.OPTION_ANALYSIS,
    ModelValue = new OptionAnalysisModel(symbols, Market.US),
    ApiVersion = "2.0"
};
OptionAnalysisResponse response = await quoteClient.ExecuteAsync(request);