117 lines
6.8 KiB
Markdown
117 lines
6.8 KiB
Markdown
---
|
||
title: "阿布量化(ABuQuant)框架架构"
|
||
last_updated: 2026-08-07
|
||
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.0(2026-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、位移路程比、择时因子
|