Discussing the article: "Porting the Canonical Catch22 Time-Series Feature Set and Testing It on Volatility Regimes"
MetaQuotes:
Great article - thanks to you and those who contributed
Check out the new article: Porting the Canonical Catch22 Time-Series Feature Set and Testing It on Volatility Regimes.
Author: Muhammad Minhas Qamar
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Check out the new article: Porting the Canonical Catch22 Time-Series Feature Set and Testing It on Volatility Regimes.
We present a native MQL5 implementation of the catch22 feature set: all 22 canonical time-series characteristics in a reusable class validated against pycatch22. Using a leak-free pipeline (chronological split, purging, embargo), we run a three-arm ablation—classic indicators, catch22, and combined—for volatility-regime classification. Finally, we deploy the combined model as a Strategy Tester regime filter to quantify its impact on a simple baseline strategy.
Ask ten algorithmic traders how they turn a price series into features for a machine-learning model, and you will get ten different ad hoc answers: the last few returns, an RSI reading, a moving-average slope, maybe an ATR. Each is a single, hand-picked view of the data. It is chosen for familiarity, not because it is known to be informative. Most retail-trading feature sets are assembled by habit. It is often unclear whether the twelve indicators on the chart capture the structure of the series or merely restate the same three facts in different units.
There is a body of work in the wider time-series community built precisely to escape this guesswork, and it is almost entirely absent from the MQL5 landscape. Over the last decade, researchers assembled hctsa, a library of more than seven thousand time-series features drawn from physics, statistics, information theory, and signal processing. They then asked a hard empirical question: across a large and diverse collection of real classification problems, which of those features actually carry their weight, and which merely duplicate others? The answer, published by Lubba and colleagues in 2019, is a curated set of twenty-two features called catch22 (CAnonical Time-series CHaracteristics): a small, deliberately non-redundant panel that retains most of the discriminative power of the full library at a fraction of the cost.
catch22 is not a collection of trading indicators. It is a compact, principled description of what a time series is doing: how its values are distributed, how quickly it decorrelates, whether it oscillates, how its extremes are timed, how it scales, how predictable it is. That vocabulary is exactly what a model needs to tell one market condition from another, and it has never, to my knowledge, been ported to native MQL5.
In this article we build catch22 from scratch in pure MQL5, with no Python bridge and no external dependencies beyond the ALGLIB library that ships with the terminal. We implement all twenty-two features in a single reusable class, validate them against the reference Python implementation, and then put them to work. Rather than the usual and mostly futile exercise of predicting price direction, we aim the feature set at a task it was actually designed for: classifying the volatility regime the market is about to enter. In a strictly leak-free experiment, we test whether catch22 adds real information on top of the classic indicators a trader already has. We then take the resulting model into the Strategy Tester as a regime filter on a simple strategy, and report honestly what it does and does not achieve.
Author: Muhammad Minhas Qamar