对象说明

PortfolioAccount 资产(综合/模拟账户)

说明

账户资产对象,适用于综合/模拟账户。包含账户的总资产、盈亏、持仓市值、现金、可用资金、保证金、杠杆等相关信息。

C++ SDK 中,账户资产接口返回 web::json::value JSON 对象,字段名与下表属性名对应。

对象属性

属性名类型描述
accountstring对应的账户 id
update_timestampint64更新时间, 毫秒为单位的13位数字时间戳
segmentsobject按照交易品种区分的账户信息。内容是一个 JSON 对象,分别有两个 key,S 表示证券,C 表示期货,value 均为 Segment 对象

Segment 分品种资产(综合/模拟账户)

说明

将资产按照股票/期货交易品种划分,每部分为一个 Segment。

对象属性

属性名类型描述
currencystring币种, 如 USD, HKD
capabilitystring账户类型, 保证金账户: RegTMargin, 现金账户: Cash。保证金账户支持融资融券功能,T+0交易次数不受限制,最大购买力于日内最高4倍,隔日最高2倍。
categorystring交易品种分类 C: (Commodities 期货), S: (Securities 股票), F: (基金)
cash_balancedouble现金额。现金额就是当前所有币种的现金余额之和。
cash_available_for_tradedouble可用资金。可用资金用来检查是否可以开仓或打新。
cash_available_for_withdrawaldouble当前账号内可以出金的现金金额
buying_powerdouble最大购买力。保证金账户日内最多有四倍于资金的购买力,隔夜最多有两倍的购买力。
gross_position_valuedouble证券总价值,是账户持仓证券的总市值之和。
equity_with_loandouble含贷款价值总权益(ELV),用来计算开仓和平仓的数据指标。
net_liquidationdouble总资产(净清算值)。总资产=证券总市值+现金余额+应计分红-应计利息。
init_margindouble初始保证金。当前所有持仓合约所需的初始保证金要求之和。
maintain_margindouble维持保证金。当前所有持仓合约所需的维持保证金要求之和。
overnight_margindouble隔夜保证金。收盘前15分钟开始检查账户所需的保证金。
unrealized_pldouble持仓盈亏。当前价*股数-持仓成本。
realized_pldouble已实现盈亏。当前持仓周期内已减仓的个股、衍生品的已实现盈亏总和。
excess_liquidationdouble当前剩余流动性。excess_liquidation = equity_with_loan - maintain_margin。
overnight_liquidationdouble隔夜剩余流动性。equity_with_loan - overnight_margin。
leveragedouble杠杆。leverage = 证券市值绝对值之和 / 总资产。
currency_assetsobject按照交易币种区分的账户资产信息,是以币种为 key 的 JSON 对象,值为 CurrencyAsset 对象
uncollecteddouble在途资金
locked_fundsdouble锁定资金

CurrencyAsset 分币种资产(综合/模拟账户)

说明

按币种区分的资产。

对象属性

属性名类型描述
currencystring当前的货币币种,常用货币包括: USD-美元,HKD-港币,SGD-新加坡币,CNH-人民币
cash_balancedouble可以交易的现金,加上已锁定部分的现金
cash_available_for_tradedouble当前账号内可以交易的现金金额
forex_ratedouble当前币种对 base_currency 的汇率

PortfolioAccount 资产(环球账户)

说明

账户资产对象,适用于环球账户。包含账户的总资产、盈亏、持仓市值、现金、可用资金、保证金、杠杆等相关信息。

对象属性

属性名类型描述
accountstring对应的账户 id
summaryobject账户汇总信息,对 segments 的统计,为 Account 对象
segmentsobject按照交易品种区分的账户信息。分别有两个 key,S 对应证券,C 对应期货

Account 汇总资产(环球账户)

说明

账户各交易品种资产汇总信息。

对象属性

属性名类型描述
accrued_cashdouble当前月份的累积应付利息,按照日频更新
accrued_dividenddouble累计分红. 指的是所有已执行但仍未支付的分红累加值
available_fundsdouble可用资金(可用于交易)。 计算方法为 equity_with_loan - initial_margin_requirement
buying_powerdouble购买力: 预估您还可以购入多少美元的股票资产。保证金账户日内最多有四倍于资金的购买力。隔夜最多有两倍的购买力
cashdouble现金量
currencystring币种
cushiondouble剩余流动性占总资产的比例,计算方法为: excess_liquidity / net_liquidation
day_trades_remainingint当日剩余日内交易次数,-1 表示无限制
equity_with_loandouble含借贷值股权(含贷款价值资产)。证券 Segment: 现金价值 + 股票价值。期货 Segment: 现金价值 - 维持保证金
excess_liquiditydouble剩余流动性
gross_position_valuedouble证券总价值: 做多股票的价值 + 做空股票价值 + 做多期权价值 + 做空期权价值
initial_margin_requirementdouble初始保证金
maintenance_margin_requirementdouble维持保证金
realized_pnldouble本日已实现盈亏
unrealized_pnldouble浮动盈亏
net_liquidationdouble总资产(净清算价值)。 证券 Segment: 现金价值 + 股票价值 + 股票期权价值。 期货 Segment: 现金价值 + 盯市盈亏
regt_equitydouble仅针对证券 Segment,即根据 Regulation T 法案计算的 equity with loan(含借贷股权值)
regt_margindouble仅针对证券 Segment,即根据 Regulation T 法案计算的 initial margin requirements(初始保证金)
smadouble仅针对证券 Segment。隔夜风控值
timestampint64更新时间

SecuritySegment 股票资产(环球账户)

说明

股票资产信息。

对象属性

属性名类型描述
accrued_cashdouble当前月份的累积应付利息,按照日频更新
accrued_dividenddouble累计分红. 指的是所有已执行但仍未支付的分红累加值
available_fundsdouble可用资金(可用于交易)。 计算方法为 equity_with_loan - initial_margin_requirement
cashdouble现金
equity_with_loandouble含借贷值股权(含贷款价值资产)。计算方法:现金价值 + 股票价值
excess_liquiditydouble剩余流动性。计算方法: equity_with_loan - maintenance_margin_requirement
gross_position_valuedouble证券总价值: 做多股票的价值 + 做空股票价值 + 做多期权价值 + 做空期权价值
initial_margin_requirementdouble初始保证金
maintenance_margin_requirementdouble维持保证金
leveragedoublegross_position_value / net_liquidation
net_liquidationdouble总资产(净清算价值)。计算方法:现金价值 + 股票价值 + 股票期权价值
regt_equitydouble根据 Regulation T 法案计算的 equity with loan(含借贷股权值)
regt_margindouble根据 Regulation T 法案计算的 initial margin requirements(初始保证金)
smadouble隔夜风控值
timestampint64更新时间

CommoditySegment 期货资产(环球账户)

说明

期货资产信息。

对象属性

属性名类型描述
accrued_cashdouble当前月份的累积应付利息,按照日频更新
accrued_dividenddouble累计分红. 指的是所有已执行但仍未支付的分红累加值
available_fundsdouble可用资金(可用于交易)。 计算方法为 equity_with_loan - initial_margin_requirement
cashdouble现金
equity_with_loandouble含借贷值股权(含贷款价值资产)。计算方法:现金价值 - 维持保证金
excess_liquiditydouble剩余流动性。计算方法: net_liquidation - maintenance_margin_requirement
initial_margin_requirementdouble初始保证金
maintenance_margin_requirementdouble维持保证金
net_liquidationdouble总资产(净清算价值)。计算方法:现金价值 + 盯市盈亏
timestampint64更新时间

MarketValue 分币种资产(环球账户)

说明

按币种区分的资产信息。

对象属性

属性名类型描述
currencystring货币单位
net_liquidationdouble总资产(净清算价值)
cash_balancedouble现金
stock_market_valuedouble股票市值
option_market_valuedouble期权市值
warrant_valuedouble窝轮市值
futures_pnldouble盯市盈亏
unrealized_pnldouble未实现盈亏
realized_pnldouble已实现盈亏
exchange_ratedouble对账户主币种的汇率
net_dividenddouble应付股息与应收股息的净值
timestampint64更新时间

Position 持仓

说明

账户持仓信息。包括持仓的合约标的、持仓数量、成本、盈亏等信息。C++ SDK 中 Position 定义在 tigerapi/model.h

对象属性

