Section outline

  • 高频交易中的嵌套决策执行框架设计


    简介

    日内交易(例如投资组合管理)和盘中交易(例如订单执行)是量化投资中的两个热门话题,通常是分开研究的。

    为了获得日内交易和盘中交易的联合交易表现,它们必须相互作用并联合运行回测。为了支持多个级别的联合回测策略,需要一个相应的框架。目前公开可用的高频交易框架都没有考虑多级别的联合交易,这使得上述回测不准确。

    除了回测,不同级别的策略优化也不是独立的,它们会相互影响。例如,最佳投资组合管理策略可能会随着订单执行性能的变化而改变(例如,当我们改进订单执行策略时,换手率更高的投资组合可能会成为更好的选择)。为了实现整体良好的性能,有必要考虑不同级别策略之间的相互作用。

    因此,为了解决上述各种问题,构建一个新的多级别交易框架变得很有必要。为此,我们设计了一个考虑策略相互作用的嵌套决策执行框架

    框架的设计如上图中间的黄色部分所示。每个级别都由 Trading AgentExecution Env 组成。Trading Agent 有其自己的数据处理模块 (Information Extractor)、预测模块 (Forecast Model) 和决策生成器 (Decision Generator)。交易算法根据 Forecast Module 输出的预测信号,通过 Decision Generator 生成决策,生成的决策被传递给 Execution Env,后者返回执行结果。

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

    嵌套决策执行框架的优化可以在 QlibRL 的支持下实现。要了解如何使用 QlibRL 的更多信息,请访问 API 参考:RL API


    示例

    高频嵌套决策执行框架的示例可以在这里找到。

    此外,除了上述示例,以下是一些关于 Qlib 中高频交易的其他相关工作。

    • 使用高频数据进行预测

    • 从非固定频率的高频数据中提取特征的示例

    • 一篇关于高频交易的论文