# QTEASY 2.0 版本迁移指引 本指引提供了 QTEASY 2.0 中的更改和改进的概述,以及如何将现有代码库迁移到新版本的说明。 ## QTEASY 2.0 中的主要改进 - 引入了新的 `Parameter` 类来表示策略参数,`Operator` 现在可以使用 `Parameter` 实例来指定它需要的参数,并且用户可以以更灵活的方式设置参数,包括为不同的符号设置不同的参数值。 - 引入了新的 `Group` 类来表示策略组,`Operator` 现在将策略分成不同的组,每个组可以有自己的运行频率、运行时间和混合器,因此策略可以以更灵活和强大的方式运行。 - 改进了操作员Operator类的运行时间表 running schedule,现在所有策略都以更细粒度的级别运行,允许更灵活的运行时间和更准确的回测结果,并且运行计划是每个策略组确定的,允许不同组的策略以不同的频率和时间运行。 - 改进了策略利用历史数据的方式,现在策略能够在同一运行中利用不同频率和窗口长度的数据,并且数据以更高效的方式提取和分配给策略。 - 改进了策略回测和优化的效率,现在回测和优化过程更高效,更好地利用系统资源,尤其是在使用多处理时性能显著提高。 - 引入了 `Operator` 中的跟踪模式(Tracing mode),允许用户通过在策略实现中定义跟踪点来更详细地跟踪每个策略组的回测结果,跟踪结果将保存在交易日志中。 - 简化了交易策略实现方法realization的定义,现在用户可以通过更简单的API以更直观的方式获取历史数据和参数,并且可以使用用户定义的名称。 - 引入了更多的交易策略优化算法,使得用户可以针对不同的交易策略参数空间选择更适合的优化算法,同时提高了策略优化对系统资源的利用率,提高了优化速度。 - 改进了交易策略回测 / 优化结果的评价分析流程,引入了更多的评价指标,提高了评价结果的直观性。 ## 已移除或变更的配置参数 / Removed or changed configuration parameters 以下配置键在 2.0 中已从内置配置中移除。若在 2.0 中仍通过 `qt.configure(..., only_built_in_keys=True)` 传入下列任一键,将触发 `KeyError`。 ### 删除的配置键 | 配置键 | 说明与替代方式 | |--------|----------------| | **maximize_cash_usage** | 已移除。回测时是否最大化利用同一批次交易获得的现金,已内聚到交易执行流程,不再通过配置暴露。无替代键,删除该键即可。 | | **benchmark_asset_type** | 已移除。基准资产类型现由 `benchmark_asset` 的代码与数据源自动推断。仅需设置 `benchmark_asset`。 | | **benchmark_dtype** | 已移除。基准价格类型由运行时间表与数据源自动推断。仅需设置 `benchmark_asset`。 | ### 变更的配置键 本次仅做删除,无重命名或合并类变更。 ### 升级操作建议 1. 在 `qteasy.cfg` 或自有配置中搜索并删除上述三个键。 2. 在代码中删除对 `qt.configure(..., maximize_cash_usage=...)`、`benchmark_asset_type`、`benchmark_dtype` 的传入。 3. 确认回测/优化仅依赖 `benchmark_asset` 即可得到正确基准。 ### 破坏性变更提示 在 2.0 中,若仍通过 `qt.configure(..., only_built_in_keys=True)` 传入上述任一已删除键,将触发 `KeyError`。使用 `only_built_in_keys=False` 时,这些键可被写入配置对象但不会参与任何运行逻辑。 --- ## Migration Steps / 版本迁移步骤 ### 针对自定义交易策略