Wang's blog

进阶 - 嵌套决策执行框架

Published on

简介

日间交易(如投资组合管理)与日内交易(如订单执行)是量化投资的两个热门主题,它们通常被分开研究。为了获得二者的联合交易性能,它们必须进行交互并且一起进行回测。为了支持这种多层次联合回测策略,需要一种对应的框架,但是目前没有公开可用的高频交易框架考虑这种情况,这使得此类回测并不准确。

除了回测,不同层次策略的优化也不是独立的,而是相互影响的。例如,最好的投资组合管理策略可能随着订单执行性能的变化而变化(随着订单执行策略的改进,高换手率的投资组合可能成为更好的选择)。为了达到整体最优性能,不同层次策略之间的交互是需要考虑的。

为了解决以上问题,需要建立一个能够在多个层次上进行交易的新框架。因此,Qlib设计了一个能够考虑策略间互动的嵌套决策执行框架。

架构图

上图中黄色部分为此框架。每个层次均包含交易代理(Trading Agent)与执行环境(Execution Env)。交易代理有自己的数据处理模块(Information Extractor)、预测模块(Forecast Model)和决策生成器(Decision Generator)。交易算法基于预测模块输出的预测信号,通过决策生成器生成决策,之后决策被送至执行环境,执行环境返回执行结果。

交易算法、决策内容与执行环境的频率可以由用户自定义,并且执行环境可以与内部更细粒度的交易算法与执行环境进行嵌套(即图中的子工作流)。例如,日间交易的订单可以通过订单拆分转换为日内的更细粒度的决策。嵌套决策执行框架的灵活性使得用户可以容易地探索结合不同层次交易策略的效果,并且打破交易算法不同层次之间的优化壁垒。

例子

一个使用嵌套决策执行框架的高频交易例子在这里

Qlib中其它有关高频交易的工作: