目前市面上存在着较多程序化交易平台,但少有平台能符合以下需求
我们自己CTA交易业务有以上需求,但又无法找到合适的商用平台。为了开展量化交易业务,我们自己开发了全套程序。
量化交易系统分为 预测 和 执行 两个部分。
执行部分由交易管理终端 Trading Terminal-代号Enterprise 组成。
预测部分由策略管理终端 Strategy Terminal-代号Discovery 和 策略框架 Strategy Framework-代号pyDiscovery 组成。
系统架构如下:
Trading Terminal 首要目标是为程序化交易员/数据科学家/量化投资研究员提供一个通用的、不限制策略语言的交易执行终端,策略可以用通用计算机语言(策略支持python, c++, c#, java, matlab ...)编写;第二目标是为一般投资者提供一个算法交易和套利交易的终端,以便降低交易难度。
Trading Terminal 当前版本代号为Enterprise(以下简称Enterprise),全部功能免费使用,对增值服务进行收费。增值服务包括:定制算法交易和定制软件功能。
安全、稳定优先,兼顾速度
基于安全的理念下,程序做了如下处理
基于稳定的理念下,程序做了如下处理
用户下达的交易指令
根据算法交易拆成N张逻辑单
每张逻辑单根据交易所 开仓/平仓/平今仓 拆成N张最终实体单
项目 | 推荐 |
---|---|
操作系统 | Windows Server 2016 |
开发工具 | Microsoft Visual Studio 2017 |
数据库 | mysql-5.7 |
消息中间件 | zeromq-4.2.2 |
日志库 | glog-0.4.0 |
项目 | 推荐 |
---|---|
操作系统 | Windows Server 2016 |
运行时 | Microsoft Visual C++ 2017 Redistributable (x64) |
数据库 | mysql 5.7 |
建议严格按照运行环境表格中的环境来配置系统,确保不出现兼容性问题
DEL order_id
DEL 1
BUY/SELL INSTRUMENT_ID LOTS AT PRICE
BUY/SELL INSTRUMENT_ID LOTS BY LIMIT AT PRICE
BUY IF1501 1 AT 3608.2
BUY IF1501 1 BY LIMIT AT 3608.2
参数类型 | 参数名称 | 数值类型 | 说明 |
---|---|---|---|
指令参数 | AT | double | 限价指令中的价格 |
适用于不是必须要执行的交易,只有价格满足条件了才执行
BUY/SELL INSTRUMENT_ID LOTS
BUY/SELL INSTRUMENT_ID LOTS BY MARKET
BUY IF1501 1
BUY IF1501 1 BY MARKET
参数类型 | 参数名称 | 数值类型 | 说明 |
---|---|---|---|
配置参数 | chunk_size | int | 当指令数量大于此数量时,大于的部分会被递延交易 |
配置参数 | delay_time | int | 递延时间 |
适用于交易标的流动性较好且对交易执行时间较为急迫的场景,希望立刻执行掉交易
无
BUY/SELL INSTRUMENT_ID LOTS BY BEST
BUY IF1501 1 BY BEST
参数类型 | 参数名称 | 数值类型 | 说明 |
---|---|---|---|
配置参数 | chunk_size | int | 当指令数量大于此数量时,大于的部分会被递延交易 |
配置参数 | delay_time | int | 递延时间 |
配置参数 | wait_time | int | 用最优价下单的时间 |
配置参数 | cancel_time | int | 撤单的间隔 |
适用于对交易执行不是非常急迫,希望通过挂单拿到更好价格的场景,当一定时间拿不到订单后,尝试去主动吃单
BUY/SELL INSTRUMENT_ID1-INSTRUMENT_ID2 LOTS
BUY/SELL INSTRUMENT_ID1-INSTRUMENT_ID2:MULTIPLE1/MULTIPLE2 LOTS
BUY/SELL INSTRUMENT_ID1-INSTRUMENT_ID2 LOTS BY MARKET
BUY/SELL INSTRUMENT_ID1-INSTRUMENT_ID2:MULTIPLE1/MULTIPLE2 LOTS BY MARKET
BUY/SELL INSTRUMENT_ID1/INSTRUMENT_ID2 LOTS
BUY/SELL INSTRUMENT_ID1/INSTRUMENT_ID2:MULTIPLE1/MULTIPLE2 LOTS
BUY/SELL INSTRUMENT_ID1/INSTRUMENT_ID2 LOTS BY MARKET
BUY/SELL INSTRUMENT_ID1/INSTRUMENT_ID2:MULTIPLE1/MULTIPLE2 LOTS BY MARKET
BUY IF1501-IF1502 2 会买入2手IF1501,卖出2手IF1502
BUY J1905-JM1905:1-2 5 会买入5手J1905,卖出10手JM1905
无
当标的行情非常大时,希望不计代价立即执行套利交易
无
BUY/SELL INSTRUMENT_ID1-INSTRUMENT_ID2:MULTIPLE1/MULTIPLE2 LOTS AT PRICE
BUY/SELL INSTRUMENT_ID1-INSTRUMENT_ID2:MULTIPLE1/MULTIPLE2 LOTS BY LIMIT AT PRICEBUY/SELL INSTRUMENT_ID1/INSTRUMENT_ID2:MULTIPLE1/MULTIPLE2 LOTS AT PRICE
BUY/SELL INSTRUMENT_ID1/INSTRUMENT_ID2:MULTIPLE1/MULTIPLE2 LOTS BY LIMIT AT PRICE
BUY IF1501-IF1502 2 AT 15.0
当以IF1501-IF1502价差<=15.0时,以同步的方式用涨跌停价下单 IF1501和IF1502BUY J1905-JM1905:1-2 2 AT 15.0
以同步的方式下单J1905和JM1905,合约比例为1比2
参数类型 | 参数名称 | 数值类型 | 说明 |
---|---|---|---|
指令参数 | AT | double | 限价指令中的价格 |
适用于标的流动性较好的场景
BUY/SELL INSTRUMENT_ID1-INSTRUMENT_ID2 LOTS BY BEST PRIOR INSTRUMENT_ID
BUY/SELL INSTRUMENT_ID1-INSTRUMENT_ID2:MULTIPLE1-MULTIPLE2 LOTS BY BEST PRIOR INSTRUMENT_ID
BUY/SELL INSTRUMENT_ID1-INSTRUMENT_ID2 LOTS BY ASYNC AT PRICE PRIOR INSTRUMENT_ID
BUY/SELL INSTRUMENT_ID1-INSTRUMENT_ID2:MULTIPLE1-MULTIPLE2 LOTS BY ASYNC AT PRICE PRIOR INSTRUMENT_ID
BUY IF1501-IF1502 2 BY ASYNC AT 15.0 PRIOR IF1502
以异步的方式套利,当IF1502盘口的对手价满足价差时,以对手价去下单,不成交就撤单,根据成交情况动态以IF1501进行对冲
参数类型 | 参数名称 | 数值类型 | 说明 |
---|---|---|---|
指令参数 | AT | double | 限价指令中的价格 |
指令参数 | PRIOR | string | 优先成交的合约 |
适用于标的流动性较差的场景
当流动性较差时,当以市价或涨停价下单时,成交价格存在着很大的不确定性。异步限价套利指令提供了一个尝试以对手价下单的算法。如果对手价拿到了,则用另一个合约去对冲。如果没拿到,且价差不符合要求时,会撤单。
BUY/SELL INSTRUMENT_ID1-INSTRUMENT_ID2 LOTS BY MM AT PRICE PRIOR INSTRUMENT_ID
BUY/SELL INSTRUMENT_ID1-INSTRUMENT_ID2:MULTIPLE1/MULTIPLE2 LOTS BY MM AT PRICE PRIOR INSTRUMENT_IDBUY/SELL INSTRUMENT_ID1/INSTRUMENT_ID2 LOTS BY MM AT PRICE PRIOR INSTRUMENT_ID
BUY/SELL INSTRUMENT_ID1/INSTRUMENT_ID2:MULTIPLE1/MULTIPLE2 LOTS BY MM AT PRICE PRIOR INSTRUMENT_IDMM : Make Market
BUY IF1501-IF1502 2 BY MM AT 15.0 PRIOR IF1502
以做市的方式进行套利,假设IF1502流动性较差(甚至没有报价),根据价差测算挂单位置,先挂单IF1502,根据挂单成交情况动态以IF1501进行对冲
参数类型 | 参数名称 | 数值类型 | 说明 |
---|---|---|---|
指令参数 | AT | double | 限价指令中的价格 |
指令参数 | PRIOR | string | 优先成交的合约 |
适用于标的流动性极差的场景
流动性较差的品种挂单较少甚至没有报价,套利者根据流动性较好的合约加上价差计算出他能接受的价格,套利者按照这个价格挂单到市场,然后拿到多少手就用另一个流动性较好的合约去对冲
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。