PDF下载 下载

dbf 文件单

阅读 151589

dbf 文件单

用户策略通过文件的形式向终端提交委托指令,同时也是通过文件的形式,获取相关的交易数据反馈。本规范分别对作为输入的文件单和作为输出的数据文件的格式规范进行描述。

输入文件单规范

  • 文件单是用户委托指令的载体,目前掘金终端支持 dbfcsv 2 种文件格式。本文是描述 dbf 格式的接入规范。

  • 用户的指令分成 3 类, 分别是:委托交易撤销委托功能号指令。 掘金终端, 通过文件名称后缀来区分文件格式和指令种类。具体请参考下表所示:

示例 后缀部分 文件格式 指令种类
2020-10-15_10:48:09.072.order.dbf .order.dbf dbf 委托交易
2020-10-15_10:48:09.072.cancel_order.dbf .cancel_order.dbf dbf 撤销委托
2020-10-15_10:48:09.072.func_request.dbf .func_request.dbf dbf 功能号指令

dbf 格式

  • dbf 文件因文件格式规范要求,对字段名称的长度有限制,不能超过 11 个字节。所以字段名称适当做了简写处理。

    注意: 11 个字节,因字符 ‘\0’ 作为字符串的终止符,因此字段名称最多只能是 10 个ANSI字符

指令:委托交易

文件单命名规范
  • 后缀名命名方式: *.order.dbf
    字段定义说明
字段参数名 类型 必填 说明
sid string 用户策略定义的交易指令ID, 唯一性, 不可重复使用
account_id string 掘金交易账号ID
symbol string 标的代码, 格式: 市场.代码 例如:平安银行 SZSE.000001 浦发银行 SHSE.600000
volume number 委托量
order_type string 委托类型, 请参考下面的数据字典定义 参见
order_business(order_biz) string 委托业务类型, 请参考下面的数据字典定义 注:参数名必须带括号里面的字段 参见
price number 委托价格. 当委托类型为限价单时, 必填
comment string 备注说明, 不需要时可给空字符串.最大 254 个ANSI字符

指令:撤销委托

文件单命名规范
  • 后缀名命名方式: *.cancel_order.dbf
字段定义说明
字段参数名 类型 必填 说明
sid string 需要撤销的交易指令ID, 对应委托指令中的sid参数
comment string 备注说明, 不需要时可给空字符串.最大 254 个ANSI字符

指令:功能号请求

文件单命名规范
  • 后缀名命名方式: *.func_request.dbf
字段定义说明
字段参数名 类型 必填 说明
rid string 用户策略定义的功能号请求ID, 唯一性, 不可重复使用
account_id string 掘金交易账号ID
func_id string 功能号ID
func_args string 功能号参数, 单行 json字符串,形如{"param1": "value1", "param2":"value2"}
comment string 备注说明, 不需要时可给空字符串.最大 254 个ANSI字符

指令: 算法交易委托

关于 算法交易, 请参考文档: 算法交易

文件单命名规范
  • 后缀命名方式: *.algo_order.dbf
字段定义说明
字段参数名 类型 必填 说明
sid string 用户策略定义的交易指令ID, 唯一性, 不可重复使用. 在算法交易里, 为算法交易母单的sid
account_id string 掘金交易账号ID
symbol string 标的代码, 格式: 市场.代码 例如:平安银行 SZSE.000001 浦发银行 SHSE.600000
algo_name string 算法名称: TWAP, VWAP, ATS-SMART,ZC-POV
algo_param string 算法参数. 不同算法有不同的参数, 具体写法请参考下文的 算法及其算法参数说明.
order_type string 委托类型, 请参考下面的数据字典定义 参见
order_business(order_biz) string 委托业务类型, 请参考下面的数据字典定义 注:参数名必须带括号里面的字段 参见
volume number 委托量, 整数
price number 委托价格. 当委托类型为限价单时, 必填
comment string 备注说明, 不需要时可给空字符串.最大 254 个ANSI字符
算法及其算法参数说明
ATS-SMART算法
  • ATS-SMART算法:根据用户委托交易特征,通过对市场高频数据的实时分析和处理,利用程序化分析动态选择最优算法执行用户委托。具有高完成度,高稳定性,高隐蔽性,低敞口等特点,在不同持仓风格场景下,中长期均体现出稳定超越TWAP/VWAP基准的效果
