高频交易嵌套决策执行框架设计
介绍
日常交易(例如投资组合管理)和日内交易(例如订单执行)是量化投资中的两个热门话题,通常分别进行研究。
为了获取日间交易和日内交易的联合交易表现,它们必须相互交互并共同运行回测。 为了支持多层次的联合回测策略,需要一个相应的框架。目前公开的高频交易框架中没有一个考虑到多层次联合交易,这使得上述回测不准确。
除了回测,不同层次的策略优化并不是独立的,它们之间可能会相互影响。 例如,最佳的投资组合管理策略可能会随着订单执行的表现而变化(例如,当我们改进订单执行策略时,周转率更高的投资组合可能会成为更好的选择)。 为了实现整体良好的表现,有必要考虑不同层次策略之间的相互作用。
因此,为了解决上述各种问题,构建一个新的多层次交易框架变得必要,为此我们设计了一个考虑策略交互的嵌套决策执行框架。
框架的设计如上图中间的黄色部分所示。每个层级由Trading Agent和Execution Env组成。Trading Agent拥有自己的数据处理模块(Information Extractor)、预测模块(Forecast Model)和决策生成器(Decision Generator)。交易算法通过Decision Generator基于Forecast Module输出的预测信号生成决策,并将生成的决策传递给Execution Env,后者返回执行结果。
交易算法的频率、决策内容和执行环境可以由用户自定义(例如日内交易、每日频率交易、每周频率交易),并且执行环境可以嵌套更细粒度的交易算法和执行环境(即图中的子工作流,例如每日频率的订单可以通过在日内拆分订单变成更细粒度的决策)。嵌套决策执行框架的灵活性使用户能够轻松探索不同级别交易策略组合的效果,并打破交易算法不同级别之间的优化障碍。
嵌套决策执行框架的优化可以在QlibRL的支持下实现。要了解更多关于如何使用QlibRL的信息,请访问API参考:RL API。
示例
一个用于高频的嵌套决策执行框架的示例可以在这里找到。
此外,除了上述例子,这里还有一些关于Qlib中高频交易的其他相关工作。