文集文档索引

ABU 量化交易系统 · 中文源码精读教程


  • 文集信息
  • 目录大纲
  • 最新文档
  • 知识宇宙

文集详情

文集导读

ABU 量化交易系统 · 中文源码精读教程 系统解剖:沿着一次回测的数据流,逐器官拆解阿布量化框架 这本教程讲什么 这是一份带读源码的 ABU(阿布量化)交易系统精读教程。 ABU 是国内开发者"阿布"构建的开源 Python 量化框架(GPL 协议,版本 0.4.0),覆盖 A 股、美股、港股、期货、期权、比特币/莱特币六大市场。它的定位是"策略开发 + 回测 + 机器学习优化"一体化平台,自研业务代码约 4.6 万行,分 24 个 子模块("Bu"取"部"之意)。 ABU 有两个鲜明特色让它在国产量化框架里独树一帜: 💡 第一个特色:UMP 拦截裁判系统(UmpBu,约 3958 行)。UMP 全称 Un-Monty-Python(反蒙提帕森,意指"反赌博陷阱"),它把机器学习当作"交易裁判"——从历史交易里学出"哪些特征组合大概率亏钱",在你下单前当裁判拦截冲动交易。主裁用 GMM 高斯混合聚类找出"高失败率簇",边裁用 KNN 相似度投票(还处处用 0.236/0.618/0.91 黄金分割做非均衡判决)。这是 ABU 区别于 zipline/backtrader 等通用回测框架的灵魂。 💡 第二个特色:全栈可插拔 + 装饰器封装。

ABU 量化交易系统 · 中文源码精读教程

系统解剖:沿着一次回测的数据流,逐器官拆解阿布量化框架

这本教程讲什么

这是一份带读源码的 ABU(阿布量化)交易系统精读教程

ABU 是国内开发者"阿布"构建的开源 Python 量化框架(GPL 协议,版本 0.4.0),覆盖 A 股、美股、港股、期货、期权、比特币/莱特币六大市场。它的定位是"策略开发 + 回测 + 机器学习优化"一体化平台,自研业务代码约 4.6 万行,分 24 个 *Bu 子模块("Bu"取"部"之意)。

ABU 有两个鲜明特色让它在国产量化框架里独树一帜:

💡 第一个特色:UMP 拦截裁判系统(UmpBu,约 3958 行)。UMP 全称 Un-Monty-Python(反蒙提帕森,意指"反赌博陷阱"),它把机器学习当作"交易裁判"——从历史交易里学出"哪些特征组合大概率亏钱",在你下单前当裁判拦截冲动交易。主裁用 GMM 高斯混合聚类找出"高失败率簇",边裁用 KNN 相似度投票(还处处用 0.236/0.618/0.91 黄金分割做非均衡判决)。这是 ABU 区别于 zipline/backtrader 等通用回测框架的灵魂

💡 第二个特色:全栈可插拔 + 装饰器封装。买入/卖出因子靠抽象基类 + 方向 Mixin 实现"声明式组合"(用 {'class': X, **params} 字典描述因子);数据解析、滑点、ML 度量都用类装饰器统一流程;模块全局开关(g_ 前缀)不重启即可切换算法。这是一套高度自洽的工程美学。

本教程的定位是系统解剖——不沿用项目自带的 32 节 lecture(那是使用教程),而是沿着一次回测的完整数据流,逐器官拆解源码。从 run_loop_back 这个唯一入口出发,依次解剖行情数据层、买入因子层、卖出与滑点仓位层、交易执行引擎、回测度量层、UMP 裁判层、机器学习层、技术分析层、并行调度层。读完这本教程,你理解了 ABU 这套"系统"的每一个器官怎么协作。

一次回测的解剖主线

本教程以一次回测从入口到度量的完整数据流为解剖主线。想象你调用了 abu.run_loop_back(...),这行代码会流经以下器官:

这张图就是全教程的索引。每个器官对应一章,数据流的方向就是章节的顺序。

十章解剖路径

