数据类型与字段

本页目录

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

Quote#

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

字段类型含义
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跌停价。
volumefloatCTP 当前交易日累计成交量,单位为手,不是本次更新的增量。
turnoverfloatCTP 当前交易日累计成交额,单位为元。
open_interestfloat当前持仓量,单位为手。
bidslist买盘档位,每档为(价格, 手数)。
askslist卖盘档位,每档为(价格, 手数)。

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

ExError#

SDK 数据或交易服务异常。

ExError(message: str)

继承 Exception;通过 str(error) 读取错误提示。

CtpAccount#

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

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

全部参数均为非空字符串,front_url 必须是以 tcp:// 开头的交易前置地址。

Account#

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

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

updated_at 是本地查询完成时间,不是柜台余额变动时间。金额不变时也可能完成新查询;默认变化检测不包含此字段,见 资金刷新。SDK 不提供手续费率、保证金率查询,实际手续费金额见 commission。

字段类型含义
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 毫秒。

CANCELLED 不代表剩余数量为零;部分成交后撤单,volume_traded 仍表示已成交手数。status_msg 和 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#

列类型含义
timestampint64Unix 毫秒;分钟、小时线标记窗口结束时间,日、周、月线分别标记北京时间交易日、周一、月初零点
trading_dayobject(字符串)YYYYMMDD 交易日;周月线为周期内最新交易日
open / high / low / closefloat64该周期的开盘 / 最高 / 最低 / 收盘价
volumefloat64该周期成交量,单位为手;日线为对应交易日累计值
turnoverfloat64该周期成交额,单位为元;历史补录可能为 0,见下文
open_interestfloat64该周期最新持仓量,单位为手,不是周期内累加值

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

watch_kline() 固定返回 data_length 行,历史不足时在前面补 timestamp=0、trading_day="" 和数值 NaN。有效行判断见 K 线窗口。历史下载不补齐,无数据返回带上述列名的空表。

历史补录的数据可能没有成交额,服务以 turnover=0 保存,SDK 不将它转换成 NaN。不能仅凭 0 判断该周期没有成交,也不能将所有历史成交额都视为完整真实值;依赖成交额的计算需先核对数据来源与覆盖。

合约详情字典#

query_symbol_info() 顶层固定含 symbol、exchange_id、product_id、ins_class、is_main、data。当前行情服务的常用 data 字段如下;程序仍需处理缺失或空值。

字段含义
name合约名称
price_tick、price_decs最小变动价位、价格小数位数;合法限价须按价位核对,不能只按小数位数四舍五入
volume_multiple合约乘数,用于按合约口径换算价格与金额
min_limit_order_volume、max_limit_order_volume单笔限价委托最小、最大手数
delivery_year、delivery_month交割年、月
trading_time日盘、夜盘交易时段,分别在 day、night 列表中
underlying_symbol期权标的合约代码
option_class、strike_price期权类别、行权价
exercise_year、exercise_month期权行权年、月

期权专属字段仅用于期权。服务还可能返回其他信息,例如市价委托数量限制,但不代表 SDK 提供市价下单接口。常用字段的读取见 合约查询;最终下单校验以柜台为准。

只读集合#

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

联系我们

微信扫一扫