tqsdk.objs - 业务对象

class tqsdk.objs.Quote(api)

Quote 是一个行情对象

datetime = None

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

ask_price1 = None

卖一价

ask_volume1 = None

卖一量

bid_price1 = None

买一价

bid_volume1 = None

买一量

ask_price2 = None

卖二价

ask_volume2 = None

卖二量

bid_price2 = None

买二价

bid_volume2 = None

买二量

ask_price3 = None

卖三价

ask_volume3 = None

卖三量

bid_price3 = None

买三价

bid_volume3 = None

买三量

ask_price4 = None

卖四价

ask_volume4 = None

卖四量

bid_price4 = None

买四价

bid_volume4 = None

买四量

ask_price5 = None

卖五价

ask_volume5 = None

卖五量

bid_price5 = None

买五价

bid_volume5 = None

买五量

last_price = None

最新价

highest = None

当日最高价

lowest = None

当日最低价

open = None

开盘价

close = None

收盘价

average = None

当日均价

volume = None

成交量

amount = None

成交额

open_interest = None

持仓量

settlement = None

结算价

upper_limit = None

涨停价

lower_limit = None

跌停价

pre_open_interest = None

昨持仓量

pre_settlement = None

昨结算价

pre_close = None

昨收盘价

price_tick = None

合约价格变动单位

price_decs = None

合约价格小数位数

volume_multiple = None

合约乘数

max_limit_order_volume = None

最大限价单手数

max_market_order_volume = None

最大市价单手数

min_limit_order_volume = None

最小限价单手数

min_market_order_volume = None

最小市价单手数

underlying_symbol = None

标的合约

strike_price = None

行权价

ins_class = None

合约类型

instrument_id = None

交易所内的合约代码

expired = None

合约是否已下市

trading_time = None

交易时间段

expire_datetime = None

到期具体日

delivery_month = None

到期月

delivery_year = None

到期年

option_class = None

期权方向

product_id = None

品种代码

iopv = None

ETF实时单位基金净值

class tqsdk.objs.TradingTime(api)

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

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

day = None

白盘

night = None

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

class tqsdk.objs.Kline(api)

Kline 是一个K线对象

datetime = None

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

open = None

K线起始时刻的最新价

high = None

K线时间范围内的最高价

low = None

K线时间范围内的最低价

close = None

K线结束时刻的最新价

volume = None

K线时间范围内的成交量

open_oi = None

K线起始时刻的持仓量

close_oi = None

K线结束时刻的持仓量

class tqsdk.objs.Tick(api)

Tick 是一个tick对象

datetime = None

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

last_price = None

最新价

average = None

当日均价

highest = None

当日最高价

lowest = None

当日最低价

ask_price1 = None

卖1价

ask_volume1 = None

卖1量

bid_price1 = None

买1价

bid_volume1 = None

买1量

ask_price2 = None

卖2价

ask_volume2 = None

卖2量

bid_price2 = None

买2价

bid_volume2 = None

买2量

ask_price3 = None

卖3价

ask_volume3 = None

卖3量

bid_price3 = None

买3价

bid_volume3 = None

买3量

ask_price4 = None

卖4价

ask_volume4 = None

卖4量

bid_price4 = None

买4价

bid_volume4 = None

买4量

ask_price5 = None

卖5价

ask_volume5 = None

卖5量

bid_price5 = None

买5价

bid_volume5 = None

买5量

volume = None

当日成交量

amount = None

成交额

open_interest = None

持仓量

class tqsdk.objs.Account(api)

Account 是一个账户对象

currency = None

币种

pre_balance = None

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

static_balance = None

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

balance = None

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

available = None

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

ctp_balance = None

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

ctp_available = None

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

float_profit = None

浮动盈亏

position_profit = None

持仓盈亏

close_profit = None

本交易日内平仓盈亏

frozen_margin = None

冻结保证金

margin = None

保证金占用

frozen_commission = None

冻结手续费

commission = None

本交易日内交纳的手续费

frozen_premium = None

冻结权利金

premium = None

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

deposit = None

本交易日内的入金金额

withdraw = None

本交易日内的出金金额

risk_ratio = None

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

market_value = None

期权市值

class tqsdk.objs.Position(api)

Position 是一个持仓对象

exchange_id = None

交易所

instrument_id = None

交易所内的合约代码

pos_long_his = None

多头老仓手数

pos_long_today = None

多头今仓手数

pos_short_his = None

空头老仓手数

pos_short_today = None

空头今仓手数

volume_long_today = None

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

volume_long_his = None

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

volume_long = None

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

volume_long_frozen_today = None

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

volume_long_frozen_his = None

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

volume_long_frozen = None

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

volume_short_today = None

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

volume_short_his = None

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

volume_short = None

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

volume_short_frozen_today = None

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

volume_short_frozen_his = None

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

volume_short_frozen = None

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

open_price_long = None

多头开仓均价

open_price_short = None

空头开仓均价

open_cost_long = None

多头开仓成本

open_cost_short = None

空头开仓成本

position_price_long = None

多头持仓均价

position_price_short = None

空头持仓均价

position_cost_long = None

多头持仓成本

position_cost_short = None

空头持仓成本

float_profit_long = None

多头浮动盈亏

float_profit_short = None

空头浮动盈亏

float_profit = None

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

position_profit_long = None

多头持仓盈亏

position_profit_short = None

空头持仓盈亏

position_profit = None

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

margin_long = None

多头占用保证金

margin_short = None

空头占用保证金

margin = None

占用保证金

market_value_long = None

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

market_value_short = None

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

market_value = None

期权市值

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 = None

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

exchange_order_id = None

交易所单号

exchange_id = None

交易所

instrument_id = None

交易所内的合约代码

direction = None

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

offset = None

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

volume_orign = None

总报单手数

volume_left = None

未成交手数

limit_price = None

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

price_type = None

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

volume_condition = None

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

time_condition = None

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

insert_date_time = None

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

last_msg = None

委托单状态信息

status = None

委托单状态, 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 = None

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

trade_id = None

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

exchange_trade_id = None

交易所成交号

exchange_id = None

交易所

instrument_id = None

交易所内的合约代码

direction = None

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

offset = None

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

price = None

成交价格

volume = None

成交手数

trade_date_time = None

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