HFM model tournament: corrected historical research rerun Download and unzip historical-corrected-bundle.zip in an empty directory. The archive includes the research code, regression tests and the generated historical_corrected.json. It does not include exchange data or model weights. The original run used Python 3.14.6 and these package versions: numpy 2.5.3, pandas 3.0.5, scipy 1.18.1, scikit-learn 1.9.1, lightgbm 4.7.0, pyarrow 25.0.1. pytest is required for the included tests. Set up an isolated Python environment and install those versions. For the later exploratory extension also install xgboost 3.4.1 and catboost 1.2.10. Matplotlib is required to render the figures. To obtain the research slice from Bybit's public REST API, run: python scripts/prepare_bybit_article_data.py For a single-symbol check, use: python scripts/prepare_bybit_article_data.py --symbol BTCUSDT The downloader reconstructs the timestamp ranges observed in the original snapshot, including missing bars, then verifies a semantic SHA-256 fingerprint of timestamp, open and close. A changed or unavailable candle causes a failure; no unverified file is saved. The full download can take a long time and may be restricted in some regions. Existing files are skipped only when they match the slice fingerprint; other existing files are never overwritten. Data source: https://bybit-exchange.github.io/docs/v5/market/kline Alternatively, place the 16 original Bybit linear perpetual kline files at: data/bybit/linear/kline//15.parquet Each file must have ts, open and close columns. Symbols and SHA-256 hashes of the complete original files are listed in reports/model_tournament/v1/ historical_corrected.json under inputs. The hashes include dates outside the research window, so the verified downloaded slice will not match those full-file hashes. The slice manifest instead verifies the timestamp/open/close values used in the experiment. Raw market data are not redistributed in this bundle; exact reproduction depends on Bybit continuing to serve matching historical values. From the extracted directory run: python -m pytest tests/test_tournament_historical_data.py tests/test_tournament_portfolio_proxy.py scripts/test_prepare_bybit_article_data.py -q python scripts/backtest_tournament_corrected.py python scripts/analyze_tournament_sensitivity.py python scripts/backtest_tournament_extra_boosters.py python scripts/audit_tournament_portfolio.py python scripts/plot_tournament_article.py figures python scripts/plot_tournament_audit.py figures The backtest overwrites reports/model_tournament/v1/historical_corrected.json in the extracted directory. The other scripts also overwrite their corresponding result files. Save copies first if you want to compare with the included output. Slight numeric differences may occur across platforms or library builds. The result is an exploratory historical proxy, not executable returns or independent confirmation. Read the article's timing, survivorship, cost and selection caveats before interpreting it. The bundle also contains a fixed pre-forward quote diagnostic summary and its calculation script. Its source is the local live-collection SQLite ledger, not included in the bundle. The summary is therefore inspectable, but cannot be independently reconstructed from the bundle alone. These public quote snapshots are not order fills and do not establish executable returns. The archive includes the supplementary forward quote observer, its state logic, tests and design notes for inspection. Running it requires the separate primary collector, its frozen protocol and fitted models, and a live public WebSocket; these runtime artifacts and future observations are not supplied in this bundle. The observer is supplementary to the primary protocol and records quote references, not executed order prices. The bundle includes the supplementary demo-forward pilot's source, tests and design notes for inspection. It requires a separately provisioned demo account, requests and python-dotenv, and the live frozen score ledger; credentials and forward results are not included. It is a bounded technical pilot, not a model comparison. The bundled code can submit simulated orders if run with valid demo credentials; do not run it against a shared BTC position or open order.