第 1 章 ABU 全貌与一次回测的旅程 ── 项目定位 + run_loop_back 入口解剖 第 2 章 行情数据层 ── 数据源切换 + 缓存 + 解析装饰器 + 雪球爬虫 第 3 章 买入因子体系 ── 方向 Mixin + dict 协议 + 突破/趋势/均线策略 第 4 章 卖出因子与滑点仓位 ── ATR 止损三层组合 + 涨跌停装饰器 + ATR/Kelly 仓位 第 5 章 交易执行引擎 ── 资金账户 + 手续费上下文管理器 + 回测执行器 第 6 章 回测度量与评分 ── empyrical 指标 + Win/Return/Sharpe/MDD 评分 + 相关度交叉验证 第 7 章 UMP 拦截裁判系统 ★ ── 主裁 GMM 聚类 + 边裁 KNN 投票 + 黄金分割非均衡(灵魂) 第 8 章 机器学习优化 ── sklearn 封装 + 概率阈值搜索 + 比特币大波动分类案例 第 9 章 技术分析与趋势线 ── 阻力支撑/跳空/金叉/波浪 + 弃用 talib 自实现指标 第 10 章 并行调度与 GUI ── Master-Worker-Execute 三层 + 进程 env 同步 + ipywidgets

第 7 章 UMP(★)是全书高潮——它是 ABU 的灵魂,也是这本教程最值得精读的部分。

章节目录

第 1 章 ABU 全貌与一次回测的旅程
ABU 是什么、24 个 *Bu 模块总览;run_loop_back 的 9 个参数与 7 步流程(基准+资金→选股→KL预取→择时→资金融合);ABuEnv 全局配置面板;多进程基础设施(Windows 不 fork 的 env 同步难题)。

第 2 章 行情数据层(MarketBu+CrawlBu)
数据源抽象(BaseMarket/StockBaseMarket/TCBaseMarket);7 个数据源(百度/腾讯/网易/新浪/火币);HDF5/CSV 双模式缓存的 4 种 merge 场景;AbuDataParseWrap 装饰器统一解析流程;Symbol 多市场统一路由;雪球爬虫(selenium 多进程)。

第 3 章 买入因子体系(FactorBuyBu)
方向 Mixin(BuyCall/BuyPut)+ 抽象基类 + 三层子类(Base/TD/XD);dict 协议 {'class':X, **kw} 声明式组合;突破/趋势/动态双均线策略;AbuLeastPolyWrap 装饰器给策略加大盘震荡过滤器;专属选股/卖出因子挂载。

第 4 章 卖出因子与滑点仓位(FactorSellBu/SlippageBu/BetaBu)
卖出因子方向过滤(support_direction);ATR 止损三层组合(AtrNStop 主止盈止损 + PreAtrNStop 风控 + CloseAtrNStop 利润保护);slippage_limit_up 涨跌停装饰器(二项分布+加权抽价);ATR/Kelly/Pt 三种仓位管理。

第 5 章 交易执行引擎(TradeBu)
AbuCapital 资金账户(capital_pd 时序 + buy_stock/sell_stock 有限资金判定);AbuCommission 上下文管理器算手续费(6 市场);AbuOrder __slots__ 降内存;apply_action_to_capital 回测执行器总驱动;AbuKLManager 双字典缓存。

第 6 章 回测度量与评分(MetricsBu)
AbuMetricsBase 4 步度量(empyrical 年化/夏普/alpha/beta + 胜率/盈亏比 + 资金分布);WrsmScorer 多项 rank 加权评分;AbuCrossVal 按 symbol 相关度切分做交叉验证(abu 特色);AbuGridSearch 策略参数并行网格搜索。

第 7 章 UMP 拦截裁判系统 ★(UmpBu,全书高潮)
UMP 寄生在因子内部的下单钩子;主裁 AbuUmpMainBase(GMM 聚类找高失败率簇 + scipy 暴力搜索全局最优阈值 + need_hit_cnt 多裁判合议);边裁 AbuUmpEdgeBase(KNN 欧氏距离 + 皮尔逊相关投票 + 0.236/0.618/0.91 黄金分割非均衡);11 个维度子类(角度/价格/跳空/波浪/全特征);AbuUmpManager 调度中枢 + append_user_ump 自定义接入。

第 8 章 机器学习优化(MLBu)
AbuML 三层架构(业务层→中间层→学习器工厂);entry_wrapper 装饰器 + E_FIT_AUTO 自动判断分类/回归;cross_val_prob_accuracy_score 概率阈值搜索(准确率 vs 生效率权衡,UMP 拦截的核心);predict_proba_threshold 高放行低拦截;BtcBigWaveClf 比特币大波动分类(三倍数据增强 + 3天→1条特征)。

