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

最小市价单手数

open_max_market_order_volume: int

最大市价开仓手数

open_max_limit_order_volume: int

最大限价开仓手数

open_min_market_order_volume: int

最小市价开仓手数

open_min_limit_order_volume: int

最小限价开仓手数

underlying_symbol: str

标的合约

strike_price: float

行权价

ins_class: str

合约类型

instrument_id: str

交易所内的合约代码

instrument_name: str

合约中文名

exchange_id: str

交易所代码

expired: bool

合约是否已下市

trading_time: TradingTime

交易时间段

expire_datetime: float

到期具体日,以秒为单位的 timestamp 值

delivery_year: int

期货交割日年份,只对期货品种有效。期权推荐使用最后行权日年份

delivery_month: int

期货交割日月份,只对期货品种有效。期权推荐使用最后行权日月份

last_exercise_datetime: float

期权最后行权日,以秒为单位的 timestamp 值

exercise_year: int

期权最后行权日年份,只对期权品种有效。

exercise_month: int

期权最后行权日月份,只对期权品种有效。

option_class: str

期权方向

exercise_type: str

期权行权方式,美式:'A',欧式:'E'

product_id: str

品种代码

iopv: float

ETF实时单位基金净值

public_float_share_quantity: int

日流通股数,只对证券产品有效。

stock_dividend_ratio: list

除权表 ["20190601,0.15","20200107,0.2"…]

cash_dividend_ratio: list

除息表 ["20190601,0.15","20200107,0.2"…]

expire_rest_days: int

距离到期日的剩余天数(自然日天数),正数表示距离到期日的剩余天数,0表示到期日当天,负数表示距离到期日已经过去的天数

categories: List[CategoryInfo]

板块信息

position_limit: int

持仓限额

property underlying_quote

标的合约 underlying_symbol 所指定的合约对象,若没有标的合约则为 None

返回:

标的指定的 Quote 对象

class tqsdk.objs.CategoryInfo

CategoryInfo 是一个板块信息对象

id: str

板块代码

name: str

板块名称

class tqsdk.objs.TradingTime(api)

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

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

day: list

白盘

night: list

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

class tqsdk.objs.TradingStatus(api)

TradingStatus 是一个交易状态对象

symbol: str

合约

trade_status: str

交易状态, AUCTIONORDERING: 集合竞价报单; CONTINOUS: 连续交易; NOTRADING: 非交易时段

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

持仓盈亏 (持仓盈亏: 相对于上一交易日结算价的盈亏),期权持仓盈亏为 0

margin_long: float

多头占用保证金

margin_short: float

空头占用保证金

margin: float

占用保证金

market_value_long: float

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

market_value_short: float

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

market_value: float

期权市值

pos: int

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

pos_long: int

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

pos_short: int

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

property orders

与此持仓相关的且目前委托单状态为ALIVE的开仓/平仓挂单

返回:

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=已完

is_dead: bool

委托单是否确定已死亡(以后一定不会再产生成交)(注意,False 不代表委托单还存活,有可能交易所回来的信息还在路上或者丢掉了)

is_online: bool

委托单是否确定已报入交易所并等待成交 (注意,返回 False 不代表确定未报入交易所,有可能交易所回来的信息还在路上或者丢掉了)

is_error: bool

委托单是否确定是错单(即下单失败,一定不会有成交)(注意,返回 False 不代表确定不是错单,有可能交易所回来的信息还在路上或者丢掉了)

trade_price: float

平均成交价

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)以来的纳秒数

class tqsdk.objs.SelfTradeRule(api)

自成交风控规则

count_limit

最大自成交次数限制

class tqsdk.objs.FrequentCancellationRule(api)

频繁报撤单风控规则

insert_order_count_limit

频繁报撤单起算报单次数

cancel_order_count_limit

频繁报撤单起算撤单次数

cancel_order_percent_limit

频繁报撤单撤单比例限额,为百分比

class tqsdk.objs.TradePositionRatioRule(api)

成交持仓比风控规则

trade_units_limit

成交持仓比起算成交手数

trade_position_ratio_limit

成交持仓比例限额,为百分比

class tqsdk.objs.SelfTrade(api)

自成交情况

highest_buy_price

当前最高买价

lowest_sell_price

当前最低卖价

self_trade_count

当天已经发生的自成交次数

rejected_count

当天由于自成交而被拒的报单次数

class tqsdk.objs.FrequentCancellation(api)

频繁报撤单情况

insert_order_count

当天已经发生的报单次数

cancel_order_count

当天已经发生的撤单次数

cancel_order_percent

当天的撤单比例,为百分比

rejected_count

当天由于撤单比例超限而被拒的撤单次数

class tqsdk.objs.TradePositionRatio(api)

成交持仓比情况

trade_units

当天已经发生的成交手数

net_position_units

当前的净持仓手数, 正为多仓, 负为空仓

trade_position_ratio

当前的成交持仓比, 为百分比

rejected_count

当天由于成交持仓比超限而被拒的报单次数

class tqsdk.objs.SecurityAccount(api)

SecurityAccount 是一个股票账户对象

user_id: str

用户客户号

currency: str

币种, CNY=人民币, USD=美元, HKD=港币

market_value: float

当前市值

asset: float

当前资产 = 当前市值 + 可用金额 + 委托冻结金额 + 委托冻结费用

asset_his: float

期初资产

