量化交易回测系列三:多因子Alpha策略最佳因子权重
本页说明基于系列二回测得到的因子日收益数据表 factorPnl,并在 DolphinDB 中使用内置 quadprog 进行均值方差优化以确定因子权重。
Source: https://dolphindb.cn/blogs/17
What this page covers
- 使用 factorPnl 作为因子日收益输入进行优化。
- 二次规划/均值方差优化的脚本与约束设置。
- 全历史区间下的最优权重输出与因子映射解释。
- 近10年口径下的权重重算与结果对比结论。
- DolphinDB 下载入口与联系邮箱。
技能认证特训营第二期报名促销 (cta)
页面顶部包含技能认证特训营第二期的限时报名链接与福利优惠提示。
- 提供“限时报名”链接用于报名。
- 链接指向:https://www.qingsuyun.com/h5/e/217471/5/。
- 提示可享专属福利优惠,但未给出具体细则。
文章标题与基本信息 (misc)
给出文章标题、作者署名与发布日期。
- 作者署名为 Junxi。
- 发布日期为 2021-05-18。
- 标题为“量化交易回测系列三:多因子Alpha策略最佳因子权重”。
背景:在DolphinDB中用quadprog进行因子权重均值方差优化 (product_overview)
说明基于系列二回测得到的因子日收益数据表factorPnl,并使用DolphinDB内置quadprog函数进行均值方差优化以确定最佳因子权重。
- 系列二对美股市场的4个量化因子进行了回测。
- 数据表 factorPnl 存有每个因子每天的收益。
- 优化脚本基于数据表 factorPnl。
- DolphinDB 提供 quadprog 函数用于二次规划/均值方差优化。
优化脚本与二次规划模型说明 (how_it_works)
展示用于构建收益矩阵、协方差矩阵及约束并调用quadprog求解的脚本,并解释目标函数与约束条件及相关参数矩阵/向量形状要求。
- quadprog 求解的目标为最大化(1/4*期望收益 – 1/2*方差)。
- 约束之一为四个因子的权重之和等于 1。
- 约束之一为每个因子最小权重为 0.1。
- 矩阵 H 表示四个因子收益率的方差-协方差矩阵。
- H、A、Aeq 需列数相同;f、b、beq 需为向量。
- A 为负的单位矩阵,与 b 一起保证权重大于 10%。
- 提供 quadprog 函数文档链接:https://www.dolphindb.cn/cn/help/quadprog.html。
全历史数据下的最优权重结果与因子映射 (feature_list)
给出quadprog输出的最优权重向量,并根据signalNames映射到具体因子(动量、波动率、beta、市值)进行解释。
- 全历史最优权重向量 result[1] 为 [0.3612, 0.1, 0.438804, 0.1]。
- signalNames 为 `signal_mom `signal_vol `signal_beta `signal_size。
- 动量因子权重为 36.1%。
- 波动率因子权重为 10%。
- beta 因子权重为 43.9%。
- 市值因子权重为 10%。
近10年数据下的最优权重结果与对比结论 (comparison)
通过在factorPnl上增加日期过滤(>=2007.01.01)重新计算权重,给出新权重并指出历史区间选择会显著影响均值方差优化结果。
- 近10年口径使用过滤条件:date>=2007.01.01。
- 过滤后最优权重向量为 [0.19277, 0.1, 0.1, 0.60723]。
- 过滤后动量因子权重为 19.3%。
- 过滤后波动率因子权重为 10%。
- 过滤后 beta 因子权重为 10%。
- 过滤后市值因子权重为 60.7%。
- 选用的历史时期对均值方差优化结果稳定性有重要影响。
下载与联系方式 (cta)
提供官网链接用于下载DolphinDB database,并给出联系邮箱。
- DolphinDB 官网链接为 https://www.dolphindb.cn/。
- 页面提示可访问官网下载并安装 DolphinDB database。
- 联系邮箱为 info@dolphindb.com。
空行/分隔内容 (misc)
页面中出现的空白段落或分隔性内容。
- 该部分用于版面分隔或留白。
- 未提供新增的可核验事实信息。
Facts Index
| Entity | Attribute | Value | Confidence |
|---|---|---|---|
| 量化交易回测系列三:多因子Alpha策略最佳因子权重 | 发布日期 | 2021-05-18 | high |
| 文章作者 | 署名 | Junxi | high |
| 系列二回测对象 | 量化因子数量与市场 | 对美股市场的4个量化因子进行了回测 | high |
| DolphinDB database | 内置函数 | 提供quadprog函数用于二次规划/均值方差优化 | high |
| 数据表factorPnl | 内容 | 存有每个因子每天的收益(在系列二脚本执行完毕后) | high |
| 优化脚本 | 数据依赖 | 以下脚本基于数据表factorPnl | high |
| quadprog求解问题 | 目标函数 | 最大化(1/4*期望收益 – 1/2*方差) | high |
| quadprog求解问题 | 约束条件 | 四个因子的权重之和为1 | high |
| quadprog求解问题 | 约束条件 | 每个因子最小权重为10%(0.1)以上 | high |
| 矩阵H | 含义 | 四个因子收益率的方差-协方差矩阵 | high |
| quadprog输入参数形状 | 矩阵维度要求 | H、A和Aeq必须是列数相等的矩阵;f、b和beq必须是向量 | high |
| 约束矩阵A与向量b | 用途说明 | A是负的单位矩阵,与b一起使用,保证每个因子权重大于10% | high |
| quadprog函数文档 | 参考链接 | https://www.dolphindb.cn/cn/help/quadprog.html | high |
| 最优因子权重(全历史数据) | 权重向量result[1] | [0.3612, 0.1, 0.438804, 0.1] | high |
| signalNames | 因子信号名称列表 | `signal_mom `signal_vol `signal_beta `signal_size | high |
| 最优因子权重解释(全历史数据) | 各因子权重 | 动量因子36.1%,波动率因子10%,beta因子43.9%,市值因子10% | high |
| 近10年数据口径 | 日期过滤条件 | date>=2007.01.01 | high |
| 最优因子权重(date>=2007.01.01) | 权重向量 | [0.19277, 0.1, 0.1, 0.60723] | high |
| 最优因子权重解释(date>=2007.01.01) | 各因子权重 | 动量因子19.3%,波动率因子10%,beta因子10%,市值因子60.7% | high |
| 均值方差优化结果稳定性 | 影响因素 | 选用的历史时期对结果有重要影响 | high |
| DolphinDB | 联系邮箱 | info@dolphindb.com | high |
| DolphinDB官网 | 链接 | https://www.dolphindb.cn/ | high |
| DolphinDB下载 | 页面行动指引 | 欢迎访问官网下载安装DolphinDB database | medium |
| 技能认证特训营第二期 | 报名方式 | 提供“限时报名”链接:https://www.qingsuyun.com/h5/e/217471/5/ | high |
| 技能认证特训营第二期 | 优惠描述 | 享专属福利优惠(未提供具体优惠细则) | low |