ATS-SMART 的算法参数
  • start_time : 开始时间, 策略开始执行的时间(剔除非交易时间段)。如果开始时间早于策略下达时间点时,则使用下达时间作为开始时间. 时间格式: HH:MM:SS, 例如: 13:50:00 下午 1点50分
  • end_time_referred : 结束参考时间, 和结束时间一致. (不能超过14:55:00) 时间格式同上
  • end_time : 结束时间, 策略停止执行的时间(剔除非交易时间段)。过了结束时间还未完成的数量,将会自动释放到指令。算法执行的区间段,时间越短,任务执行强度(委托频率和单笔委托量)越高. (不能超过14:55:00) 时间格式同上
  • end_time_valid : 结束时间是否有效, 算法在结束时间是否有效,如设为无效,则以收盘时间为结束时间. 1 为有效, 0 为无效
  • stop_sell_when_dl : 涨停时是否停止卖出, 标的在涨停时是否需要停止卖出. 1 为是,0 为否
  • cancel_when_pl : 跌停时是否撤单, 标的在跌停时是否需要撤单. 1 为是,0 为否
  • min_trade_amount : 控制子单单笔委托的最小金额, 该参数只适用于股票。A股单位为元
ZC-POV算法
  • ZC-POV算法:根据用户委托交易特征,通过追踪目标股票流动性,按照市场参与度完成用户委托交易。算法针对性解决股票交易中大金额委托造成的交易冲击、目的暴露、完成率低等问题,更加贴近客户的真实委托意愿
ZC-POV 的算法参数
  • 参与率:市场参与率,即每日委托总量占市场真实交易额的比例(上交易日参考标准),默认30%,最高委托量比例限制为45%
  • 基准价格:算法模型的参考基准价格,这里指限价。卖出时,当市场价格低于此价格就停止交易,再次高于此价格就恢复交易,并且补回前面应停止交易而少交易的量;买入时,当市场价格高于此价格就停止交易,再次低于此价格就恢复交易,并且补回前面应停止交易而少交易的量。当填入价格为0时,则不设置基准价。
algo_param 字段格式
  • 格式规范 arg_name=arg_value, 之间采用 & 号隔开
  • 参考示例:

    • ATS-SMART 算法参数示例: start_time=13:00:00&end_time_referred=14:50:00&end_time=14:00:00&end_time_valid=1&stop_sell_when_dl=1&cancel_when_pl=1&min_trade_amount=0

    • ZC-POV 算法参数示例:
      participation_rate=15&price=56.32

指令: 算法交易控制

文件单命名规范
  • 后缀命名方式: *.handle_algo_order.dbf
字段定义说明
字段参数名 类型 必填 说明
sid string 为算法交易母单的sid
type number 算法交易控制指令类型: 1 - 重启 2 - 暂停 3 -暂停并撤子单 4 - 撤销母单委托
comment string 备注说明, 不需要时可给空字符串.最大 254 个ANSI字符

注意: ATS-SMART 算法仅支持 4 - 撤销母单委托 参数

数据字典定义

order_type 委托类型

order_type 取值 含义
1 限价
10 限价, 即时成交剩余撤销 (fill and kill)
11 限价, 即时全额成交或撤销 (fill or kill)
2 市价
20 市价, 对方最优价格 (best of counterparty)
21 市价, 己方最优价格 (best of party)
22 市价, 即时成交剩余撤销 (fill and kill)
23 市价, 即时全额成交或撤销 (fill or kill)
24 市价, 最优五档剩余撤销 (best 5 then cancel)
25 市价, 最优五档剩余转限价(best 5 then limit)
4 盘后定价交易 (after hour trading)
order_type参数设置说明
市场 参数名 可选值 含义
深圳市场 order_type 1 限价
20 市价, 对方最优价格 (best of counterparty)
21 市价, 己方最优价格 (best of party)
22 市价, 即时成交剩余撤销 (fill and kill)
23 市价, 即时全额成交或撤销 (fill or kill)
24 市价, 最优五档剩余撤销 (best 5 then cancel)
上海市场 order_type 1 限价
24 市价, 最优五档剩余撤销 (best 5 then cancel)
25 市价, 最优五档剩余转限价(best 5 then limit)
大商所 order_type 1 限价
10 限价, 即时成交剩余撤销 (fill and kill)
11 限价, 即时全额成交或撤销 (fill or kill)
2 市价
22 市价, 即时成交剩余撤销 (fill and kill)
23 市价, 即时全额成交或撤销 (fill or kill)
郑商所 order_type 1 限价
22 市价, 即时成交剩余撤销 (fill and kill)
上期所 order_type 1 限价
10 限价, 即时成交剩余撤销 (fill and kill)
11 限价, 即时全额成交或撤销 (fill or kill)
中金所 order_type 1 限价
10 限价, 即时成交剩余撤销 (fill and kill)
11 限价, 即时全额成交或撤销 (fill or kill)
24 市价,五档市价 (远期合约不支持)
25 市价, 五档市价FAK (fill and kill)(远期合约不支持)

