FreqAI: generalizing adaptive modeling for chaotic time-series market forecasts

ed overview of FreqAI algorithm Connecting machine learning libraries Although the FreqAI framework is designed to accommodate any Python library in the “Model training” and “Feature set engineering” portions of the software (Figure 1), it already boasts a wide range of well documented examples based on various combinations of: • scikit-learn (Pedregosa et al., 2011), Catboost (Prokhorenkova et al., 2018), LightGBM (Ke et al., 2017), XGBoost (Chen & Guestrin, 2016), stable_baselines3 (Raffin et al., 2021), openai gym (Brockman et al., 2016), tensorflow (Abadi et al., 2015), pytorch (Paszke et al., 2019), Scipy (Virtanen et al., 2020), Numpy (Harris et al., 2020), and pandas (McKinney & others, 2010). These mature projects contain a wide range of peer-reviewed and industry standard methods, including: • Regression, Classification, Neural Networks, Reinforcement Learning, Support Vector Machines, Principal Component Analysis, point clustering, and much more. which are all leveraged in FreqAI for users to use as templates or extend with their own methods. Furnishing novel methods and features Beyond the industry standard methods available through external libraries FreqAI includes novel methods which are not available anywhere else in the open-source (or scientific) world. For example, FreqAI provides : • a custom algorithm/methodology for adaptive modeling details here and here • rapid and self-monitored feature engineering tools, details here • unique model features/indicators, such as the inlier metric • optimized data collection/storage algorithms, all code shown here • safely integrated outlier detection methods, details here • websocket communicated forecasts, details here Of particular interest for researchers, FreqAI provides the option of large scale experimentation via an optimized websocket communications interface. Optimizing the back-end FreqAI aims to make it simple for users to combine all the above tools to run studies based in two distinct modules: Caulk et al. (2022). FreqAI: generalizing adaptive modeling for chaotic time-series market forecasts. Journal of Open Source Software, 7(80), 4864. https://doi.org/10.21105/joss.04864. 2 • backtesting studies • live-deployments Both of these modules and their respective data management systems are built on top of Freqtrade, a mature and actively developed cryptocurrency trading software. This means that FreqAI benefits from a wide range of tangential/disparate feature developments such as: • FreqUI, a graphical interface for backtesting and live monitoring • telegram control • robust database handling • futures/leverage trading • dollar cost averaging • trading strategy handling • a variety of free data sources via CCXT (FTX, Binance, Kucoin etc.) These features derive from a strong external developer community that shares in the benefit and stability of a communal CI (Continuous Integration) system. Beyond the developer community, FreqAI benefits strongly from the userbase of Freqtrade, where most FreqAI beta-testers/developers originated. This symbiotic relationship between Freqtrade and FreqAI ignited a thoroughly tested beta, which demanded a four month beta and comprehensive documentation containing: • numerous example scripts • a full parameter table • methodological descriptions • high-resolution diagrams/figures • detailed parameter setting recommendations Providing a reproducible foundation for researchers FreqAI provides an extensible, robust, framework for researchers and citizen data scientists. The FreqAI sandbox enables rapid conception and testing of exotic hypotheses. From a research perspective, FreqAI handles the multitude of logistics associated with live deployments, historical backtesting, and feature engineering. With FreqAI, researchers can focus on their primary interests of feature engineering and hypothesis testing rather than figuring out how to collect and handle data. Further the well maintained and easily installed open-source framework of FreqAI enables reproducible scientific studies. This reproducibility component is essential to general scientific advancement in time-series forecasting for chaotic systems.