Workflow
20180926-渤海证券-渤海证券多因子模型研究系列之五:使用Bandit Learning算法的多因子模型
渤海证券·2018-09-26 00:00

量化模型与构建方式 1. 模型名称:Bandit Learning 模型 - 模型构建思路:Bandit Learning 模型是一种在线学习算法,旨在通过实时反馈平衡守成(exploitation)与探索(exploration)的比例,以最大化总体收益[4][10][12] - 模型具体构建过程: 1. 定义资产收益率 Rk=(Rk,1,Rk,n)T,k=1,,mR_{k}=(R_{k,1},\cdots R_{k,n})^{T},k=1,\cdots,m,并在每个时刻 kk 求解权重 Wk=(Wk,1,,Wk,n)TW_{k}=(W_{k,1},\cdots,W_{k,n})^{\rm T},满足 i=1nwk,i=1\sum_{i=1}^{n}w_{k,i}=1wk,i0w_{k,i}\geq0[13][14] 2. 使用传统多因子模型估计资产收益率和协方差矩阵 Σk\Sigma_{k},并对协方差矩阵进行主成分分解,得到特征值和特征向量[14][16] 3. 对特征向量进行归一化处理,得到线性不相关的投资组合权重 H~k\widetilde{H}_{k},并计算新的协方差矩阵 Σ~k\tilde{\Sigma}_{k}[16][17] 4. 使用 UCB(Upper Confidence Bound)算法计算每个特征向量的奖赏函数 rˉi(tk)=Hˉk,iRk,iA^k,i\bar{r}_{i}(t_{k})=\frac{\bar{H}_{k,i}R_{k,i}}{\sqrt{\hat{A}_{k,i}}},并选择最优臂 iki_{k}^{*}jkj_{k}^{*}[19][21][23] 5. 通过优化权重 θk=λ~k,ikλ~k,ik+λ~k,jk\theta_{k}^{*}=\frac{\tilde{\lambda}_{k,i_{k}^{*}}}{\tilde{\lambda}_{k,i_{k}^{*}}+\tilde{\lambda}_{k,j_{k}^{*}}},构建最终投资组合权重 wk=(1θk)Hˉk,ik+θkHˉk,jkw_{k}=(1-\theta_{k}^{*})\bar{H}_{k,i_{k}^{*}}+\theta_{k}^{*}\bar{H}_{k,j_{k}^{*}}[24][25] 6. 对权重进行非负约束调整,最终输出最优权重 wnew,kw_{new,k}[26][27] - 模型评价:Bandit Learning 模型在震荡市中表现优于传统多因子模型,但在趋势性市场中表现稍逊。其选股风格较为跳跃,适应性较强,但收益来源和延续能力存在不确定性[4][42][50] 2. 模型名称:传统多因子模型 - 模型构建思路:基于 Markowitz 风险收益模型,通过线性模型预测收益,结合 Barra 模型估计协方差矩阵,优化投资组合[9][31] - 模型具体构建过程: 1. 选取估值、盈利、成长、动量、反转、波动率、流动性、市值八大类因子,经过缺失值处理、去极值、标准化和中性化等步骤,构建收益预测模型[31][33] 2. 使用 Barra 模型估计协方差矩阵 Σ=XfFXf+Δ\Sigma=X_{f}F X_{f}{}^{\prime}+\Delta,其中 XfX_{f} 为因子暴露矩阵,FF 为因子收益率协方差矩阵,Δ\Delta 为个股残差波动率对角矩阵[33][34] 3. 结合收益预测和风险预测,求解优化问题 maxαw12λwΣw\max \alpha^{\prime}w-\frac{1}{2}\lambda w^{\prime}\Sigma w,其中 α\alpha 为收益预测,Σ\Sigma 为协方差矩阵,λ\lambda 为风险厌恶系数[35][36] - 模型评价:传统多因子模型在趋势性市场中表现优异,但在震荡市和市场剧变时回撤较大,适应性较弱[4][42][50] --- 模型的回测效果 Bandit Learning 模型 - 累计收益l=3l=3为143.73%,l=4l=4为175.09%,l=5l=5为95.01%[43] - 年化收益l=3l=3为17.82%,l=4l=4为20.48%,l=5l=5为13.08%[43] - 波动率l=3l=3为30.69%,l=4l=4为30.23%,l=5l=5为30.07%[43] - 最大回撤:均为57.03%[43] - 夏普比率l=3l=3为0.578,l=4l=4为0.6742,l=5l=5为0.4331[43] - 胜率l=3l=3为53.03%,l=4l=4为52.81%,l=5l=5为52.67%[43] 传统多因子模型 - 累计收益:180.34%[43] - 年化收益:20.89%[43] - 波动率:25.71%[43] - 最大回撤:35.59%[43] - 夏普比率:0.8088[43] - 胜率:53.76%[43] --- 量化因子与构建方式 1. 因子名称:估值因子 - 因子的构建思路:衡量股票的估值水平[33] - 因子具体构建过程:选取 BP 和扣非 EP_ttm 作为估值因子[33] 2. 因子名称:盈利因子 - 因子的构建思路:衡量公司盈利能力[33] - 因子具体构建过程:选取单季度 ROE 作为盈利因子[33] 3. 因子名称:成长因子 - 因子的构建思路:衡量公司成长性[33] - 因子具体构建过程:选取单季度营业收入增长率和单季度归母净利润增长率[33] 4. 因子名称:动量因子 - 因子的构建思路:衡量股票的动量效应[33] - 因子具体构建过程:选取指数加权一年收益率和上月收益率[33] 5. 因子名称:反转因子 - 因子的构建思路:衡量股票的反转效应[33] - 因子具体构建过程:选取上月收益率[33] 6. 因子名称:波动率因子 - 因子的构建思路:衡量股票的波动性[33] - 因子具体构建过程:选取月度、季度和年度波动率[33] 7. 因子名称:流动性因子 - 因子的构建思路:衡量股票的流动性[33] - 因子具体构建过程:选取月度、季度和年度换手率[33] 8. 因子名称:市值因子 - 因子的构建思路:衡量股票的市值规模[33] - 因子具体构建过程:选取流通市值对数[33] --- 因子的回测效果 Bandit Learning 模型因子 - 因子均值:市值-0.197,盈利-0.050,反转-0.002,动量-0.004,成长0.226,流动性0.043,波动率0.167,估值-0.138[49] - 因子波动:市值0.413,盈利0.521,反转0.490,动量0.446,成长1.114,流动性0.457,波动率0.378,估值0.297[49] - 因子收益:市值0.007,盈利-0.005,反转-0.027,动量0.019,成长0.063,流动性-0.018,波动率-0.069,估值-0.094[49] 传统多因子模型因子 - 因子均值:市值-0.174,盈利0.221,反转0.002,动量0.141,成长0.700,流动性-0.218,波动率-0.131,估值0.245[49] - 因子波动:市值0.534,盈利0.425,反转0.368,动