order_biz 委托业务类型

业务范围 order_biz 取值 含义
股票 1 股票, 买入
2 股票, 卖出
期货 10 期货, 买入开仓
11 期货, 卖出平仓
12 期货, 卖出平仓, 平今仓 (上海商品期货交易所 only)
13 期货, 卖出平仓, 平昨仓 (上海商品期货交易所 only)
14 期货, 卖出开仓
15 期货, 买入平仓
16 期货, 买入平仓,平今仓 (上海商品期货交易所 only)
17 期货, 买入平仓, 平昨仓 (上海商品期货交易所 only)
新股申购 100 新股申购
融资融券 200 融资买入 (buying on margin)
201 融券卖出 (short selling)
202 买券还券 (repay share by buying share)
203 卖券还款 (repay cash by selling share)
204 直接还券 (directly repay share)
207 担保品买入 (buying on collateral)
208 担保品卖出 (selling on collateral)
209 担保品转入 (collateral in)
210 担保品转出 (collateral out)
212 专项融资买入 (buying on margin for vip)
213 专项融券卖出 (short selling for vip)
逆回购 400 逆回购
可转债 402 可转债转股
403 可转债回售
404 可转债回售撤销
补充说明
  • 逆回购 如何获取 symbol 字段对应的标的代码. 下面以 逆回购 R-007 为例:

    • 交易工具 页面里, 在任意一个交易监控面板页面, 通过按键精灵功能,输入需要进行逆回购的代码, 本例中为: r-007 (不区分大小写)

    • 点击找到的标的记录后, 即可查看到该逆回购标的在掘金系统里的证券代码.

    • 如上图所示, 逆回购 R-007 时, symbol 字段填写应为对应的掘金系统证券代码: SZSE.131801

注意事项
  • 205206 为券商发起的强制平仓业务, 用户不能操作
  • 400 (逆回购) 时, volume (委托量) 字段的取值说明:
    • 上海市场, voluem 应设置为 10 的整数倍
    • 深圳市场, volume 应设置为 10 的整数倍
  • 100 (新股申购) 时, 新股是volume (委托量) 字段应为 100 的整数倍, price (委托价格) 字段应大于 0, 推荐填写新股发行价

输出数据文件规范

在文件单输出配置里面,配置并开启了指定交易账户的文件单输出后,会在文件单的输出目录下,已指定交易账户的 ID 为名称创建子目录,在此子目录下输出需要的交易反馈数据。文件名称与数据类别对应关系请看下表,文件格式和规范参考下文。

dbf格式文件名 说明
cash.dbf 交易账户资金数据
position.dbf 交易账户持仓数据
order_status.dbf 日内委托数据
execution_report.dbf 委托执行回报数据
order_status_change.dbf 委托状态变更流水记录
func_response.dbf 功能号执行结果数据

dbf 格式

交易账户资金数据

  • 文件名称:cash.dbf
  • 刷新方式:整文件刷新
字段参数名 类型 说明
account_id string 掘金交易账号ID
market_val number 持仓市值
nav number 总资产
pnl number 累计收益(实盘不支持)
fpnl number 浮动盈亏
frozen number 持仓占用资金(期货)
available number 可用资金
balance number 资金余额
created_at datetime 资金初始时间
updated_at datetime 资金变更时间
recv_at datetime 终端接收时间
ord_frozen number 冻结资金

