csv 文件单

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

输入文件单规范

  • 文件单是用户委托指令的载体,目前东方财富量化终端支持 dbfcsv 2 种文件格式。本文是描述 csv 格式的接入规范。

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

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

csv 格式

  • 因 dbf 因格式规范限制,字段名称不能超过 10 个 ansi 字符。而我们的 SDK 文档里,字段都是使用的全称。为了方便对应,在 csv 文件里,对于那些在 dbf 里被进行了简写的字段,csv 文件中,字段的命名方式为: 全称(简称), 例子如下:
    • dbf 中,order_biz 是简写后的字段名称,在 csv 中,对应的字段名称为:order_business(order_biz)

指令:委托交易

文件单命名规范
  • 后缀名命名方式: *.order.csv
字段定义说明
字段参数名 类型 必填 说明
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 备注说明, 不需要时可给空字符串.

指令:撤销委托

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

指令:功能号请求

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

数据字典定义

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 可转债回售撤销
补充说明
  • 逆回购 如何获取 symbol 字段对应的标的代码. 下面以 逆回购 R-007 为例:

    • 交易工具 页面里, 在任意一个交易监控面板页面, 通过按键精灵功能,输入需要进行逆回购的代码, 本例中为: r-007 (不区分大小写)
    • 点击找到的标的记录后, 即可查看到该逆回购标的在东方财富量化系统里的证券代码.
    • 如上图所示, 逆回购 R-007 时, symbol 字段填写应为对应的东方财富量化系统证券代码: SZSE.131801
注意事项
  • 205206 为券商发起的强制平仓业务, 用户不能操作
  • 400 (逆回购) 时, volume (委托量) 字段的取值说明:
    • 上海市场, voluem 应设置为 100 的整数倍
    • 深圳市场, volume 应设置为 1000 的整数倍
    • order_type (委托类型) 字段应为 1限价
  • 100 (新股申购) 时, volume (委托量) 字段应为 1000 的整数倍, price (委托价格) 字段应填写新股发行价,order_type (委托类型) 字段应为 1限价

输出数据文件规范

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

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

csv 格式

交易账户资金数据

  • 文件名称:cash.csv
  • 刷新方式:整文件刷新
字段参数名 类型 说明
account_id string 东方财富量化交易账号ID
market_value(market_val) number 持仓市值
nav number 净值
pnl number 净收益
fpnl number 浮动盈亏
frozen number 持仓占用资金
available number 可用资金
balance number 资金余额
created_at datetime 资金初始时间
updated_at datetime 资金变更时间
recv_at datetime 终端接收时间
order_frozen(ord_frozen) number 冻结资金

交易账户持仓数据

  • 文件名称:position.csv
  • 刷新方式:整文件刷新
字段参数名 类型 说明
account_id string 东方财富量化交易账号ID
symbol string 标的代码, 格式: 市场.代码 例如:平安银行 SZSE.000001 浦发银行 SHSE.600000
side number 持仓方向
volume number 总持仓量;
volume_today(vol_today) number 今日持仓量
vwap number 持仓均价
vwap_diluted(vwap_dild) number 摊薄持仓均价
market_value(market_val) number 持仓市值
price number 当前行情价格
fpnl number 持仓浮动盈亏
cost number 持仓成本
available_now(avl_now) number 当前可平仓位(根据标的的T+N属性计算)
created_at datetime 建仓时间(实盘为当前日期和时间)
updated_at datetime 仓位变更时间(实盘为当前日期和时间)
recv_at datetime 终端接收时间

日内委托数据

  • 文件名称:order_status.csv
  • 刷新方式:整文件刷新
字段名 类型 说明
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_business(order_biz) number 委托业务属性
status number 委托状态 已报为 1,部成为 2,全成为 3,已撤为 5,拒绝为 8,待报为 10
ord_rej_reason(rej_reason) number 委托拒绝原因
ord_rej_reason_detail(rej_detail) string 委托拒绝原因描述
price number 委托价格
volume number 委托量
filled_volume(filled_vol) number 已成量
created_at datetime 委托创建时间
updated_at datetime 委托更新时间
sent_at datetime 委托(终端)发送时间
recv_at datetime 委托(终端)确认(状态变为已报)时间
filled_vwap(filledvwap) number 已成交均价
filled_amount(filled_amt) number 已成交金额

委托执行回报数据

  • 文件名称:execution_report.csv
  • 刷新方式:启动同步账户成交数据,新数据在文件末尾追加
字段名 类型 说明
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_business(order_biz) number 委托业务属性
ord_rej_reason(rej_reason) number 委托拒绝原因
ord_rej_reason_detail(rej_detail) string 委托拒绝原因描述
exec_type number 执行回报类型 成交为 15, 撤单拒绝为 19
price number 委托成交价格
volume number 委托成交量
created_at datetime 回报创建时间
recv_at datetime 终端接收时间
amount number 委托成交金额

委托状态变更流水记录

  • 文件名称:order_status_change.csv
  • 刷新方式:文件末尾追加
字段名 类型 说明
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_business(order_biz) number 委托业务属性
status number 委托状态 已报为 1,部成为 2,全成为 3,已撤为 5,拒绝为 8,待报为 10
ord_rej_reason(rej_reason) number 委托拒绝原因
ord_rej_reason_detail(rej_detail) string 委托拒绝原因描述
price number 委托价格
volume number 委托量
filled_volume(filled_vol) number 已成量
created_at datetime 委托创建时间
updated_at datetime 委托更新时间
sent_at datetime 委托(终端)发送时间
recv_at datetime 委托(终端)确认(状态变为已报)时间
filled_vwap(filledvwap) number 已成交均价
filled_amount(filled_amt) number 已成交金额

功能号执行结果数据

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