数据类型与字段

Quote、K 线、CTP 配置与交易数据完整字段字典。

本页目录

单位、缺失值和时间含义都是接口的一部分。交易视图字段未知时为 None,行情数值初始为 NaN;不要把未知值当作 0。

Quote

合约行情快照;通过观察句柄的 data() 获取,不随后续更新改变。

Attributes: symbol: 合约代码,如 SHFE.rb2610 或 DCE.a2611-C-3700。 trading_day: 交易日,格式 YYYYMMDD。 timestamp: 行情时间,Unix 毫秒。 open: 开盘价。 highest: 最高价。 lowest: 最低价。 last_price: 最新价。 pre_settlement: 昨结算价。 pre_close: 昨收盘价。 upper_limit: 涨停价。 lower_limit: 跌停价。 volume: 成交量。 turnover: 成交额。 open_interest: 持仓量。 bids: 买盘档位,每档为(价格,数量)。 asks: 卖盘档位,每档为(价格,数量)。

字段类型含义
symbolstr合约代码,如 SHFE.rb2610 或 DCE.a2611-C-3700。
trading_daystr交易日,格式 YYYYMMDD。
timestampint行情时间,Unix 毫秒。
openfloat开盘价。
highestfloat最高价。
lowestfloat最低价。
last_pricefloat最新价。
pre_settlementfloat昨结算价。
pre_closefloat昨收盘价。
upper_limitfloat涨停价。
lower_limitfloat跌停价。
volumefloat成交量。
turnoverfloat成交额。
open_interestfloat持仓量。
bidslist买盘档位,每档为(价格,数量)。
askslist卖盘档位,每档为(价格,数量)。

初始 symbol 由订阅决定,trading_day="",timestamp=0,数值字段为 NaN,盘口为空列表。对象字段只读,快照不随后续更新变化。盘口不保证固定档数。

ExError

SDK 数据或交易服务异常,status 为可选的响应状态码。

ExError(message: str, *, status: int | None = None)

继承 Exception;str(error) 为可供业务读取的提示,error.status 为可选 HTTP 状态码。内部重新包装异常时 status 可能为 None,不能只依赖此字段分类所有故障。

CtpAccount

CTP 直连账户配置,交易凭据不会发送至行情服务。

Args: broker_id: 期货公司代码。 user_id: 资金账号。 password: 交易密码。 front_url: 交易前置地址,格式为 tcp://地址:端口。 app_id: 期货公司提供的客户端标识。 auth_code: 期货公司提供的客户端授权码。

字段类型含义
broker_idstr期货公司代码。
user_idstr资金账号。
passwordstr交易密码。
front_urlstr交易前置地址,格式为 tcp://地址:端口。
app_idstr期货公司提供的客户端标识。
auth_codestr期货公司提供的客户端授权码。

全部参数必填,front_url 必须以 tcp:// 开头。password/auth_code 不出现在默认 repr 中;仍不要输出整个配置。校验失败抛 ValueError。

Account

只读资金快照;金额单位为人民币元,未知字段为 None。

金额仅由完整柜台查询更新,不根据行情或成交估算;交易日来自登录回报。

字段类型含义
account_idstr | None资金账号。
trading_daystr | None交易日,格式 YYYYMMDD。
balancefloat | None账户权益。
availablefloat | None可用资金。
marginfloat | None已占用保证金。
frozen_marginfloat | None冻结保证金。
commissionfloat | None当日累计实际手续费。
frozen_commissionfloat | None冻结手续费。
close_profitfloat | None当日平仓盈亏。
position_profitfloat | None持仓盈亏。
depositfloat | None当日入金。
withdrawfloat | None当日出金。
updated_atint | None最近一次完整查询完成的本地时间,Unix 毫秒。

Position

只读持仓快照;数量单位为手。

登录查询建立基线,之后根据真实成交本地更新;未知数量为 None。

