获取合约

状态变更操作必须防止重复提交。

获取合约

操作名

TradeApiService.CONTRACT = contract。该常量用于设置 TigerRequest.ApiMethodName。

请求

TigerRequest<ContractResponse>

ModelValue: ContractModel.

参数

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR 默认值;序列化时省略no—
Accountstring (nullable)accountnullAuto-filled if empty为空时 TradeClient 从 TigerConfig.DefaultAccount 注入;若仍为空则验证失败
SecretKeystringsecret_keynullno—
SecTypestringsec_typeTigerOpenAPI.Common.Enum.SecType.STK.ToString()Optional—
CurrencystringcurrencynullOptional—
RightstringrightnullOptional—
StrikeDoublestrikeCLR 默认值;序列化时省略Optional—
ExpirystringexpirynullOptional—
ExchangestringexchangenullOptional—
SymbolstringsymbolnullRequired—

返回

ContractResponse inherits TigerResponse; its data property is ContractItem.

示例

TigerRequest<ContractResponse> request = new()
{
    ApiMethodName = TradeApiService.CONTRACT,
    ModelValue = new ContractModel { Account = tradeClient.GetDefaultAccount, SecType = "STK", Currency = "USD", Strike = 200.0, Symbol = "AAPL" }
};
ContractResponse? response = await tradeClient.ExecuteAsync(request);

响应类型

ContractItem? data = response?.Data; // response 或 data 缺失时为 null

Data 字段

字段API 字段C# 类型说明
ContractIdcontractIdInt32合约标识
Identifieridentifierstring合约唯一标识
Symbolsymbolstring合约代码
SecTypesecTypestring证券类型
Expiryexpirystring到期日
ContractMonthcontractMonthstring合约月份
StrikestrikeDouble行权价
Rightrightstring期权方向
MultipliermultiplierDouble合约乘数
LotSizelotSizeDouble每手数量
Exchangeexchangestring交易所
Marketmarketstring所属市场
PrimaryExchangeprimaryExchangestring主要交易所
Currencycurrencystring计价币种
LocalSymbollocalSymbolstring本地合约代码
TradingClasstradingClassstring交易类别
Namenamestring合约名称
TradeabletradeableBoolean是否可交易
CloseOnlycloseOnlyBoolean是否仅可平仓
MinTickminTickDouble最小价格变动单位
MarginablemarginableBoolean是否支持保证金交易
ShortInitialMarginshortInitialMarginDouble卖空初始保证金
ShortMaintenanceMarginshortMaintenanceMarginDouble卖空维持保证金
ShortFeeRateshortFeeRateDouble卖空费用费率
ShortableshortableBoolean是否可卖空
ShortableCountshortableCountlong可卖空数量
LongInitialMarginlongInitialMarginDouble多头初始保证金
LongMaintenanceMarginlongMaintenanceMarginDouble多头维持保证金
LastTradingDatelastTradingDatestring最后交易日
FirstNoticeDatefirstNoticeDatestring首次通知日
LastBiddingCloseTimelastBiddingCloseTimelong最后竞价截止时间
ContinuouscontinuousBoolean是否为连续合约
Typetypestring期货合约类型
IbCodeibCodestringIB 合约代码
TickSizestickSizesList<TickSizeItem>最小价格变动规则列表
DiscountedDayInitialMargindiscountedDayInitialMarginDouble日内折扣初始保证金
DiscountedDayMaintenanceMargindiscountedDayMaintenanceMarginDouble日内折扣维持保证金
DiscountedTimeZoneCodediscountedTimeZoneCodestring日内保证金折扣时段的时区代码
DiscountedStartAtdiscountedStartAtstring日内保证金折扣开始时间
DiscountedEndAtdiscountedEndAtstring日内保证金折扣结束时间
IsEtfisEtfBoolean是否为 ETF
EtfLeverageetfLeverageInt32ETF 杠杆倍数

每个 TickSizes 元素是 TickSizeItem:

字段API 字段C# 类型说明
Beginbeginstring价格区间起始值
Endendstring价格区间结束值
TypetypeTickSizeType价格变动规则类型
TickSizetickSizedouble最小价格变动单位

返回示例

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": {
    "symbol": "AAPL",
    "secType": "STK",
    "exchange": "SMART",
    "market": "US",
    "lotSize": 1,
    "currency": "USD",
    "name": "Apple Inc"
  }
}

频率限制

基础额度:每分钟 60 次。

批量获取合约

操作名

TradeApiService.CONTRACTS = contracts。该常量用于设置 TigerRequest.ApiMethodName。

请求

TigerRequest<ContractsResponse>

ModelValue: ContractsModel.

参数

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR 默认值;序列化时省略no—
Accountstring (nullable)accountnullAuto-filled if empty为空时 TradeClient 从 TigerConfig.DefaultAccount 注入;若仍为空则验证失败
SecretKeystringsecret_keynullno—
SecTypestringsec_typeTigerOpenAPI.Common.Enum.SecType.STK.ToString()Optional—
CurrencystringcurrencynullOptional—
RightstringrightnullOptional—
StrikeDoublestrikeCLR 默认值;序列化时省略Optional—
ExpirystringexpirynullOptional—
ExchangestringexchangenullOptional—
Symbols列表,元素为 stringsymbolsnullRequiredNon-empty list

返回

ContractsResponse inherits TigerResponse; its data property is Dictionary<string, List<ContractItem>>.

示例

TigerRequest<ContractsResponse> request = new()
{
    ApiMethodName = TradeApiService.CONTRACTS,
    ModelValue = new ContractsModel { Account = tradeClient.GetDefaultAccount, SecType = "STK", Currency = "USD", Strike = 200.0, Symbols = new List<string> { "AAPL" } }
};
ContractsResponse? response = await tradeClient.ExecuteAsync(request);

响应类型

Dictionary<string, List<ContractItem>>? data = response?.Data; // response 或 data 缺失时为 null

Data 字段

类型SDK 约定
Dictionary<string, List<ContractItem>>动态字典;键和值的实际组合不固定。每个 ContractItem 的完整字段见上文获取合约的 Data 字段。

频率限制

基础额度:每分钟 60 次。


Did this page help you?