tqsdk.objs - 业务对象

class tqsdk.objs.Quote(api)

Quote 是一个行情对象

datetime: str

行情从交易所发出的时间(北京时间), 格式为 "2017-07-26 23:04:21.000001"

ask_price1: float

卖一价

ask_volume1: int

卖一量

bid_price1: float

买一价

bid_volume1: int

买一量

ask_price2: float

卖二价

ask_volume2: int

卖二量

bid_price2: float

买二价

bid_volume2: int

买二量

ask_price3: float

卖三价

ask_volume3: int

卖三量

bid_price3: float

买三价

bid_volume3: int

买三量

ask_price4: float

卖四价

ask_volume4: int

卖四量

bid_price4: float

买四价

bid_volume4: int

买四量

ask_price5: float

卖五价

ask_volume5: int

卖五量

bid_price5: float

买五价

bid_volume5: int

买五量

last_price: float

最新价

highest: float

当日最高价

lowest: float

当日最低价

open: float

开盘价

close: float

收盘价

average: float

当日均价

volume: int

成交量

amount: float

成交额

open_interest: int

持仓量

settlement: float

结算价

upper_limit: float

涨停价

lower_limit: float

跌停价

pre_open_interest: int

昨持仓量

pre_settlement: float

昨结算价

pre_close: float

昨收盘价

price_tick: float

合约价格变动单位

price_decs: int

合约价格小数位数

volume_multiple: int

合约乘数

max_limit_order_volume: int

最大限价单手数

max_market_order_volume: int

最大市价单手数

min_limit_order_volume: int

最小限价单手数

min_market_order_volume: int

最小市价单手数

underlying_symbol: str

标的合约

strike_price: float

行权价

ins_class: str

合约类型

instrument_id: str

交易所内的合约代码

exchange_id: str

交易所代码

expired: bool

合约是否已下市

trading_time: TradingTime

交易时间段

expire_datetime: float

到期具体日

delivery_month: int

到期月

delivery_year: int

到期年

option_class: str

期权方向

product_id: str

品种代码

iopv: float

ETF实时单位基金净值

class tqsdk.objs.TradingTime(api)

TradingTime 是一个交易时间对象 它不是一个可单独使用的类,而是用于定义 Qoute 的 trading_time 字段的类型

(每个连续的交易时间段是一个列表,包含两个字符串元素,分别为这个时间段的起止点)

day: list

白盘

night: list

夜盘(注意:本字段中过了 24:00 的时间则在其基础往上加,如凌晨1点为 '25:00:00' )

class tqsdk.objs.Kline(api)

Kline 是一个K线对象

datetime: int

K线起点时间(按北京时间),自unix epoch(1970-01-01 00:00:00 GMT)以来的纳秒数

open: float

K线起始时刻的最新价

high: float

K线时间范围内的最高价

low: float

K线时间范围内的最低价

close: float

K线结束时刻的最新价

volume: int

K线时间范围内的成交量

open_oi: int

K线起始时刻的持仓量

close_oi: int

K线结束时刻的持仓量

class tqsdk.objs.Tick(api)

Tick 是一个tick对象

datetime: int

tick从交易所发出的时间(按北京时间),自unix epoch(1970-01-01 00:00:00 GMT)以来的纳秒数

last_price: float

最新价

average: float

当日均价

highest: float

当日最高价

lowest: float

当日最低价

ask_price1: float

卖1价

ask_volume1: int

卖1量

bid_price1: float

买1价

bid_volume1: int

买1量

ask_price2: float

卖2价

ask_volume2: int

卖2量

bid_price2: float

买2价

bid_volume2: int

买2量

ask_price3: float

卖3价

ask_volume3: int

卖3量

bid_price3: float

买3价

bid_volume3: int

买3量

ask_price4: float

卖4价

ask_volume4: int

卖4量

bid_price4: float

买4价

bid_volume4: int

买4量

ask_price5: float

卖5价

ask_volume5: int

卖5量

bid_price5: float

买5价

bid_volume5: int

买5量

volume: int

当日成交量

amount: float

成交额

open_interest: int

持仓量

class tqsdk.objs.Account(api)

