csv 文件单
阅读 22756
更新 2023-02-18 11:54:07
csv 文件单
用户策略通过文件的形式向终端提交委托指令,同时也是通过文件的形式,获取相关的交易数据反馈。本规范分别对作为输入的文件单和作为输出的数据文件的格式规范进行描述。
输入文件单规范
示例 |
后缀部分 |
文件格式 |
指令种类 |
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)
指令:委托交易
文件单命名规范
字段定义说明
字段参数名 |
类型 |
必填 |
说明 |
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 |
否 |
备注说明, 不需要时可给空字符串. |
指令: 算法交易委托
关于 算法交易, 请参考文档: 算法交易
文件单命名规范
字段定义说明
字段参数名 |
类型 |
必填 |
说明 |
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 |
否 |
备注说明, 不需要时可给空字符串. |
算法及其算法参数说明
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.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) |
|
|
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 |
可转债回售撤销 |
补充说明
注意事项
205
、206
为券商发起的强制平仓业务, 用户不能操作400
(逆回购) 时, volume (委托量) 字段的取值说明:
- 上海市场, voluem 应设置为 10 的整数倍
- 深圳市场, volume 应设置为 10 的整数倍
- order_type (委托类型) 字段应为 1限价
100
(新股申购) 时, volume (委托量) 字段应为 100 的整数倍, price (委托价格) 字段应填写新股发行价,order_type (委托类型) 字段应为 1限价
输出数据文件规范
在文件单输出配置里面,配置并开启了指定交易账户的文件单输出后,会在文件单的输出目录下,已指定交易账户的 ID 为名称创建子目录,在此子目录下输出需要的交易反馈数据。文件名称与数据类别对应关系请看下表,文件格式和规范参考下文。
csv 格式文件名 |
说明 |
cash.csv |
交易账户资金数据 |
position.csv |
交易账户持仓数据 |
order_status.csv |
日内委托数据 |
execution_report.csv |
委托执行回报数据 |
order_status_change.csv |
委托状态变更流水记录 |
func_response.csv |
功能号执行结果数据 |
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_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 |
终端接收时间 |