Files
my_wiki/wiki/practices/阿布量化策略开发与回测.md
T

5.0 KiB
Raw Blame History

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
path hash
raw/量化/abuquant/abuquant-策略开发与回测实践摘编.md sha256:fc63e6c7799ee5af9f084f45982ec45469428e68f4070f8b38067ed1d760482a
path hash
raw/量化/abuquant/abuquant-框架架构摘编.md sha256:1d40144383bd5f8e0f5d6049da545abb2933a83328693dc2d7852af9e70291d6

阿布量化策略开发与回测

页面定位

本页是阿布量化框架策略开发与回测的实践页,记录可执行流程:择时因子编写、止盈止损、滑点手续费、仓位管理、选股因子、度量、参数寻优、机器学习集成与数据源接入。它不解释框架架构(见阿布量化框架架构),不展开期货专项(见期货量化回测与位移路程比)。所有 API 名称以源码为准,未执行回测复现。

一、择时策略开发(notebook 1)

  1. 编写买入择时因子:继承 AbuFactorBuyBase + 混入方向类(BuyCallMixin/BuyPutMixin),实现 fit_day(today, orders) 调用 self.buy_tomorrow(order) 生成次日订单。
  2. 分解模式逐步回测:先只挂买入因子观察买入点,再叠加卖出因子。
  3. 编写卖出因子:继承 AbuFactorSellBasefit_dayself.sell_tomorrow(order)

关键约定:buy_tomorrow/sell_tomorrow 次日成交(避免未来函数);_init_self(**kwargs) 读取自定义参数。

二、止盈止损与风险控制(notebook 2)

类型 代表因子 作用
基本止盈止损 AbuFactorAtrNStopn 倍 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() 声明支持 putfit_dayorder.expect_direction 正负区分(call:暴跌止损;put:暴涨止损)。
  • 买入因子方向唯一(一个因子不能同看涨又看跌)。
  • 数据访问统一走 ABuSymbolPd
  • 选股因子可用 lock_factor 封锁本源买入因子。

十、证据边界

  • 本页基于教学 notebook 与源码 docstring 提炼,未复现任何回测;沙盒示例收益数字不具代表性(数据量小、依赖旧数据文件)。
  • 教学流程可用作学习/原型参考;实盘部署需自行解决数据、滑点、手续费与合规。

十一、相关页面