属性名类型描述
accountstring对应的账户ID
contractContract合约对象
position_qtydouble持仓数量
quantityint持仓数量 (废弃),在实际持仓有小数时需要结合 position_scale 处理
position_scaleint持仓数量小数偏移 (废弃)
average_costdouble含佣金的平均成本
market_valuedouble市值
salable_qtydouble可卖数量
average_cost_of_carrydouble累计持仓成本(A股模式计算方式)
market_pricedouble市价
realized_pnldoublefifo模式下已实现盈亏
unrealized_pnldouble浮动盈亏
unrealized_pnl_by_cost_of_carrydouble浮动盈亏(A股模式计算方式)
unrealized_pnl_percent_by_cost_of_carrydouble浮动盈亏率(A股模式计算方式)
today_pnldouble今日盈亏额
today_pnl_percentdouble今日盈亏率
last_close_pricedouble最后盘中收盘价(前复权),美股盘中为上个交易日的收盘价

Order 订单

说明

订单对象。查询订单会返回该对象。C++ SDK 中 Order 定义在 tigerapi/model.h

对象属性

属性名类型描述
accountstring订单所属的账户
idint64全局订单 id
order_idint账户自增订单号,已废弃
parent_idint64母订单id,目前只用于 TigerTrade App端的附加订单中
order_timeint64下单时间,毫秒单位13位数字时间戳
trade_timeint64订单状态更新时间,对于已成交订单代表成交时间,对于已撤销订单代表成功撤销的时间
update_timeint64订单更新时间, 订单的属性发生变化时(比如改单改价), 此时间会更新
expire_timeint64GTD订单过期时间, 毫秒单位13位数字时间戳
reasonstring下单失败时,会返回失败原因的描述
actionstring交易方向,BUY / SELL
quantityint下单数量
quantity_scaleint下单数量的偏移量,默认为0。碎股单的 quantity 和 quantity_scale 结合起来代表真实下单数量
total_cash_amountdouble下单总金额,按股数下单时为空
filled_cash_amountdouble已成交金额
refund_cash_amountdouble退回金额,等于下单总金额-已成交金额
filledint成交数量
avg_fill_pricedouble不含佣金的平均成交价
commissiondouble包含佣金、印花税、证监会费等系列费用
realized_pnldouble实现盈亏
trail_stop_pricedouble跟踪止损价格
limit_pricedouble限价单价格
aux_pricedouble在止损单中表示触发止损单的价格,在移动止损单中表示跟踪的价差
trailing_percentdouble跟踪止损单-百分比,取值范围为0-100
order_typestring订单类型, MKT 市价单/ LMT 限价单/ STP 止损单/ STP_LMT 止损限价单/ TRAIL 跟踪止损单
time_in_forcestring有效期, DAY 日内有效/ GTC 撤销前有效/ GTD 日期前有效(需额外指定 expire_time)
outside_rthbool是否支持盘前盘后交易,美股专属
trading_session_typestring夜盘交易
contractContract合约对象

Transaction 成交记录

说明

订单的成交记录。

对象属性

对象属性类型描述
accountstring账户
order_idint64订单id
contractContract合约对象
idint64成交记录id
actionstring订单方向
filled_quantityint成交数量
filled_quantity_scaleint成交数量的偏移量
filled_pricedouble成交价格
filled_amountdouble成交金额
transacted_atstring成交时间

OrderLeg 附加订单

说明

下主订单同时携带的附加订单。C++ SDK 中 OrderLeg 定义在 tigerapi/model.h

对象属性

对象属性类型描述
leg_typestring附加订单类型. PROFIT 止盈单类型, LOSS 止损单类型
pricedouble附加订单价格
time_in_forcestring附加订单有效期. DAY(当日有效)和 GTC(取消前有效 Good-Til-Canceled)
outside_rthbool附加订单是否允许盘前盘后交易(美股专属). true 允许, false 不允许

Contract 合约

说明

合约是指交易的买卖对象或者标的物(比如一只股票,或者一个期权)。合约由交易所统一制定,通过合约信息可以在下单或获取行情时唯一确定一个标的物。C++ SDK 中 Contract 定义在 tigerapi/model.h

常见的合约包括股票合约、期权合约、期货合约等,包含以下要素:

  • 标的代码(symbol):美股、英股等合约代码都是英文字母,港股、A股等合约代码是数字
  • 合约类型(sec_type):常见合约类型包括 STK(股票),OPT(期权),FUT(期货),CASH(外汇)
  • 货币类型(currency):常见货币包括 USD(美元),HKD(港币)
  • 交易所(exchange):STK 类型一般不用交易所字段,期货合约需要用到

