BigQuant使用文档

交易终端上线文件单功能

由qxiao创建,最终由small_q 被浏览 12 用户

功能描述

本功能实现了从云端(bigquant.com)策略信号生成到终端自动获取并下单的完整闭环。用户在BigQuant云端平台运行量化策略后,系统会自动生成交易信号,用户在本地终端通过Python程序自动获取这些信号,最终将信号保存到文件单目录,实现下单功能。

此功能旨在提升量化交易的效率和自动化程度,减少人工干预,确保交易信号能够快速、准确地执行。

\

功能流程图

详细流程如下:

1.用户在宽邦科技的bigquant平台上开发策略;

2.用户将策略提交模拟交易,可产生信号;

3.用户在本地电脑打开交易终端,并开启文件单功能;

4.用户在本地通过程序获取模拟交易的信号,并将信号写入文件单目录;

5.交易终端定时扫描文件单目录下的信号并执行,执行完成后删除信号文件;

\

功能截图

打开交易终端,有个提个Tab窗口,名称为文件单。

目录是你的文件夹位置,源文件是程序写入的信号文件,扫描间隔是终端扫描的频率,一旦new_order.txt产生,10ms后就被执行了。输出文件是指信号执行后,会更新订单、成交等文件。

执行状态是指当前文件单功能是否开启,开启后可以通过操作使其停止。

本地程序示例代码

在本地电脑上需要程序执行自动交易,主要两部分逻辑:

1、本地获取交易信号

2、设置定时运行,将交易信号按既定格式写入文件单目录

完整代码见下,可直接克隆,代码里的账户、凭证、策略id需要手动填写

https://bigquant.com/codesharev3/04e2f866-6d4c-4989-bd36-648c682a6d37

\

功能优势

  1. 高效性 :从信号生成到下单全程自动化,实现策略交易的全托管,实现交易的零操心。
  2. 可靠性 :支持断点续传和重试机制,确保信号不丢失、订单可靠执行。
  3. 灵活性 :支持多种交易平台对接,满足不同用户需求。
  4. 易用性 :用户只需专注于策略开发,无需关心底层通信和下单逻辑。

\

FAQ

Q:当前支持哪些券商\nA:目前是万和证券,所以开户需要再万和证券,交易终端需要在万和官网下载

Q: 文件单支持bigquant平台什么类型的策略的自动执行?

A: 日频策略和日内策略都支持,只要模拟交易信号产生,本地程序能获取就可以直接下单,因此日频的策略或者分钟、tick策略都能自动交易,只是本文档的例子是日频策略。

Q:如何保证信号获取的实时性?\nA:日频策略的话,不存在延时,因为是8点早上就委托下单;高频实时策略的话,延时在10秒以内

Q: 如果遇到无法成交的情形,如何处理?\nA:未成交单需要手动撤回并追单,为减低不成交的概率,下单价格可适当浮动下。当然,你也可以本地python程序通过成交信息判断来自动撤单和追单

Q: 什么情况下,策略信号会每天自动运行?

A:只要交易终端开着的,本地程序是运行状态,本地电脑网络无故障,那么策略信号就能天天执行,实现交易零操心。

Q: 文件单是什么机制?\nA: 交易终端会实时扫描对应目录下 new_order.txt的文件,如果存在该文件,就下单并删除txt,订单成交后会更新到当日委托和当日成交的txt文件中,因此用户可通过python程序查询委托和成交情况。更多请参考下文的《技术细节及使用介绍》

Q: 本地程序可以查询委托和撤单吗?

A:可以的,在file_order目录下有多个文件。file_order_exec.log是文件单执行的日志,order_data.txt是委托文件,trade_data是成交文件,position_data是持仓文件,都是可以python读取的。

Q:文件单功能可以关闭吗?

A:可以的,在交易终端上手动关闭即可。只有处于启动状态,才能实现信号的自动交易,一旦关闭就不会自动执行信号。

\

技术细节及使用介绍

使用文件单服务交易时,需要先在交易终端软件上“文件单”Tab页上启动文件单服务,文件单默认路径为交易终端程序根目录下的 file_order 目录下。策略程序和文件单服务间通过该目录下的订单导入文件 “new_order.txt” 文本文件进行通讯,策略程序通过写入报单指令或撤单指令完成交易需求。可以进行文件单相关配置编辑,或者停止/删除文件单服务,停止或删除后,文件单服务不会再扫描目录下的订单文件,当然也不会再导出相关资产数据。

交易数据交互图:

策略程序 <---> 订单文件 <---> 交易终端 <------> 券商服务器 <---> 交易所

一、文件单内容说明:

每一行内容第一个字段为指令类型且以 \n 结尾,即为一笔指令,可能是报单指令,也可能是撤单指令

每一行内容的各个字段默认以 ',' 英文逗号分隔,各字段的顺序见下文说明

