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