构建示例

#include "tigerapi/trade_client.h"
using namespace TIGER_API;

// 股票合约
Contract contract = ContractUtil::stock_contract(U("AAPL"), U("USD"));

// 期权合约
Contract opt = ContractUtil::option_contract(U("AAPL"), U("20231215"), U("CALL"), 190.0, U("USD"));

// 期货合约
Contract fut = ContractUtil::future_contract(U("CL"), U("USD"), U("20231220"));

对象属性

属性名类型描述
identifierstring唯一标识,股票 identifier 和 symbol 相同,期权为21位标识符,如 AAPL 220729C00150000
symbolstring股票代码,期权合约的 symbol 为对应标的物代码
sec_typestringSTK 股票/OPT 期权/FUT 期货/WAR 窝轮/IOPT 牛熊证等,默认 STK
namestring合约名称
currencystring币种,USD/HKD/CNH
exchangestring交易所
expirystring期权和期货专有,期权或期货过期日
strikedouble期权专有,期权的行权价格
multiplierdouble每手数量
put_callstring期权专有,期权方向,CALL 或者 PUT
local_symbolstring环球账户专有,港股用于识别窝轮和牛熊证
short_initial_margindouble做空初始保证金比例
short_maintenance_margindouble做空维持保证金比例
short_fee_ratedouble做空费率
shortableint做空池剩余
long_initial_margindouble做多初始保证金
long_maintenance_margindouble做多维持保证金
contract_monthstring合约月份,如 202201,表示2022年1月
primary_exchangestring股票上市交易所
marketstring市场 US/HK/CN
min_tickdouble最小报价单位
continuousbool期货专有,是否为连续合约
trading_classstring合约的交易级别名称
statusstring合约状态, 0 不可交易,1 可交易
tradebool期货专有,是否可交易
last_trading_datestring期货专有,最后交易日,如 20211220
first_notice_datestring期货专有,第一通知日,合约在第一通知日后无法开多仓
last_bidding_close_timeint64期货专有,竞价截止时间戳
is_etfbool是否是 ETF
etf_leverageintETF杠杆倍数,仅当合约为 ETF 时存在
lot_sizedouble单笔交易中可交易的最小资产数量
support_overnight_tradingbool是否支持夜盘交易

MarketStatus 市场状态

说明

市场交易状态。C++ SDK 中 MarketStatus 定义在 tigerapi/model.h

对象属性

对象属性类型描述
marketstring市场。(US:美股,CN:沪深,HK:港股)
trading_statusstring市场交易状态码。 未开盘 NOT_YET_OPEN; 盘前交易 PRE_HOUR_TRADING; 交易中 TRADING; 午间休市 MIDDLE_CLOSE; 盘后交易 POST_HOUR_TRADING; 已收盘 CLOSING; 夜盘 OVERNIGHT_TRADING;提前休市 EARLY_CLOSED; 休市 MARKET_CLOSED
statusstring市场状态描述(未开盘,交易中,休市等)
open_timestring最近开盘时间

OptionFilter 期权链过滤器

说明

期权过滤参数对象。C++ SDK 中 OptionFilter 定义在 tigerapi/model.h

对象属性

参数类型是否必填描述
implied_volatilitydoubleNo隐含波动率, 反映市场预期的未来股价波动情况, 隐含波动率越高, 说明预期股价波动越剧烈
in_the_moneyboolNo是否价内
open_interestintNo未平仓量, 每个交易日完结时市场参与者手上尚未平仓的合约数. 反映市场的深度和流动性
deltadoubleNodelta, 反映股票价格变化对期权价格变化的影响. 股价每变化1元, 期权价格大约变化 delta. 取值 -1.0 ~ 1.0
gammadoubleNogamma, 反映股票价格变化对于 delta 的影响. 股价每变化1元, delta 变化 gamma
thetadoubleNotheta, 反映时间变化对期权价格变化的影响. 时间每减少一天, 期权价格大约变化 theta
vegadoubleNovega, 反映波动率对期权价格变化的影响. 波动率每变化1%, 期权价格大约变化 vega
rhodoubleNorho, 反映无风险利率对期权价格变化的影响. 无风险利率每变化1%, 期权价格大约变化 rho

