ingest | 阿布量化(bbfamily/abu)开源项目知识融入:3 摘编 + 3 wiki 页面 + 导航/登记更新

This commit is contained in:
AAsige
2026-08-07 05:13:08 +08:00
parent 2fdc05f72f
commit e192ffcd73
14 changed files with 1115 additions and 0 deletions
+115
View File
@@ -0,0 +1,115 @@
---
title: "阿布量化(ABuQuant)框架架构"
source: "https://github.com/bbfamily/abu (commit d602d847677e4c2b77b0a122df30816ea68b5710)"
created: 2026-08-07
updated: 2026-08-07
type: concept
tags:
- "量化"
- "开源框架"
- "回测"
- "Python"
confidence: medium
contested: false
raw_sources:
- path: "raw/量化/abuquant/abuquant-框架架构摘编.md"
hash: "sha256:1d40144383bd5f8e0f5d6049da545abb2933a83328693dc2d7852af9e70291d6"
---
# 阿布量化(ABuQuant)框架架构
## 页面定位
本页是阿布量化(ABuQuant)开源量化框架的**架构概念页**,回答"这个框架由哪些模块组成、因子/回测/裁判/度量如何衔接"。它不讲解具体策略开发步骤(见[[阿布量化策略开发与回测|阿布量化策略开发与回测]]),不展开期货专项方法(见[[期货量化回测与位移路程比|期货量化回测与位移路程比]]),也不替代任何品种研究框架。源码本体未整包入库,证据为摘编与哈希清单(`raw/量化/abuquant/`)。
## 一、定义与定位
阿布量化是一个开源的 Python 量化交易系统,核心设计目标是**分离基础策略与策略优化监督模块**。支持美股、A股、港股、期货、期权、比特币、莱特币。版本 0.4.02026-01-24 commit d602d84),作者"阿布",配套教材《量化交易之路》《机器学习之路》。
设计哲学(README"道生一、一生二、二生三、三生万物"):因子是最小单位(一)→ 因子组合成策略(二)→ 策略接入回测与裁判决策(三)→ 全市场多策略并行演化(万物)。
## 二、模块分层
框架以 21 个 `*Bu` 模块组织(`abupy/` 目录),`__init__.py` 统一导入:
| 模块 | 职责 |
|---|---|
| CoreBu | 环境、基准、并行(Windows 用 ProcessPoolExecutor 规避 joblib 长任务弹窗)、pandas 兼容、存储 |
| MarketBu | 数据缓存/数据源/解析、股票与期货 symbol、行业分类、市场切割、可视化 |
| FactorBuyBu / FactorSellBu | 买入/卖出择时因子基类与示例 |
| PickStockBu | 选股因子基类与示例 |
| AlphaBu | 选股/择时 Master-Worker 并行调度 |
| BetaBu | 仓位管理示例(ATR、Kelly、价格位置) |
| TradeBu | 订单、资金、基准、ML 特征 |
| SlippageBu | 滑点基类与均价滑点示例 |
| UmpBu | 裁判决策(UMP):主裁 + 边裁共 17 文件 |
| MetricsBu | 回测度量、GridSearch 参数寻优 |
| TLineBu | 技术线:拟合、位移路程比、通道、骨架、支撑阻力、黄金分割、VWAP |
| IndicatorBu | ATR、BOLL、MA、MACD、RSI 等指标 |
| MLBu / DLBu | 机器学习封装 / caffe 深度学习工具 |
| SimilarBu | 相关系数与相似度 |
| CrawlBu / CheckBu / UtilBu / WidgetBu | 爬虫数据源 / 检查预处理 / 工具 / UI 组件 |
| ExtBu、joblib/ 等 | 内置第三方依赖(six、joblib、empyrical、futures |
## 三、核心机制
### 1. 因子体系
- 买入因子 `AbuFactorBuyBase` 必须且只能混入一个方向类:`BuyCallMixin`(看涨,expect_direction=1.0)或 `BuyPutMixin`(看跌,expect_direction=-1.0,用于期货/期权反向)。
- 卖出因子 `AbuFactorSellBase` 通过 `support_direction()` 声明支持的买卖方向,`fit_day()``order.expect_direction` 区分 call/put 处理。
- 选股因子 `AbuPickStockBase` 在择时周期内每月/每周动态重新选股。
- 因子可内嵌专属卖出因子与选股因子;`lock_factor` 可封锁本源买入因子。
### 2. 回测数据流
```
数据(MarketBu) → 基准(AbuBenchmark: 时间范围/对齐/市场限制)
→ 资金(AbuCapital) → 择时Worker(AbuPickTimeWorker)
└─ fit_day 驱动:买入因子生成订单 → 卖出因子止盈止损
→ UMP 裁判拦截 → 滑点定成交价 → 仓位管理定量
→ 订单 → 度量(AbuMetricsBase) → 存储/可视化
```
`kl_pd` 为择时时段,`combine_kl_pd` 合并前一年数据供 ML 特征构建。
### 3. UMP 裁判决策
UMP(Umpire,裁判)用机器学习训练"裁判"拦截策略生成的失败交易:
- **主裁(Main)**:对买入信号整体裁决;示例含角度、价格、波动、跳空、多混。
- **边裁(Edge)**:对交易特征专项裁决。
- `AbuUmpManager` 组织通信;外部用户 `append_user_ump()` 添加自定义裁判(需先训练生成 cache)。
- 训练流程:切分训练集回测 → 提取失败交易特征 → GMM 分类 + 最优分类簇筛选(`ump_main_clf_dump()` 一行完成)→ 保存分类器 → 测试集开启拦截对比。
- 价值:拦截低质量交易、节省佣金、降低交易数量本身即优化;提升方向为更多裁判/特征、复杂综合裁决、统计权重加权。
### 4. 度量与优化
- `AbuMetricsBase` 度量收益、回撤、胜率等;期货专用 `AbuMetricsFutures`
- `AbuGridSearch` 借鉴 sklearn,对因子做参数寻优;`AbuCrossVal` 交叉验证。
- `AbuTLine` 提供最优拟合次数、位移路程比、拟合通道、骨架通道、黄金分割等分析手段辅助参数选择。
### 5. 数据源
内置沙盒数据仅供学习;`ABuDataCache` 管理采集/存储/merge 更新;对外统一接口 `ABuSymbolPd`;外部数据源可接入股票/期货/数字货币。
## 四、证据与不确定性
- 摘编基于源码 docstring、README 与教学 notebook markdown,未逐行核验全部算法。
- 缠论、波浪、谐波、K 线形态、均线信号等"量化 2.0"能力是项目网站(abuquant.com)宣传内容,仓库源码中形态识别以 TLineBu/IndicatorBu/WidgetBu 为基础,**未提供完整形态库代码**,不应视为可复现能力。
- README 中"18496 种策略""上百种模型"等营销数字未作为事实收录。
- 版本较旧(0.4.0),新环境需处理 Python 2/3 兼容层与依赖版本问题。
## 五、失效条件与风险
- 沙盒数据回测结果不具代表性,实盘需外部数据源。
- 裁判(UMP)效果依赖训练集质量与数据量,沙盒小样本下"正确拦截比错误拦截多"但胜率/盈亏并不理想。
- 框架的滑点实现不考虑大资金冲击成本;迁移实盘需日内分钟 K 线择时。
## 六、相关页面
- [[阿布量化策略开发与回测|阿布量化策略开发与回测]] - 因子开发与回测流程
- [[期货量化回测与位移路程比|期货量化回测与位移路程比]] - 期货专项方法与位移路程比
- [[技术分析形态与突破确认|技术分析形态与突破确认]] - 形态/突破信号的独立验证边界(与 abu 形态宣传对照)
- [[股票交易系统与技术分析|股票交易系统与技术分析]] - 主观技术分析体系(对照量化因子思路)
- [[交易与交易所市场微观结构|交易与交易所:市场微观结构]] - 滑点、交易成本的微观结构基础
- 术语见 [[Glossary|术语表]]:UMP、位移路程比、择时因子