交易账户持仓数据

  • 文件名称:position.dbf
  • 刷新方式:整文件刷新
字段参数名 类型 说明
account_id string 掘金交易账号ID
symbol string 证券代码(市场.代码)如:SZSE.000001
side number 持仓方向 参见
volume number 总持仓量; 昨持仓量(volume-vol_today)
vol_today number 今日持仓量
vwap number 持仓均价
vwap_dild number 摊薄持仓均价
market_val number 持仓市值
price number 当前行情价格
fpnl number 持仓浮动盈亏
cost number 持仓成本
avl_now number 当前可平仓位(根据标的的T+N属性计算)
created_at datetime 建仓时间
updated_at datetime 仓位变更时间
recv_at datetime 终端接收时间

日内委托数据

  • 文件名称:order_status.dbf
  • 刷新方式:整文件刷新
字段名 类型 说明
account_id string 掘金交易账号ID
sid string 如果该委托时由扫单服务产生的, 对应委托指令的 sid 参数. 如果该委托不是由扫单服务产生的,则为空
scan_name string 表明该委托对应的扫单名称
cl_ord_id string 委托客户端ID
order_id string 委托柜台ID
symbol string 证券代码(市场.代码)如:SZSE.000001
order_type number 委托类型 参见
order_business(order_biz) number 委托业务属性 参见
status number 委托状态 参见
rej_reason number 委托拒绝原因 参见
rej_detail string 委托拒绝原因描述
price number 委托价格
volume number 委托量
filled_vol number 已成量
created_at datetime 委托创建时间
updated_at datetime 委托更新时间
sent_at datetime 委托(终端)发送时间
recv_at datetime 委托(终端)确认(状态变为已报)时间
filledvwap number 已成均价
filled_amt number 已成金额

委托执行回报数据

  • 文件名称:execution_report.dbf
  • 刷新方式:启动同步账户成交数据,新数据在文件末尾追加
字段名 类型 说明
account_id string 掘金交易账号ID
sid string 如果该委托时由扫单服务产生的, 对应委托指令的 sid 参数. 如果该委托不是由扫单服务产生的,则为空
scan_name string 表明该委托对应的扫单名称
cl_ord_id string 委托客户端ID
order_id string 委托柜台ID
exec_id string 委托回报ID
symbol string 证券代码(市场.代码)如:SZSE.000001
order_business(order_biz) number 委托业务属性 参见
rej_reason number 委托拒绝原因 参见
rej_detail string 委托拒绝原因描述
exec_type number 执行回报类型 参见
price number 委托成交价格
volume number 委托成交量
created_at datetime 回报创建时间
recv_at datetime 终端接收时间
amount number 委托成交金额

委托状态变更流水记录

  • 文件名称:order_status_change.dbf
  • 刷新方式:文件末尾追加
字段名 类型 说明
account_id string 掘金交易账号ID
sid string 如果该委托时由扫单服务产生的, 对应委托指令的 sid 参数. 如果该委托不是由扫单服务产生的,则为空
scan_name string 表明该委托对应的扫单名称
cl_ord_id string 委托客户端ID
order_id string 委托柜台ID
symbol string 证券代码(市场.代码)如:SZSE.000001
order_type number 委托类型 参见
order_business(order_biz) number 委托业务属性 参见
status number 委托状态 参见
rej_reason number 委托拒绝原因 参见
rej_detail string 委托拒绝原因描述
price number 委托价格
volume number 委托量
filled_vol number 已成量
created_at datetime 委托创建时间
updated_at datetime 委托更新时间
sent_at datetime 委托(终端)发送时间
recv_at datetime 委托(终端)确认(状态变为已报)时间
filledvwap number 已成均价
filled_amt number 已成金额

功能号执行结果数据

  • 文件名称:func_response.dbf
  • 刷新方式:文件末尾追加
字段名 类型 说明
rid string 功能号请求ID,与功能号交易指令中的 rid 参数对应
account_id string 掘金交易账号ID
data string 功能号扫单结果,单行 json字符串
error_code string 错误编码
error_info string 错误信息
recv_at datetime 终端接收时间
0 篇笔记