第 9 章 技术分析与趋势线(TLineBu+IndicatorBu)
AbuTLine 技术线对象(阻力支撑聚类/跳空/金叉/波浪/VWAP/相似度匹配);IndicatorBu 弃用 talib 全自实现(ATR/MA/布林/MACD/RSI 双引擎保留切换能力);为什么 abu 选择不用 talib。

第 10 章 并行调度与 GUI(CoreBu+AlphaBu+WidgetBu)
AlphaBu Master-Worker-Execute 三层并行调度;选股一票否决+首选制;择时 kl_pd.apply(_task_loop) 时间驱动 + 自然周月识别;AbuPickTimeWorker 日任务执行顺序(先卖后买);ipywidgets GUI 无编程量化。

适合读者

本教程适合对量化框架设计、机器学习在交易中的应用、可插拔架构感兴趣的开发者:

  • 想深入理解 ABU 内部实现的量化开发者
  • 对"用 ML 当交易裁判"这个创新思路感兴趣的研究者
  • 想学习抽象基类+Mixin+装饰器+全局开关这套 Python 工程美学的开发者
  • 对 GMM 聚类、KNN 投票、黄金分割非均衡这些 ML 技巧在金融场景应用感兴趣的学习者

前置知识:

  • Python 进阶(抽象基类、Mixin、装饰器、__slots__、上下文管理器能读懂)
  • pandas DataFrame 操作(apply、groupby、shift)
  • 量化基本概念(回测/因子/止损/仓位)
  • 机器学习基础(svm/knn/gmm/网格搜索,第 7-8 章会用)

⚠️ 重要说明:ABU 项目主体开发活跃期约 2017-2019 年,目前基本停止维护(代码兼容 Python 2、内嵌 six/funcsigs、用过 Caffe)。本教程定位为源码精读与架构学习,不构成投资建议。环境部署需注意老依赖(见第 1 章)。项目自带的 abupy_lecture/ 32 节 ipynb 是优秀的使用教程,本教程与之互补——它讲"怎么用",本教程讲"内部怎么实现"。

关于源码版本

本教程对照的源码来自 abu-master(GPL 协议,作者 阿布 / abu_quant),版本 0.4.0。核心代码位于 abupy/ 包(约 4.6 万行业务代码 / 225 个 Python 文件),自带教程位于 abupy_lecture/(32 个 ipynb),配套书籍代码位于 ipython/python/

目录大纲

    最新文档

    知识宇宙

    正在加载知识图谱...


    转发
    作者与出处
    发布者 / 整理账号: 灏天
    本站整理收录,版权归原作者/开源协议所有;欢迎通过原文链接访问源仓库。
    什么是「ABU 量化交易系统 · 中文源码精读教程」?
    ABU 量化交易系统 · 中文源码精读教程 是灏天文库(aiknowledge.cn)面向开发者与技术学习者的结构化精品文集,收录相关教程、实践指南与问题解决方案,支持在线阅读与全文检索。
    「ABU 量化交易系统 · 中文源码精读教程」适合谁学习?
    适合希望系统化学习 ABU 量化交易系统 · 中文源码精读教程 相关技术的开发者、工程师与学生;零基础可先阅读导读与入门文档,有基础者可按目录进阶。
    如何阅读「ABU 量化交易系统 · 中文源码精读教程」中的文档?
    进入文集页后可按左侧目录浏览;单篇文档支持代码高亮、Mermaid 图表与阅读进度记录。注册登录后可收藏文档并同步学习进度。
    「ABU 量化交易系统 · 中文源码精读教程」的内容来源是什么?
    内容由灏天文库团队与创作者结构化整理,精选开源与优秀创作者内容并标注原始来源;我们坚持可理解、可实践、可复用的质量标准,避免无价值批量搬运。本站整理收录,版权归原作者/开源协议所有。
    「ABU 量化交易系统 · 中文源码精读教程」和开源原文有什么不同?
    本站在尊重原作者与开源协议的前提下做结构化整理:统一目录、中文阅读体验、全文检索、试读与知识路径等。完整版权与最新源码/文档请以原文(GitHub 或官方站点)为准;本站标注出处便于学习与引用。