QTEASY 2.0 Migration Guide
This guide summarizes changes and improvements in QTEASY 2.0 and how to migrate existing code.
Major improvements in QTEASY 2.0
New
Parameterclass for strategy parameters;OperatoracceptsParameterinstances and supports flexible per-symbol parameter values.New
Groupclass for strategy groups; each group can have its own run frequency, timing, and blender for more flexible execution.Improved
Operatorrunning schedule: finer-grained timing per group for more accurate backtests; groups can run at different frequencies and times.Strategies can use multiple frequencies and window lengths in one run; data is fetched and assigned more efficiently.
Backtest and optimization are faster and use system resources better, especially with multiprocessing.
Operatortracing mode: define trace points in strategies; trace output is saved in trade logs.Simpler
realize()API for history data and parameters with user-defined names.More optimization algorithms for different parameter spaces and faster optimization.
Richer evaluation metrics and clearer analysis for backtest/optimization results.
Removed or changed configuration parameters
The following keys were removed from built-in config in 2.0. Passing any of them with qt.configure(..., only_built_in_keys=True) raises KeyError.
Removed configuration keys
Config key |
Notes and alternatives |
|---|---|
maximize_cash_usage |
Removed. Maximizing reuse of cash from the same batch is handled inside trade execution; no replacement key—remove it. |
benchmark_asset_type |
Removed. Benchmark asset type is inferred from |
benchmark_dtype |
Removed. Benchmark price type is inferred from the schedule and data source; set |
Changed configuration keys
This release only removes keys; no renames or merges.
Upgrade checklist
Search
qteasy.cfgor your config and remove the three keys above.Remove
qt.configure(..., maximize_cash_usage=...),benchmark_asset_type, andbenchmark_dtypefrom code.Confirm backtests/optimization work with
benchmark_assetalone.
Breaking changes
In 2.0, qt.configure(..., only_built_in_keys=True) with any removed key raises KeyError. With only_built_in_keys=False, keys may be stored but are ignored at runtime.