ABU · 第 10 章 并行调度与 GUI 章节摘要:本章解剖回测流水线的"调度器官"——并行调度(CoreBu + AlphaBu 约 1015 行 + WidgetBu 约 4716 行)。runloopback 要对全市场几百只股票回测,单进程太慢,ABU 用 AlphaBu 的 Master-Worker-Execute 三层并行调度。本章讲选股阶段的一票否决+首选制、择时阶段的 时间驱动 + 自然周月识别(用日期差>60 巧妙识别月末)、日任务执行顺序(先卖后买)、以及 ipywidgets GUI 怎么把所有功能做成 Tab 交互界面(无编程量化)。本章是全教程的收官,会做全书回顾。本章共 3 节,前置依赖为第 1-9 章。
章节摘要:本章解剖回测流水线的"调度器官"——并行调度(CoreBu + AlphaBu 约 1015 行 + WidgetBu 约 4716 行)。run_loop_back 要对全市场几百只股票回测,单进程太慢,ABU 用 AlphaBu 的 Master-Worker-Execute 三层并行调度。本章讲选股阶段的一票否决+首选制、择时阶段的
kl_pd.apply(_task_loop)时间驱动 + 自然周月识别(用日期差>60 巧妙识别月末)、日任务执行顺序(先卖后买)、以及 ipywidgets GUI 怎么把所有功能做成 Tab 交互界面(无编程量化)。本章是全教程的收官,会做全书回顾。本章共 3 节,前置依赖为第 1-9 章。
本章解剖"回测怎么并行跑起来"——三层调度 + 时间驱动 + GUI。
阅读完本章,你应当能够:
kl_pd.apply(_task_loop) 时间驱动 + 自然周月识别。ABuPickBase 抽象基类(AbuPickTimeWorkBase/AbuPickStockWorkBase);AbuPickStockMaster 选股调度器(do_pick_stock_with_process + split_k_market 切分 + Parallel 并行 + 训练测试集切割);AbuPickStockWorker 选股执行者(init_stock_pickers dict 实例化 + 一票否决制 + 首选制);_first_batch_fit 首选阶段(批量高效筛选层层过滤)+ _batch_fit 普通阶段(外层 symbol 内层因子 fit_pick 返回 False 就 break);FORCE_LOCAL 才允许并行选股(HDF5 多进程易写坏)。
AbuPickTimeMaster 择时调度器(do_symbols_with_same_factors_process + 主进程预拉 KL + apply_capital=False 子进程不融合资金 + 主进程统一 apply_action_to_capital);AbuPickTimeWorker 择时执行者(combine_kl_pd 合并回测前 1 年 + filter_long_task_factors 预筛选周月因子);fit 时间驱动核心(kl_pd.apply(_task_loop) 按交易日逐行推进);自然周月识别(week_task=where(date_week==4,1,0) 每周五 / month_task=where(shift(-1).date-date>60,1,0) 日期差>60 识别月末不用时间API);_day_task 执行顺序(_task_attached_sell 专属卖出先 → sell_factors → buy_factors,先卖后买避免高频日交易);do_symbols_with_same_factors 多 symbol 包装器(异常容错 + 补位机制 + EFitError)。
WidgetBu 约 4716 行(回测/选股/买入卖出因子/UMP/网格搜索/交叉验证可视化);ipywidgets Tab 交互界面(无编程量化);GUI gif 演示;全书回顾:10 章系统解剖串讲(入口→数据→买入→卖出滑点仓位→执行→度量→UMP★→ML→技术分析→并行GUI);ABU 的三大遗产(UMP 裁判创新/可插拔工程美学/ML服务交易);建议读者下一步。
前置知识:前九章完整旅程。
后续延伸:全书结束。建议读者结合 abupy_lecture 的 32 节 ipynb 实操,深入 UMP 自定义裁判或 ML 优化。