Account 是一个账户对象

currency: str

币种

pre_balance: float

昨日账户权益(不包含期权)

static_balance: float

静态权益 (静态权益 = 昨日结算的权益 + 今日入金 - 今日出金, 以服务器查询ctp后返回的金额为准)(不包含期权)

balance: float

账户权益 (账户权益 = 动态权益 = 静态权益 + 平仓盈亏 + 持仓盈亏 - 手续费 + 权利金 + 期权市值)

available: float

可用资金(可用资金 = 账户权益 - 冻结保证金 - 保证金 - 冻结权利金 - 冻结手续费 - 期权市值)

ctp_balance: float

期货公司返回的balance(ctp_balance = 静态权益 + 平仓盈亏 + 持仓盈亏 - 手续费 + 权利金)

ctp_available: float

期货公司返回的available(ctp_available = ctp_balance - 保证金 - 冻结保证金 - 冻结手续费 - 冻结权利金)

float_profit: float

浮动盈亏

position_profit: float

持仓盈亏

close_profit: float

本交易日内平仓盈亏

frozen_margin: float

冻结保证金

margin: float

保证金占用

frozen_commission: float

冻结手续费

commission: float

本交易日内交纳的手续费

frozen_premium: float

冻结权利金

premium: float

本交易日内收入-交纳的权利金

deposit: float

本交易日内的入金金额

withdraw: float

本交易日内的出金金额

risk_ratio: float

风险度(风险度 = 保证金 / 账户权益)

market_value: float

期权市值

class tqsdk.objs.Position(api)

Position 是一个持仓对象

exchange_id: str

交易所

instrument_id: str

交易所内的合约代码

pos_long_his: int

多头老仓手数

pos_long_today: int

多头今仓手数

pos_short_his: int

空头老仓手数

pos_short_today: int

空头今仓手数

volume_long_today: int

期货公司查询的多头今仓手数 (不推荐, 推荐使用pos_long_today)

volume_long_his: int

期货公司查询的多头老仓手数 (不推荐, 推荐使用pos_long_his)

volume_long: int

期货公司查询的多头手数 (不推荐, 推荐使用pos_long)

volume_long_frozen_today: int

期货公司查询的多头今仓冻结 (不推荐)

volume_long_frozen_his: int

期货公司查询的多头老仓冻结 (不推荐)

volume_long_frozen: int

期货公司查询的多头持仓冻结 (不推荐)

volume_short_today: int

期货公司查询的空头今仓手数 (不推荐, 推荐使用pos_short_today)

volume_short_his: int

期货公司查询的空头老仓手数 (不推荐, 推荐使用pos_short_his)

volume_short: int

期货公司查询的空头手数 (不推荐, 推荐使用pos_short)

volume_short_frozen_today: int

期货公司查询的空头今仓冻结 (不推荐)

volume_short_frozen_his: int

期货公司查询的空头老仓冻结 (不推荐)

volume_short_frozen: int

期货公司查询的空头持仓冻结 (不推荐)

open_price_long: float

多头开仓均价

open_price_short: float

空头开仓均价

open_cost_long: float

多头开仓成本

open_cost_short: float

空头开仓成本

position_price_long: float

多头持仓均价

position_price_short: float

空头持仓均价

position_cost_long: float

多头持仓成本

position_cost_short: float

空头持仓成本

float_profit_long: float

多头浮动盈亏

float_profit_short: float

空头浮动盈亏

float_profit: float

浮动盈亏 (浮动盈亏: 相对于开仓价的盈亏)

position_profit_long: float

多头持仓盈亏

position_profit_short: float

空头持仓盈亏

position_profit: float

持仓盈亏 (持仓盈亏: 相对于上一交易日结算价的盈亏)

margin_long: float

多头占用保证金

margin_short: float

空头占用保证金

margin: float

占用保证金

market_value_long: float

期权权利方市值(始终 >= 0)

market_value_short: float

期权义务方市值(始终 <= 0)

market_value: float

期权市值

property pos

净持仓手数

返回

int, ==0表示无持仓或多空持仓手数相等. <0表示空头持仓大于多头持仓, >0表示多头持仓大于空头持仓