字段类型含义
symbolstr合约代码,如 SHFE.rb2610。
pos_longint | None多头持仓。
pos_shortint | None空头持仓。
pos_long_todayint | None剩余多头今仓。
pos_short_todayint | None剩余空头今仓。
available_longint | None本地参考可平多头手数:多头持仓减已知有效卖出平仓委托的冻结量;最终由柜台校验。
available_shortint | None本地参考可平空头手数:空头持仓减已知有效买入平仓委托的冻结量;最终由柜台校验。

Order

只读订单快照;断线后观察句柄保留最后一次已提交的数据。

字段类型含义
order_idstrFrontID:SessionID:OrderRef 格式的本地订单标识。
order_sys_idstr | NoneCTP 返回的交易所订单号 OrderSysID,尚未收到时为 None。
symbolstr合约代码。
directionstr | NoneBUY 买入,SELL 卖出。
offsetstr | None实际委托开平标志:OPEN、CLOSE、CLOSE_TODAY 或 CLOSE_YESTERDAY。
limit_pricefloat | None委托限价。
volume_originalint | None原始委托数量,单位为手。
volume_tradedint | None已成交数量,单位为手。
volume_leftint | None未成交数量;撤单结束后仍可大于零。
statusLiteral['PENDING', 'ALIVE', 'FILLED', 'CANCELLED', 'REJECTED'] | None待回报、尚未确认终态、全部成交、未全成且不再排队、提交失败或被拒;未知时为 None。
status_msgstr | None最近一次订单状态说明。
cancel_pendingbool撤单请求待发送或等待柜台结果时为 True。
cancel_errorstr | None撤单失败原因;没有失败时为 None。
insert_timeint | None委托时间,Unix 毫秒。

status 允许 PENDING、ALIVE、FILLED、CANCELLED、REJECTED。CANCELLED 不代表剩余数量为零;cancel_pending / cancel_error 反映撤单过程,不是新的成交。

Trade

只读真实成交快照,不包含估算手续费;断线后保留最后一次已提交的数据。

字段类型含义
trade_idstrCTP 返回的原始成交号 TradeID。
order_sys_idstrCTP 返回的交易所订单号 OrderSysID。
symbolstr合约代码。
directionstr | NoneBUY 买入,SELL 卖出。
offsetstr | NoneOPEN 开仓,CLOSE 普通平仓,CLOSE_TODAY 平今,CLOSE_YESTERDAY 平昨。
pricefloat | None实际成交价格。
volumeint | None实际成交数量,单位为手。
trade_timeint | None成交时间,Unix 毫秒。

trade_id 为原始 CTP TradeID;通过 order_sys_id 关联 Order.order_sys_id。成交不包含估算手续费。

TradingResult

一次交易操作的即时提交结果;不是最终委托或撤单结果。

字段类型含义
statusLiteral['SUBMITTED', 'REJECTED', 'UNKNOWN']SUBMITTED / REJECTED / UNKNOWN,即时提交结果。
order_idstr | None关联本地订单号;下单本地拒绝为 None。
messagestr即时结果说明,默认空字符串。

K 线 DataFrame

列含义
timestampK 线周期结束时间,Unix 毫秒;日线使用交易日北京时间零点
trading_dayYYYYMMDD 交易日
open / high / low / close开盘 / 最高 / 最低 / 收盘价
volume成交量
turnover成交额
open_interest持仓量

frame.attrs 包含 symbol 与 period。数据为独立快照,最新一行可能仍在变化;新建指标列不会进入下一份 SDK 快照。

合约详情字典

query_symbol_info() 顶层固定含 symbol、exchange_id、product_id、ins_class、is_main、data。data 的内部键按服务实际返回读取,SDK 不承诺固定的静态字段集合。

只读集合

watch_position、watch_order、watch_trade 的 data() 返回只读 Mapping。分别按 symbol、order_id、trade_id 索引;即使指定单个合约也返回映射。不要向映射或交易快照字段赋值。

接口说明依据 exsdk 1.1.2 的公开接口与本地使用指南整理。