一次可写入多行内容

文件单最后一行内容必须是 "end" 结尾,用于表明本次文件写入结束

文件单服务读取到 end 后,会依次处理每笔订单请求,处理完成后,会将文件删除。因此当文件存在时,表明文件单服务处理订单文件未完成,此时不可再新写入新指令至订单文件中

每笔指令中各个字段的顺序是固定的,非必须字段不填值时,需要留空占一个位置

报单指令说明,第一个字段必须是 "order":

买入下单参数示例:order,2100000597,20250103,000001.SZ,1,0,0, ,200,10.2,file_order,0,0,150001

卖出下单参数示例:order,2100000597,20250103,000001.SZ,2,1,0, ,200,10.2,file_order,0,0,150002

下单字段说明:

order

资金账号

交易日(非必须),格式:YYYYmmdd

交易标的,如 000001.SZ

买卖方向,'1'-买入,'2'-卖出

开平标志(期货/期权)(非必须),'0'-开仓,'1'-平仓,'2'-平今

投保标志(期货/期权)(非必须),'1'-投机

订单价格类型,0-限价,U-市价五档即成剩撤

订单数量

订单价格

策略标识(非必须),长度必须小于 16 字节

本地委托号(非必须)

请求ID(非必须)

有效截止时间(非必须),格式:YYYY-mm-dd HH:MM:SS 或 HHMMSS

下单补充说明:

策略标识(字段 11):主要可用于标识一个策略的所有订单,如填入 "Strategy1",之后所有的委托回报、成交回报中的 UserID 字段都会带上 "Strategy1",但此字段有长度限制,小于 16 字节

有效截止时间(字段 13):默认为空或0表示不检查,否则当程序扫描到该订单的时间大于有效截止时间时,此订单不会发出,该字段值可以是 HHMMSS,也可以是 YYYY-mm-dd HH:MM:SS。主要可用于下单服务重启后扫描到了很早之前下单的订单,但该订单的当前市场价格已不合适了

股票下单时,在连续竞价期间受价格笼子机制限制 2%,即限价单的买/卖价格不能超过最新价的102%/98%。在刚进入连续竞价时,如 09:30:00 或 13:00:00 时刻,价格波动可能会比较大,此时的下单价格浮动值设置不合理时很容易被交易所拒单或不成交

市价下单时,上交所市场需要输入保护价(填在订单价格字段上),而深交所不需要价格字段

关于上交所科创板下单数量,买入时只要 >= 200 即可,不要求整百数量

撤单指令说明,第一个字段必须是 "cancel":

撤单参数示例:cancel,2100000597,20250103,000001.SZ, 123,1_0_0,0,150001

撤单字段说明:

cancel

资金账号

交易日(非必须)

交易标的

报单编号(系统委托号) order_sysid(字段 5 和 6 不能同时为空)

本地订单唯一标识 order_key(字段 5 和 6 不能同时为空)

请求ID(非必须)

有效截止时间

批量撤单指令说明,第一个字段必须是 "cancel_all":

批量撤单参数示例:cancel_all,2100000597,20250103,000001.SZ,0

批量撤单字段说明:

cancel_all

资金账号

交易日(非必须)

交易标的(非必须)

有效截止时间(非必须)

批量撤单补充说明:

交易标的(字段 4):当指定了该标的时,文件单服务只会尝试撤销此标的下的所有挂单,否则会去撤销该账户下的所有挂单

其它指令说明:

export:文件单服务扫描到该指令时,会重新导出资产数据至导出文件中

二、文件单服务导出数据说明:

文件单服务启动时或退出时,会导出一次全量数据至文件中

文件单服务默认会导出账户资金fund_data.txt、账户持仓position_data.txt、当日委托order_data.txt、当日成交trade_data.txt,数据编码为 UTF-8

导出的数据中均有“交易日” 字段和更新时间字段,可以用于区分数据是否正常导出更新了,可避免使用到昨日过期的数据

当有订单更新/状态变化时,都会自动触发一次导出数据

需要撤单时,在 order_data.txt 中使用委托状态过滤出可撤销的委托,并将 order_sysid 和 order_key 字段填入撤单指令中

三、数据字典:

买卖方向:'1'-买入,'2'-卖出

开平标志(期货/期权):'0'-开仓,'1'-平仓,'2'-平今

投保标志(期货/期权):'1'-投机

订单价格类型:'0'-限价,'U'-市价五档即成剩撤

委托状态:0-未成交,1-部分成交,2-全部成交,3-部成部撤,4-全部撤单,5-废单,6-未知,10-未报,11-正报,12-待报,15-部分待撤,16-待撤单,17-已过期

四、注意事项:

文件单就是您的下单通道,因此不要随意写入数据至订单文件中

使用文件单时,一定要确保文件单服务已经开启



\

标签

量化交易交易信号
{link}