注: 本字段是由 pos_long 等字段计算出来的,而非服务器发回的原始数据中的字段,则:
  1. is_changing() 是判断服务器发回的数据字段,因此不能用于 is_changing() 判断。

  2. 在直接 print(position) 时不会显示出此字段。

  3. 只能用 position.pos 方式取值,不能用 position["pos"] 方式。

  4. pos_long, pos_short, orders这三个字段同理。

property pos_long

多头持仓手数

返回

int, ==0表示无多头持仓. >0表示多头持仓手数

property pos_short

空头持仓手数

返回

int, ==0表示无空头持仓. >0表示空头持仓手数

property orders

与此持仓相关的开仓/平仓挂单

返回

dict, 其中每个元素的key为委托单ID, value为 Order

class tqsdk.objs.Order(api)

Order 是一个委托单对象

order_id: str

委托单ID, 对于一个用户的所有委托单,这个ID都是不重复的

exchange_order_id: str

交易所单号

exchange_id: str

交易所

instrument_id: str

交易所内的合约代码

direction: str

下单方向, BUY=买, SELL=卖

offset: str

开平标志, OPEN=开仓, CLOSE=平仓, CLOSETODAY=平今

volume_orign: int

总报单手数

volume_left: int

未成交手数

limit_price: float

委托价格, 仅当 price_type = LIMIT 时有效

price_type: str

价格类型, ANY=市价, LIMIT=限价

volume_condition: str

手数条件, ANY=任何数量, MIN=最小数量, ALL=全部数量

time_condition: str

时间条件, IOC=立即完成,否则撤销, GFS=本节有效, GFD=当日有效, GTC=撤销前有效, GFA=集合竞价有效

insert_date_time: int

下单时间,自unix epoch(1970-01-01 00:00:00 GMT)以来的纳秒数.

last_msg: str

委托单状态信息

status: str

委托单状态, ALIVE=有效, FINISHED=已完

property is_dead

判定这个委托单是否确定已死亡(以后一定不会再产生成交)

返回

确定委托单已死时,返回 True, 否则返回 False. 注意,返回 False 不代表委托单还存活,有可能交易所回来的信息还在路上或者丢掉了

注: 本字段是由 status 等字段计算出来的,而非服务器发回的原始数据中的字段,则:
  1. is_changing() 是判断服务器发回的数据字段,因此不能用于 is_changing() 判断。

  2. 在直接 print(order) 时不会显示出此字段。

  3. 只能用 order.is_dead 方式取值,不能用 order["is_dead"] 方式。

  4. is_online, is_error, trade_price, trade_records 这四个字段同理。

property is_online

判定这个委托单是否确定已报入交易所并等待成交

返回

确定委托单已报入交易所时,返回 True, 否则返回 False. 注意,返回 False 不代表确定未报入交易所,有可能交易所回来的信息还在路上或者丢掉了

property is_error

判定这个委托单是否确定是错单(即下单失败,一定不会有成交)

返回

确定委托单是错单时,返回 True, 否则返回 False. 注意,返回 False 不代表确定不是错单,有可能交易所回来的信息还在路上或者丢掉了

property trade_price

平均成交价

返回

当委托单部分成交或全部成交时, 返回成交部分的平均成交价. 无任何成交时, 返回 nan

property trade_records

成交记录

返回

dict, 其中每个元素的key为成交ID, value为 Trade

class tqsdk.objs.Trade(api)

Trade 是一个成交对象

order_id: str

委托单ID, 对于一个用户的所有委托单,这个ID都是不重复的

trade_id: str

成交ID, 对于一个用户的所有成交,这个ID都是不重复的

exchange_trade_id: str

交易所成交号

exchange_id: str

交易所

instrument_id: str

交易所内的合约代码

direction: str

下单方向, BUY=买, SELL=卖

offset: str

开平标志, OPEN=开仓, CLOSE=平仓, CLOSETODAY=平今

price: float

成交价格

volume: int

成交手数

trade_date_time: int

成交时间,自unix epoch(1970-01-01 00:00:00 GMT)以来的纳秒数