5.0 KiB
5.0 KiB
title, last_updated, source, created, updated, type, tags, confidence, contested, raw_sources
| title | last_updated | source | created | updated | type | tags | confidence | contested | raw_sources | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 阿布量化策略开发与回测 | 2026-08-07 | https://github.com/bbfamily/abu (commit d602d847677e4c2b77b0a122df30816ea68b5710) | 2026-08-07 | 2026-08-07 | practice |
|
medium | false |
|
阿布量化策略开发与回测
页面定位
本页是阿布量化框架策略开发与回测的实践页,记录可执行流程:择时因子编写、止盈止损、滑点手续费、仓位管理、选股因子、度量、参数寻优、机器学习集成与数据源接入。它不解释框架架构(见阿布量化框架架构),不展开期货专项(见期货量化回测与位移路程比)。所有 API 名称以源码为准,未执行回测复现。
一、择时策略开发(notebook 1)
- 编写买入择时因子:继承
AbuFactorBuyBase+ 混入方向类(BuyCallMixin/BuyPutMixin),实现fit_day(today, orders)调用self.buy_tomorrow(order)生成次日订单。 - 分解模式逐步回测:先只挂买入因子观察买入点,再叠加卖出因子。
- 编写卖出因子:继承
AbuFactorSellBase,fit_day中self.sell_tomorrow(order)。
关键约定:buy_tomorrow/sell_tomorrow 次日成交(避免未来函数);_init_self(**kwargs) 读取自定义参数。
二、止盈止损与风险控制(notebook 2)
| 类型 | 代表因子 | 作用 |
|---|---|---|
| 基本止盈止损 | AbuFactorAtrNStop(n 倍 ATR) | 保护利润、控制风险 |
| 风险控制止损 | AbuFactorPreAtrNStop(单日最大跌幅 n 倍 ATR) | 单边风险控制 |
| 利润保护止盈 | AbuFactorCloseAtrNStop(利润回撤) | 只做单边止盈 |
ATR 定义:TR = max(|最高-最低|, |最高-昨收|, |昨收-最低|),ATR 为 TR 的均值。
三、滑点与手续费(notebook 3)
- 默认均价买入/卖出(AbuSlippageBuyMean/SellMean):简单高效,交易数量足够时接近实盘;不考虑大资金冲击成本,实盘迁移需日内分钟 K 线择时。
AbuCommission计算手续费,order.commission记录。
四、多股票与仓位管理(notebook 4)
- 多股票可用同一因子组合,也可分别指定因子。
- 仓位管理默认
AbuAtrPosition,示例还有 Kelly、价格位置仓位;可通过全局默认或 kwargs 指定。 - 并行:
AbuPickTimeMaster多进程调度(Windows 注意 ProcessPoolExecutor 实现)。
五、选股策略(notebook 5)
- 选股因子继承
AbuPickStockBase,实现fit_first_choice等方法;示例:价格、拟合角度、相似度、位移路程比选股。 - 多因子并行;择时周期内每月/每周动态重新选股。
六、度量、参数寻优与评分(notebook 6-7)
AbuMetricsBase度量收益/回撤/胜率等,可自定义度量类;期货用AbuMetricsFutures。AbuGridSearch网格搜索因子参数(如"均线看多少天"),AbuScoreTuple/AbuBaseScorer评分(支持权重与自定义),AbuCrossVal交叉验证。
七、机器学习集成(notebook 12)
AbuMLFeature定义特征(支持扩展)→AbuML中间层 →AbuMLCreater封装学习器 →AbuMLPd业务封装。- 测试集验证与非均衡技术;应用场景:UMP 裁判训练、策略有效性验证(notebook 32)。
八、数据源接入(notebook 19)
数据模式/存储/数据源三层均可切换;ABuDataCache merge 更新;外部数据源可接股票/期货/数字货币;所有取数统一走 ABuSymbolPd。
九、开发注意事项
- 卖出因子用于期货需
support_direction()声明支持 put,fit_day按order.expect_direction正负区分(call:暴跌止损;put:暴涨止损)。 - 买入因子方向唯一(一个因子不能同看涨又看跌)。
- 数据访问统一走
ABuSymbolPd。 - 选股因子可用
lock_factor封锁本源买入因子。
十、证据边界
- 本页基于教学 notebook 与源码 docstring 提炼,未复现任何回测;沙盒示例收益数字不具代表性(数据量小、依赖旧数据文件)。
- 教学流程可用作学习/原型参考;实盘部署需自行解决数据、滑点、手续费与合规。
十一、相关页面
- 阿布量化框架架构 - 模块分层与核心机制
- 期货量化回测与位移路程比 - 期货双向策略与品种筛选
- 技术分析形态与突破确认 - 技术信号的确认与失效条件
- 股票交易纪律与资金管理 - 资金管理与止损的独立实践