订单变动

订单推送回调中收到的数据字段:

字段说明
id订单号
account资金账号
symbol持仓标的代码,如 AAPL, 00700, ES, CN
expiry仅支持期权、窝轮、牛熊证
strike仅支持期权、窝轮、牛熊证
right仅支持期权、窝轮、牛熊证
identifier标的标识符。股票的 identifier 与 symbol 相同。期货的会带有合约月份,如 CN2201
multiplier每手数量,仅限 futures, options, warrants, CBBC
action买卖方向。BUY 表示买入,SELL 表示卖出
market市场。US、HK
currency币种。USD 美元,HKD 港币
segType按交易品种划分的分类。S 表示股票,C 表示期货
secTypeSTK Stocks, OPT Options, WAR Warrants, IOPT CBBC, CASH FOREX, FUT Futures, FOP Future Options
orderType订单类型。MKT 市价单/ LMT 限价单/ STP 止损单/ STP_LMT 止损限价单/ TRAIL 跟踪止损单
isLong是否多头持仓
totalQuantity下单数量
totalQuantityScale下单数量偏移量
filledQuantity成交总数量(订单分多笔成交的,filledQuantity 为累计成交总数)
filledQuantityScale成交总数量偏移量
avgFillPrice成交均价
limitPrice限价单价格
stopPrice止损价格
realizedPnl已实现盈亏(只有综合账号有这个字段)
status订单状态
outsideRth是否允许盘前盘后交易,仅适用于美股
canModify是否能修改
canCancel是否能取消
name标的名称
source订单来源
errorMsg错误信息
openTime下单时间
timestamp订单状态最后更新时间

持仓变动

持仓推送回调中收到的数据字段:

字段说明
account用户账户
symbol股票代码
expiry过期日 期权、窝轮、牛熊证专属
strike底层价格 期权、窝轮、牛熊证专属
right期权方向 PUT/CALL 期权、窝轮、牛熊证专属
identifier标的标识符
multiplier1手单位 期权、窝轮、牛熊证专属
market交易市场
currency货币类型
segType按交易品种划分的分类。S 表示股票,C 表示期货
secType合约类型
position持仓
positionScale持仓数量的偏移量
averageCost平均成本
latestPrice最新价
marketValue市值
unrealizedPnl浮动盈亏
name标的名称
timestamp服务器时间

资产变动

资产推送回调中收到的数据字段:

字段说明
account用户账户
currency货币类型
segType按交易品种划分的分类。S 表示股票,C 表示期货
availableFunds可用资金(含借贷股权-初始保证金)
excessLiquidity剩余流动性(借贷值股权-维持保证金)
netLiquidation净清算值
equityWithLoan含借贷值股权(含贷款价值资产)
buyingPower购买力
cashBalance账户现金余额
grossPositionValue持仓市值
initMarginReq当前初始保证金
maintMarginReq当前维持保证金
timestamp服务器时间

行情变动

  • 基本行情
字段二级字段说明
symbol股票代码
type类型
timestamp行情数据时间
serverTimestamp服务器时间
avgPrice平均价格
latestPrice最新价格
latestPriceTimestamp最新价格的时间戳(盘前,盘后没有)
latestTime最新价格的时间
preClose昨日收盘价
volume当日累计成交量
amount当日累计成交量金额 (期权期货不支持)
open开盘价
high最高价格
low最低价格
hourTradingTag盘前盘后标识(美股盘中没有值),取值:盘前/盘后
marketStatus市场状态
identifier标的标识符(仅限期权)
openInt未平仓数(仅限期权)
tradeTime交易时间(仅限期货)
preSettlement上个结清价(仅限期货)
minTick最小变动价(仅限期货)
mip分钟价格
mia分钟平均价格
mit分钟时间
miv分钟成交量
mio分钟开盘价(仅限期货)
mih分钟最高价(仅限期货)
mil分钟最低价(仅限期货)
  • 盘口最优买卖价行情
字段说明
askPrice卖盘价格
askSize卖盘数量
askTimestampask timestamp(Pre/Post-Mkt data not support)
bidPrice买盘价格
bidSize买盘数量
bidTimestampbid timestamp(Pre/Post-Mkt data not support)