PDF下载 下载

csv 文件单

阅读 5886

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 备注说明, 不需要时可给空字符串.

指令: 算法交易委托

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

文件单命名规范
  • 后缀命名方式: *.algo_order.csv
字段定义说明
字段参数名 类型 必填 说明
sid string 用户策略定义的交易指令ID, 唯一性, 不可重复使用. 在算法交易里, 为算法交易母单的sid
account_id string 掘金交易账号ID
symbol string 标的代码, 格式: 市场.代码 例如:平安银行 SZSE.000001 浦发银行 SHSE.600000
algo_name string 算法名称: TWAP, VWAP, ATS-SMART
algo_param string 算法参数. 不同算法有不同的参数, 具体写法请参考下文的 算法及其算法参数说明.
order_type string 委托类型, 请参考下面的数据字典定义
order_business(order_biz) string 委托业务类型, 请参考下面的数据字典定义 注:参数名必须带括号里面的字段
volume number 委托量, 整数
price number 委托价格. 当委托类型为限价单时, 必填
comment string 备注说明, 不需要时可给空字符串.
算法及其算法参数说明
TWAP 和 VWAP
  • TWAP算法:时间条件优先,能够较高效率的完成拆单任务,用于对时间要求比较高的算法委托任务
  • VWAP算法:市场成交量条件优先,能够更充分的考虑当前市场流动情况,算法决策自由度较大,较高效率避免瞬时冲击成本,用于大单量且价格敏感的算法委托任务
TWAP 和 VWAP 的算法参数

TWAP 和 VWAP 这2种算法要求的参数是一致的

  • start_time : 开始时间, 策略开始执行的时间(剔除非交易时间段)。如果开始时间早于策略下达时间点时,则使用下达时间作为开始时间. 时间格式: HH:MM:SS, 例如: 13:50:00 下午 1点50分
  • end_time : 结束时间, 策略停止执行的时间(剔除非交易时间段)。过了结束时间还未完成的数量,将会自动释放到指令。算法执行的区间段,时间越短,任务执行强度(委托频率和单笔委托量)越高. 时间格式: HH:MM:SS, 例如: 14:15:00 下午 2点15分
  • part_rate : 量比比例, 策略的成交数量与策略执行期间市场的总成交量(不包括策略执行之前和结束之后的市场成交量)之比。对于跟量和跟价策略,量比比例参数是作为目标比例来参考;而对于其它策略,是作为上限来控制. 取值范围, 大于0 且 小于 1 的小数.
  • min_amount : 委托最小金额, 控制子单单笔委托的最小金额, 该参数只适用于股票。A股单位为元
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股单位为元
algo_param 字段格式
  • 格式规范 arg_name=arg_value, 之间采用 & 号隔开
  • 参考示例:
    • TWAP 算法参数示例: start_time=13:50:00&end_time=14:00:00&part_rate=1.0&min_amount=0
    • 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

指令: 算法交易控制

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

注意: 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)
2 市价
22 市价, 即时成交剩余撤销 (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)
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
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
order_type number 委托类型 参见
order_business(order_biz) number 委托业务属性 参见
status number 委托状态 参见
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
order_type number 委托类型 参见
order_business(order_biz) number 委托业务属性 参见
ord_rej_reason(rej_reason) number 委托拒绝原因 参见
ord_rej_reason_detail(rej_detail) string 委托拒绝原因描述
exec_type number 执行回报类型 参见
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
order_type number 委托类型 参见
order_business(order_biz) number 委托业务属性 参见
status number 委托状态 参见
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 终端接收时间
0 篇笔记