available: float

当前可用余额 = 期初可用 + 当日入金 - 当日出金 + 当日分红金额 - 当日买入金额 - 当日买入费用 + 当日卖出金额 - 当日卖出费用 - 委托冻结金额 - 委托冻结手续费

available_his: float

期初可用余额

cost: float

当前买入成本

drawable: float

当前可取余额 = MAX(期初余额 + 当日入金 – 当日出金 + MIN(0,当日卖出释放资金 - 当日买入占用资金 - 委托冻结金额), 0)

deposit: float

本交易日内累计入金金额

withdraw: float

本交易日内累计出金金额

buy_frozen_balance: float

当前交易冻结金额(不含费用)= sum(order.volume_orign * order.limit_price)

buy_frozen_fee: float

当前交易冻结费用 = sum(order.frozen_fee)

buy_balance_today: float

当日买入占用资金(不含费用)

buy_fee_today: float

当日买入累计费用

sell_balance_today: float

当日卖出释放资金

sell_fee_today: float

当日卖出累计费用

hold_profit: float

当日持仓盈亏 = 当前市值 - 当前买入成本

float_profit_today: float

当日浮动盈亏 = SUM(持仓当日浮动盈亏)

real_profit_today: float

当日实现盈亏 = SUM(持仓当日实现盈亏)

profit_today: float

当日盈亏 = 当日浮动盈亏 + 当日实现盈亏

profit_rate_today: float

当日盈亏比 = 当日盈亏 / (当前买入成本 if 当前买入成本 > 0 else 期初资产)

dividend_balance_today: float

当日分红金额

class tqsdk.objs.SecurityPosition(api)

SecurityPosition 是一个股票账户持仓对象

user_id: str

用户客户号

exchange_id: str

交易所

instrument_id: str

证券代码

create_date: str

建仓日期

cost: float

当前成本 = 昨买入成本 + 今买金额 + 今买费用 - 今卖数量 × (昨买入成本 / 昨持仓数量)

cost_his: float

期初成本

volume: int

今持仓数量 = 昨持仓数量 + 今买数量 - 今卖数量 + 送股数量

volume_his: int

昨持仓数量

last_price: float

最新价

buy_volume_today: int

当日累计买入持仓

buy_balance_today: float

当日累计买入金额 (不包括费用)

buy_fee_today: float

当日累计买入费用

sell_volume_today: int

当日累计卖出持仓

sell_balance_today: float

当日累计卖出金额(不包括费用)

sell_fee_today: float

当日累计卖出费用

buy_volume_his: int

期初累计买入持仓

buy_balance_his: float

期初累计买入金额

buy_fee_his: float

期初累计买入费用

sell_volume_his: int

期初累计卖出持仓

sell_balance_his: float

期初累计卖出金额

sell_fee_his: float

期初累计卖出费用

shared_volume_today: float

今送股数量

devidend_balance_today: float

今分红金额

market_value: float

当前市值 = 持仓数量 × 行情最新价

market_value_his: float

期初市值

float_profit_today: float

当日浮动盈亏 = (昨持仓数量 - 今卖数量) * (最新价 - 昨收盘价) + (今持仓数量 - (昨持仓数量 - 今卖数量)) * (最新价 - 买入均价)

real_profit_today: float

当日实现盈亏 = 今卖数量 * (最新价 - 昨收盘价) - 今卖费用 + 今派息金额

real_profit_his: float

期初实现盈亏

profit_today: float

当日盈亏 = 当日浮动盈亏 + 当日实现盈亏

profit_rate_today: float

当日收益率

hold_profit: float

当日持仓盈亏 = 当前持仓市值 – 当前买入成本

real_profit_total: float

累计实现盈亏 += 当日实现盈亏(成本)

profit_total: float

总盈亏 = 累计实现盈亏 + 持仓盈亏

profit_rate_total: float

累计收益率 = 总盈亏 / (期初成本 if 当前成本==0 else 当前成本)

class tqsdk.objs.SecurityOrder(api)

SecurityOrder 是一个股票账户委托单对象

user_id: str

用户客户号

order_id: str

订单号,要求客户端保证其在一个交易日内的唯一性

exchange_order_id: str

交易所委托合同编号

exchange_id: str

交易所代码

instrument_id: str

证券代码

direction: str

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

volume_orign: int

委托股数(A 股委托数量必须为 100 倍数;科创板股票必须为 200 倍数;零股卖出: 由于部分成交或分红导致持仓数量小于 100 股时,该部分持仓可一次性卖出,数量不为 100 或 200 倍数)

volume_left: int

剩余股数

price_type: str

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

limit_price: float

报单委托价格

frozen_fee: float

冻结费用

insert_date_time: int

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

status: str

委托单当前状态

last_msg: str

委托单状态信息

property trade_records

成交记录

返回:

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

class tqsdk.objs.SecurityTrade(api)

SecurityTrade 是一个股票账户成交对象

user_id: str

用户客户号

trade_id: str

成交编号

exchange_id: str

交易所代码

instrument_id: str

证券代码

order_id: str

委托单编号

exchange_order_id: str

交易所订单编号

direction: str

下单方向, BUY=买, SELL=卖,SHARED=送股,DEVIDEND=分红

volume: int

成交数量或者送股数量

price: float

成交价格

balance: float

成交发生金额或分红金额

fee: float

费用

trade_date_time: int

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