Ray 加速金融模型训练 — 复现脚本
本目录包含博客《如何用 Ray 加速金融模型训练?》里所有实测脚本的可复现版本。
环境
1python -m venv .venv && source .venv/bin/activate
2pip install "ray[default]>=2.40,<3" lightgbm scikit-learn pandas pyarrow
实测环境:Python 3.13.7 / Ray 2.49.2 / LightGBM 4.6.0 / macOS Apple M2 Pro 10 核 32GB。
第五章脚本(合成数据,可独立复现)
1# 1. 生成 2000 股 × 1260 日 × 50 特征 的合成面板数据
2python ch5_00_gen_data.py
3
4# 2. 串行基线(4 个滚动窗口)
5python ch5_01_baseline.py
6
7# 3. Ray Tasks 并行版(4 窗口 × 3 线程 / 窗口)
8python ch5_02_ray_tasks.py
9
10# 4. Ray Tune 超参搜索(10 配置 × 单窗口对比)
11python ch5_03_tune.py
第六章脚本(Kronos Meta 模型,需要 Kronos 仓库)
需要先准备 Kronos 仓库:
1git clone https://github.com/shiyu-coder/Kronos
2export KRONOS_DIR=/absolute/path/to/Kronos
3# 按 Kronos README 跑回测生成 examples/backtesting/prediction_data/*.parquet
然后跑:
1# 串行特征抽取(50 个 parquet 子集)
2python 01_serial_baseline.py --n-files 50
3
4# Ray 并行特征抽取
5python 02_ray_parallel.py --n-files 50
6
7# 串行 vs Ray Tune 公平对比(24 配置 × 3 折)
8python 04_fair_comparison.py --n-trials 24
输出
所有脚本输出实测耗时到 stdout,部分会落盘到当前目录下。请用 time.time() 实测的数字为准——博客正文里所有"实测"标签的数字都来自这些脚本一次完整运行。