PDF下载 下载

算法交易

阅读 581

算法交易介绍

掘金算法交易采用云服务算法模式,相比策略级算法交易或者本地算法交易有以下特点:

  • 行情/交易延迟小,委托任务的拆单算法在券商专有机房云服务执行,专线行情+内网极速柜台接入
  • 算法可靠,服务级经典算法模型,tick级盘口分析,并提供多项控制参数
  • 运行稳定,执行过程的母单(原始委托任务)、子单(算法根据原始委托任务自动拆解的可执行委托)、回报实时推送到本地

基本规则

  • 算法交易工具仅支持股票交易
  • 部分终端版本无算法交易,以实际有算法交易的实盘为准
  • 算法交易自动拆解的子单等同于普通委托
  • 算法交易自动拆解的子单全部为限价单,且会在终端委托列表内同步显示
  • 算法交易仅管理维护本次任务算法拆解的子单,而不会参考其他等同条件下的其他单

下单面板

算法交易下单版

点击算法交易(如果版本支持算法交易),则弹出算法交易面板,如图
算法名称:下拉选择可供使用的算法名称,不同的算法应用于不同的交易需求,后续会不断增加算法模型

  • TWAP算法:时间条件优先,能够较高效率的完成拆单任务,用于对时间要求比较高的算法委托任务
  • VWAP算法:市场成交量条件优先,能够更充分的考虑当前市场流动情况,算法决策自由度较大,较高效率避免瞬时冲击成本,用于大单量且价格敏感的算法委托任务

开始时间:策略开始执行的时间(剔除非交易时间段)。如果开始时间早于策略下达时间点时,则使用下达时间作为开始时间
结束时间:策略停止执行的时间(剔除非交易时间段)。过了结束时间还未完成的数量,将会自动释放到指令。算法执行的区间段,时间越短,任务执行强度(委托频率和单笔委托量)越高。
量比比例:策略的成交数量与策略执行期间市场的总成交量(不包括策略执行之前和结束之后的市场成交量)之比。对于跟量和跟价策略,量比比例参数是作为目标比例来参考;而对于其它策略,是作为上限来控制
委托最小金额:控制子单单笔委托的最小金额 该参数只适用于股票。A股单位为元
基准价格:算法模型的参考基准价格,子单限价单价格不能超过该价格的不利价位方向;当填入价格为0时,则不设置基准价

任务列表

算法交易任务列表记录了母单任务列表及子单列表

算法交易任务列表

撤销母单:算法服务会进行撤销操作,撤销当前任务并取消所有未结子单
暂停母单:算法服务处于暂停状态,不在进行子单拆解
撤销子单:子单的独立撤销并不属于算法交易范畴,需要在普通委托的未结委托处进行撤销

交易接口

algo_order 委托交易算法单

aorders = algo_order(symbol, volume, side, order_type,position_effect, price, algo_name, algo_param)

参数 类型 说明
symbol str 标的代码
volume int 数量
side int OrderSide_Buy = 1 买入OrderSide_Sell = 2 卖出
order_type int OrderType_Limit = 1 限价委托,OrderType_Market = 2 市价委托
position_effect int PositionEffect_Open = 1 开仓PositionEffect_Close = 2 平仓,
price int 基准价格
algo_name str 算法名称,TWAP算法、VWAP算法
algo_param dict 算法参数,由开始时间、结束时间、量比比例、委托最小金额

接口示例

  1. # 下算法母单,设定母单的执行参数
  2. algo_param = {'time_start': '14:00:00','time_end': '15:00:00','part_rate': 0.5, 'min_amount': 1000}
  3. aorders = algo_order(symbol='SHSE.600000', volume=2000, side=OrderSide_Buy, order_type=OrderSide_Buy,
  4. position_effect=PositionEffect_Open, price=12.45, algo_name=algo_name, algo_param=algo_param)

注意:回测模式不支持算法单

algo_order_cancel 撤销母单接口

algo_order_cancel(wait_cancel_orders,account)
| 参数 | 类型 | 说明 |
| —————— | —————— | —————— |
| wait_cancel_orders | str | 撤单算法委托. 传入单个字典. 或者list字典. 每个字典包含key:cl_ord_id |
| account | str | account_id 默认帐号时为 ‘’ |

示例

  1. algo_order_cancel(wait_cancel_orders)

aorders = get_algo_orders 查询母单

algo_order_cancel(account)

参数 类型 说明
account str account_id 默认帐号时为 ‘’

示例

  1. aorders = get_algo_orders(account='')

algo_order_pause 暂停或启动算法单

algo_order_pause(alorders,account)

参数 类型 说明
alorders str 传入单个字典. 或者list字典. 每个字典包含key:cl_ord_id
account str account_id 默认帐号时为 ‘’
status int 1 - 重启 - - Mus 2 - 暂停 3 -暂停并撤子单

get_algo_child_orders 查询母单的所有子单

get_algo_child_orders(cl_ord_id, account='')

参数 类型 说明
cl_ord_id str 传入单个字典. 或者list字典. 每个字典包含key:cl_ord_id
account str account_id 默认帐号时为 ‘’
status int 1 - 重启 - - Mus 2 - 暂停 3 -暂停并撤子单
0 篇笔记