dbf 文件单
用户策略通过文件的形式向终端提交委托指令,同时也是通过文件的形式,获取相关的交易数据反馈。本规范分别对作为输入的文件单和作为输出的数据文件的格式规范进行描述。
输入文件单规范
示例 |
后缀部分 |
文件格式 |
指令种类 |
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 格式
指令:委托交易
文件单命名规范
- 后缀名命名方式: *.order.dbf
字段定义说明
字段参数名 |
类型 |
必填 |
说明 |
sid |
string |
是 |
用户策略定义的交易指令ID, 唯一性, 不可重复使用 |
account_id |
string |
是 |
东方财富量化交易账号ID |
symbol |
string |
是 |
标的代码, 格式: 市场.代码 例如:平安银行 SZSE.000001 浦发银行 SHSE.600000 |
volume |
number |
是 |
委托量 |
order_type |
string |
是 |
委托类型, 请参考下面的数据字典定义 |
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字符 |
数据字典定义
status 委托状态
status 取值 |
含义 |
1 |
已报 |
2 |
部成 |
3 |
已成 |
5 |
已撤 |
8 |
已拒绝 |
10 |
待报 |
12 |
已过期 |
exec_type 执行回报类型
exec_type 取值 |
含义 |
15 |
成交 |
19 |
撤单被拒绝 |
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 |
限价 |
|
|
20 |
市价, 对方最优价格 (best of counterparty) |
|
|
21 |
市价, 己方最优价格 (best of party) |
|
|
24 |
市价, 最优五档剩余撤销 (best 5 then cancel) |
|
|
25 |
市价, 最优五档剩余转限价(best 5 then limit) |
order_biz 委托业务类型
业务范围 |
order_biz 取值 |
含义 |
股票 |
1 |
股票, 买入 |
|
2 |
股票, 卖出 |
新股申购 |
100 |
新股申购 |
融资融券 |
200 |
融资买入 (buying on margin) |
|
201 |
融券卖出 (short selling) |
|
202 |
买券还券 (repay share by buying share) |
|
203 |
卖券还款 (repay cash by selling share) |
|
204 |
直接还券 (directly repay share) |
|
205 |
融资平仓 (close position on margin) |
|
206 |
融券平仓 (close position on short selling) |
|
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 |
可转债回售撤销 |
补充说明
注意事项
205
、206
为券商发起的强制平仓业务, 用户不能操作
400
(逆回购) 时, volume (委托量) 字段的取值说明:
- 上海市场, voluem 应设置为 100 的整数倍
- 深圳市场, volume 应设置为 1000 的整数倍
100
(新股申购) 时, volume (委托量) 字段应为 1000 的整数倍, price (委托价格) 字段应大于 0, 推荐填写新股发行价
输出数据文件规范
在文件单输出配置里面,配置并开启了指定交易账户的文件单输出后,会在文件单的输出目录下,已指定交易账户的 ID 为名称创建子目录,在此子目录下输出需要的交易反馈数据。文件名称与数据类别对应关系请看下表,文件格式和规范参考下文。
dbf格式文件名 |
说明 |
cash.dbf |
交易账户资金数据 |
position.dbf |
交易账户持仓数据 |
order_status.dbf |
日内委托数据 |
execution_report.dbf |
委托执行回报数据 |
order_status_change.dbf |
委托状态变更流水记录 |
func_response.dbf |
功能号执行结果数据 |
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 浦发银行 SHSE.600000 |
order_type |
number |
委托类型 |
order_biz |
number |
委托业务属性 |
status |
委托状态 已报为 1,部成为 2,全成为 3,已撤为 5,拒绝为 8,待报为 10 |
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 浦发银行 SHSE.600000 |
order_biz |
number |
委托业务属性 |
rej_reason |
number |
委托拒绝原因 |
rej_detail |
string |
委托拒绝原因描述 |
exec_type |
number |
执行回报类型 成交为 15, 撤单拒绝为 19 |
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 浦发银行 SHSE.600000 |
order_type |
number |
委托类型 |
order_biz |
number |
委托业务属性 |
status |
number |
委托状态 已报为 1,部成为 2,全成为 3,已撤为 5,拒绝为 8,待报为 10 |
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 |
终端接收时间 |