对象说明
PortfolioAccount 资产(综合/模拟账户)
说明
账户资产对象,适用于综合/模拟账户。包含账户的总资产、盈亏、持仓市值、现金、可用资金、保证金、杠杆等相关信息。
C++ SDK 中,账户资产接口返回 web::json::value JSON 对象,字段名与下表属性名对应。
对象属性
| 属性名 | 类型 | 描述 |
|---|---|---|
| account | string | 对应的账户 id |
| update_timestamp | int64 | 更新时间, 毫秒为单位的13位数字时间戳 |
| segments | object | 按照交易品种区分的账户信息。内容是一个 JSON 对象,分别有两个 key,S 表示证券,C 表示期货,value 均为 Segment 对象 |
Segment 分品种资产(综合/模拟账户)
说明
将资产按照股票/期货交易品种划分,每部分为一个 Segment。
对象属性
| 属性名 | 类型 | 描述 |
|---|---|---|
| currency | string | 币种, 如 USD, HKD |
| capability | string | 账户类型, 保证金账户: RegTMargin, 现金账户: Cash。保证金账户支持融资融券功能,T+0交易次数不受限制,最大购买力于日内最高4倍,隔日最高2倍。 |
| category | string | 交易品种分类 C: (Commodities 期货), S: (Securities 股票), F: (基金) |
| cash_balance | double | 现金额。现金额就是当前所有币种的现金余额之和。 |
| cash_available_for_trade | double | 可用资金。可用资金用来检查是否可以开仓或打新。 |
| cash_available_for_withdrawal | double | 当前账号内可以出金的现金金额 |
| buying_power | double | 最大购买力。保证金账户日内最多有四倍于资金的购买力,隔夜最多有两倍的购买力。 |
| gross_position_value | double | 证券总价值,是账户持仓证券的总市值之和。 |
| equity_with_loan | double | 含贷款价值总权益(ELV),用来计算开仓和平仓的数据指标。 |
| net_liquidation | double | 总资产(净清算值)。总资产=证券总市值+现金余额+应计分红-应计利息。 |
| init_margin | double | 初始保证金。当前所有持仓合约所需的初始保证金要求之和。 |
| maintain_margin | double | 维持保证金。当前所有持仓合约所需的维持保证金要求之和。 |
| overnight_margin | double | 隔夜保证金。收盘前15分钟开始检查账户所需的保证金。 |
| unrealized_pl | double | 持仓盈亏。当前价*股数-持仓成本。 |
| realized_pl | double | 已实现盈亏。当前持仓周期内已减仓的个股、衍生品的已实现盈亏总和。 |
| excess_liquidation | double | 当前剩余流动性。excess_liquidation = equity_with_loan - maintain_margin。 |
| overnight_liquidation | double | 隔夜剩余流动性。equity_with_loan - overnight_margin。 |
| leverage | double | 杠杆。leverage = 证券市值绝对值之和 / 总资产。 |
| currency_assets | object | 按照交易币种区分的账户资产信息,是以币种为 key 的 JSON 对象,值为 CurrencyAsset 对象 |
| uncollected | double | 在途资金 |
| locked_funds | double | 锁定资金 |
CurrencyAsset 分币种资产(综合/模拟账户)
说明
按币种区分的资产。
对象属性
| 属性名 | 类型 | 描述 |
|---|---|---|
| currency | string | 当前的货币币种,常用货币包括: USD-美元,HKD-港币,SGD-新加坡币,CNH-人民币 |
| cash_balance | double | 可以交易的现金,加上已锁定部分的现金 |
| cash_available_for_trade | double | 当前账号内可以交易的现金金额 |
| forex_rate | double | 当前币种对 base_currency 的汇率 |
PortfolioAccount 资产(环球账户)
说明
账户资产对象,适用于环球账户。包含账户的总资产、盈亏、持仓市值、现金、可用资金、保证金、杠杆等相关信息。
对象属性
| 属性名 | 类型 | 描述 |
|---|---|---|
| account | string | 对应的账户 id |
| summary | object | 账户汇总信息,对 segments 的统计,为 Account 对象 |
| segments | object | 按照交易品种区分的账户信息。分别有两个 key,S 对应证券,C 对应期货 |
Account 汇总资产(环球账户)
说明
账户各交易品种资产汇总信息。
对象属性
| 属性名 | 类型 | 描述 |
|---|---|---|
| accrued_cash | double | 当前月份的累积应付利息,按照日频更新 |
| accrued_dividend | double | 累计分红. 指的是所有已执行但仍未支付的分红累加值 |
| available_funds | double | 可用资金(可用于交易)。 计算方法为 equity_with_loan - initial_margin_requirement |
| buying_power | double | 购买力: 预估您还可以购入多少美元的股票资产。保证金账户日内最多有四倍于资金的购买力。隔夜最多有两倍的购买力 |
| cash | double | 现金量 |
| currency | string | 币种 |
| cushion | double | 剩余流动性占总资产的比例,计算方法为: excess_liquidity / net_liquidation |
| day_trades_remaining | int | 当日剩余日内交易次数,-1 表示无限制 |
| equity_with_loan | double | 含借贷值股权(含贷款价值资产)。证券 Segment: 现金价值 + 股票价值。期货 Segment: 现金价值 - 维持保证金 |
| excess_liquidity | double | 剩余流动性 |
| gross_position_value | double | 证券总价值: 做多股票的价值 + 做空股票价值 + 做多期权价值 + 做空期权价值 |
| initial_margin_requirement | double | 初始保证金 |
| maintenance_margin_requirement | double | 维持保证金 |
| realized_pnl | double | 本日已实现盈亏 |
| unrealized_pnl | double | 浮动盈亏 |
| net_liquidation | double | 总资产(净清算价值)。 证券 Segment: 现金价值 + 股票价值 + 股票期权价值。 期货 Segment: 现金价值 + 盯市盈亏 |
| regt_equity | double | 仅针对证券 Segment,即根据 Regulation T 法案计算的 equity with loan(含借贷股权值) |
| regt_margin | double | 仅针对证券 Segment,即根据 Regulation T 法案计算的 initial margin requirements(初始保证金) |
| sma | double | 仅针对证券 Segment。隔夜风控值 |
| timestamp | int64 | 更新时间 |
SecuritySegment 股票资产(环球账户)
说明
股票资产信息。
对象属性
| 属性名 | 类型 | 描述 |
|---|---|---|
| accrued_cash | double | 当前月份的累积应付利息,按照日频更新 |
| accrued_dividend | double | 累计分红. 指的是所有已执行但仍未支付的分红累加值 |
| available_funds | double | 可用资金(可用于交易)。 计算方法为 equity_with_loan - initial_margin_requirement |
| cash | double | 现金 |
| equity_with_loan | double | 含借贷值股权(含贷款价值资产)。计算方法:现金价值 + 股票价值 |
| excess_liquidity | double | 剩余流动性。计算方法: equity_with_loan - maintenance_margin_requirement |
| gross_position_value | double | 证券总价值: 做多股票的价值 + 做空股票价值 + 做多期权价值 + 做空期权价值 |
| initial_margin_requirement | double | 初始保证金 |
| maintenance_margin_requirement | double | 维持保证金 |
| leverage | double | gross_position_value / net_liquidation |
| net_liquidation | double | 总资产(净清算价值)。计算方法:现金价值 + 股票价值 + 股票期权价值 |
| regt_equity | double | 根据 Regulation T 法案计算的 equity with loan(含借贷股权值) |
| regt_margin | double | 根据 Regulation T 法案计算的 initial margin requirements(初始保证金) |
| sma | double | 隔夜风控值 |
| timestamp | int64 | 更新时间 |
CommoditySegment 期货资产(环球账户)
说明
期货资产信息。
对象属性
| 属性名 | 类型 | 描述 |
|---|---|---|
| accrued_cash | double | 当前月份的累积应付利息,按照日频更新 |
| accrued_dividend | double | 累计分红. 指的是所有已执行但仍未支付的分红累加值 |
| available_funds | double | 可用资金(可用于交易)。 计算方法为 equity_with_loan - initial_margin_requirement |
| cash | double | 现金 |
| equity_with_loan | double | 含借贷值股权(含贷款价值资产)。计算方法:现金价值 - 维持保证金 |
| excess_liquidity | double | 剩余流动性。计算方法: net_liquidation - maintenance_margin_requirement |
| initial_margin_requirement | double | 初始保证金 |
| maintenance_margin_requirement | double | 维持保证金 |
| net_liquidation | double | 总资产(净清算价值)。计算方法:现金价值 + 盯市盈亏 |
| timestamp | int64 | 更新时间 |
MarketValue 分币种资产(环球账户)
说明
按币种区分的资产信息。
对象属性
| 属性名 | 类型 | 描述 |
|---|---|---|
| currency | string | 货币单位 |
| net_liquidation | double | 总资产(净清算价值) |
| cash_balance | double | 现金 |
| stock_market_value | double | 股票市值 |
| option_market_value | double | 期权市值 |
| warrant_value | double | 窝轮市值 |
| futures_pnl | double | 盯市盈亏 |
| unrealized_pnl | double | 未实现盈亏 |
| realized_pnl | double | 已实现盈亏 |
| exchange_rate | double | 对账户主币种的汇率 |
| net_dividend | double | 应付股息与应收股息的净值 |
| timestamp | int64 | 更新时间 |
Position 持仓
说明
账户持仓信息。包括持仓的合约标的、持仓数量、成本、盈亏等信息。C++ SDK 中 Position 定义在 tigerapi/model.h。
对象属性
| 属性名 | 类型 | 描述 |
|---|---|---|
| account | string | 对应的账户ID |
| contract | Contract | 合约对象 |
| position_qty | double | 持仓数量 |
| quantity | int | 持仓数量 (废弃),在实际持仓有小数时需要结合 position_scale 处理 |
| position_scale | int | 持仓数量小数偏移 (废弃) |
| average_cost | double | 含佣金的平均成本 |
| market_value | double | 市值 |
| salable_qty | double | 可卖数量 |
| average_cost_of_carry | double | 累计持仓成本(A股模式计算方式) |
| market_price | double | 市价 |
| realized_pnl | double | fifo模式下已实现盈亏 |
| unrealized_pnl | double | 浮动盈亏 |
| unrealized_pnl_by_cost_of_carry | double | 浮动盈亏(A股模式计算方式) |
| unrealized_pnl_percent_by_cost_of_carry | double | 浮动盈亏率(A股模式计算方式) |
| today_pnl | double | 今日盈亏额 |
| today_pnl_percent | double | 今日盈亏率 |
| last_close_price | double | 最后盘中收盘价(前复权),美股盘中为上个交易日的收盘价 |
Order 订单
说明
订单对象。查询订单会返回该对象。C++ SDK 中 Order 定义在 tigerapi/model.h。
对象属性
| 属性名 | 类型 | 描述 |
|---|---|---|
| account | string | 订单所属的账户 |
| id | int64 | 全局订单 id |
| order_id | int | 账户自增订单号,已废弃 |
| parent_id | int64 | 母订单id,目前只用于 TigerTrade App端的附加订单中 |
| order_time | int64 | 下单时间,毫秒单位13位数字时间戳 |
| trade_time | int64 | 订单状态更新时间,对于已成交订单代表成交时间,对于已撤销订单代表成功撤销的时间 |
| update_time | int64 | 订单更新时间, 订单的属性发生变化时(比如改单改价), 此时间会更新 |
| expire_time | int64 | GTD订单过期时间, 毫秒单位13位数字时间戳 |
| reason | string | 下单失败时,会返回失败原因的描述 |
| action | string | 交易方向,BUY / SELL |
| quantity | int | 下单数量 |
| quantity_scale | int | 下单数量的偏移量,默认为0。碎股单的 quantity 和 quantity_scale 结合起来代表真实下单数量 |
| total_cash_amount | double | 下单总金额,按股数下单时为空 |
| filled_cash_amount | double | 已成交金额 |
| refund_cash_amount | double | 退回金额,等于下单总金额-已成交金额 |
| filled | int | 成交数量 |
| avg_fill_price | double | 不含佣金的平均成交价 |
| commission | double | 包含佣金、印花税、证监会费等系列费用 |
| realized_pnl | double | 实现盈亏 |
| trail_stop_price | double | 跟踪止损价格 |
| limit_price | double | 限价单价格 |
| aux_price | double | 在止损单中表示触发止损单的价格,在移动止损单中表示跟踪的价差 |
| trailing_percent | double | 跟踪止损单-百分比,取值范围为0-100 |
| order_type | string | 订单类型, MKT 市价单/ LMT 限价单/ STP 止损单/ STP_LMT 止损限价单/ TRAIL 跟踪止损单 |
| time_in_force | string | 有效期, DAY 日内有效/ GTC 撤销前有效/ GTD 日期前有效(需额外指定 expire_time) |
| outside_rth | bool | 是否支持盘前盘后交易,美股专属 |
| trading_session_type | string | 夜盘交易 |
| contract | Contract | 合约对象 |
Transaction 成交记录
说明
订单的成交记录。
对象属性
| 对象属性 | 类型 | 描述 |
|---|---|---|
| account | string | 账户 |
| order_id | int64 | 订单id |
| contract | Contract | 合约对象 |
| id | int64 | 成交记录id |
| action | string | 订单方向 |
| filled_quantity | int | 成交数量 |
| filled_quantity_scale | int | 成交数量的偏移量 |
| filled_price | double | 成交价格 |
| filled_amount | double | 成交金额 |
| transacted_at | string | 成交时间 |
OrderLeg 附加订单
说明
下主订单同时携带的附加订单。C++ SDK 中 OrderLeg 定义在 tigerapi/model.h。
对象属性
| 对象属性 | 类型 | 描述 |
|---|---|---|
| leg_type | string | 附加订单类型. PROFIT 止盈单类型, LOSS 止损单类型 |
| price | double | 附加订单价格 |
| time_in_force | string | 附加订单有效期. DAY(当日有效)和 GTC(取消前有效 Good-Til-Canceled) |
| outside_rth | bool | 附加订单是否允许盘前盘后交易(美股专属). 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"));对象属性
| 属性名 | 类型 | 描述 |
|---|---|---|
| identifier | string | 唯一标识,股票 identifier 和 symbol 相同,期权为21位标识符,如 AAPL 220729C00150000 |
| symbol | string | 股票代码,期权合约的 symbol 为对应标的物代码 |
| sec_type | string | STK 股票/OPT 期权/FUT 期货/WAR 窝轮/IOPT 牛熊证等,默认 STK |
| name | string | 合约名称 |
| currency | string | 币种,USD/HKD/CNH |
| exchange | string | 交易所 |
| expiry | string | 期权和期货专有,期权或期货过期日 |
| strike | double | 期权专有,期权的行权价格 |
| multiplier | double | 每手数量 |
| put_call | string | 期权专有,期权方向,CALL 或者 PUT |
| local_symbol | string | 环球账户专有,港股用于识别窝轮和牛熊证 |
| short_initial_margin | double | 做空初始保证金比例 |
| short_maintenance_margin | double | 做空维持保证金比例 |
| short_fee_rate | double | 做空费率 |
| shortable | int | 做空池剩余 |
| long_initial_margin | double | 做多初始保证金 |
| long_maintenance_margin | double | 做多维持保证金 |
| contract_month | string | 合约月份,如 202201,表示2022年1月 |
| primary_exchange | string | 股票上市交易所 |
| market | string | 市场 US/HK/CN |
| min_tick | double | 最小报价单位 |
| continuous | bool | 期货专有,是否为连续合约 |
| trading_class | string | 合约的交易级别名称 |
| status | string | 合约状态, 0 不可交易,1 可交易 |
| trade | bool | 期货专有,是否可交易 |
| last_trading_date | string | 期货专有,最后交易日,如 20211220 |
| first_notice_date | string | 期货专有,第一通知日,合约在第一通知日后无法开多仓 |
| last_bidding_close_time | int64 | 期货专有,竞价截止时间戳 |
| is_etf | bool | 是否是 ETF |
| etf_leverage | int | ETF杠杆倍数,仅当合约为 ETF 时存在 |
| lot_size | double | 单笔交易中可交易的最小资产数量 |
| support_overnight_trading | bool | 是否支持夜盘交易 |
MarketStatus 市场状态
说明
市场交易状态。C++ SDK 中 MarketStatus 定义在 tigerapi/model.h。
对象属性
| 对象属性 | 类型 | 描述 |
|---|---|---|
| market | string | 市场。(US:美股,CN:沪深,HK:港股) |
| trading_status | string | 市场交易状态码。 未开盘 NOT_YET_OPEN; 盘前交易 PRE_HOUR_TRADING; 交易中 TRADING; 午间休市 MIDDLE_CLOSE; 盘后交易 POST_HOUR_TRADING; 已收盘 CLOSING; 夜盘 OVERNIGHT_TRADING;提前休市 EARLY_CLOSED; 休市 MARKET_CLOSED |
| status | string | 市场状态描述(未开盘,交易中,休市等) |
| open_time | string | 最近开盘时间 |
OptionFilter 期权链过滤器
说明
期权过滤参数对象。C++ SDK 中 OptionFilter 定义在 tigerapi/model.h。
对象属性
| 参数 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| implied_volatility | double | No | 隐含波动率, 反映市场预期的未来股价波动情况, 隐含波动率越高, 说明预期股价波动越剧烈 |
| in_the_money | bool | No | 是否价内 |
| open_interest | int | No | 未平仓量, 每个交易日完结时市场参与者手上尚未平仓的合约数. 反映市场的深度和流动性 |
| delta | double | No | delta, 反映股票价格变化对期权价格变化的影响. 股价每变化1元, 期权价格大约变化 delta. 取值 -1.0 ~ 1.0 |
| gamma | double | No | gamma, 反映股票价格变化对于 delta 的影响. 股价每变化1元, delta 变化 gamma |
| theta | double | No | theta, 反映时间变化对期权价格变化的影响. 时间每减少一天, 期权价格大约变化 theta |
| vega | double | No | vega, 反映波动率对期权价格变化的影响. 波动率每变化1%, 期权价格大约变化 vega |
| rho | double | No | rho, 反映无风险利率对期权价格变化的影响. 无风险利率每变化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 表示期货 |
| secType | STK 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 | 标的标识符 |
| multiplier | 1手单位 期权、窝轮、牛熊证专属 |
| 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 | 最小变动价(仅限期货) | |
| mi | p | 分钟价格 |
| mi | a | 分钟平均价格 |
| mi | t | 分钟时间 |
| mi | v | 分钟成交量 |
| mi | o | 分钟开盘价(仅限期货) |
| mi | h | 分钟最高价(仅限期货) |
| mi | l | 分钟最低价(仅限期货) |
- 盘口最优买卖价行情
| 字段 | 说明 |
|---|---|
| askPrice | 卖盘价格 |
| askSize | 卖盘数量 |
| askTimestamp | ask timestamp(Pre/Post-Mkt data not support) |
| bidPrice | 买盘价格 |
| bidSize | 买盘数量 |
| bidTimestamp | bid timestamp(Pre/Post-Mkt data not support) |
