
搜索文档
20181228-渤海证券-渤海证券多因子模型研究系列之六:使用thompson sampling算法的策略混合模型
渤海证券· 2018-12-28 00:00
量化模型与构建方式 分层抽样多因子模型 - **模型名称**: 分层抽样多因子模型 - **模型构建思路**: 针对沪深300和中证500成分股,以月度调仓频率构建投资组合,剔除行业影响,单独检测市值因子在历史不同时间段的表现[14][15] - **模型具体构建过程**: 1. 选取估值、盈利、成长、动量、反转、波动率、流动性、市值八大类因子构建多因子模型,经过缺失值处理、去极值、标准化、中性化等前期准备步骤,采用半衰期加权移动平均方法构建收益预测模型[14] 2. 将基准指数按行业划分为31个子集,每个子集中用市值因子将股票划分为数目相等的两组:大市值组与小市值组[15] 3. 在每个组中各自选取预期收益最高的两只股票,令其均分所在行业在基准指数中的权重,从而剔除行业影响[15] - **模型评价**: 能否适应因子的风格变化,主要看其能否在市场风格转变时迅速调整[16] Thompson Sampling 算法 - **模型名称**: Thompson Sampling 算法 - **模型构建思路**: 将多臂赌博机每一个臂的回报概率看作一个Beta分布,通过不断测试调整Beta分布的参数α和β的值,确定最后的权重[27][29] - **模型具体构建过程**: 1. Beta分布的概率密度函数形式如下: $$ f(x;\alpha,\beta)=\mathrm{constant}\cdot x^{\alpha-1}(1-x)^{\beta-1} $$ 其中,α表示实验成功次数,β表示实验失败次数,α/(α+β)为Beta分布的均值[28] 2. 在离散空间中,每次试验中选中一个臂,有收益则该臂的Beta分布的参数α增加1,否则β增加1[29] 3. 扩展到连续空间后,计算之前M期历史收益情况,当大市值组合收益>小市值组合收益时,α值增加1;反之,β值增加1[29] 4. 大市值组合的权重设为α/(α+β),小市值组合的权重设为β/(α+β),得到两个组合混合的最优比例[29] - **模型评价**: 在自我调整的及时性上有更大的优势,表现出较好的适应性[29] Greedy Algorithm - **模型名称**: Greedy Algorithm - **模型构建思路**: 计算每一个臂的回报,选择回报最大的臂进行操作[23] - **模型具体构建过程**: 1. 设置M(M=24)期历史数据为观测窗口,计算两种组合的历史收益[23] 2. 在下一期选择收益高的一组[23] - **模型评价**: 没有完全探索其它奖励概率的可能性,很容易丢掉最优解[23] Epsilon-Greedy Algorithm - **模型名称**: Epsilon-Greedy Algorithm - **模型构建思路**: 在贪心算法的基础上引入探索机制,通过随机数生成来决定是否探索[24] - **模型具体构建过程**: 1. 选定一个较小的常数ε,每次生成一个0到1之间的随机数[24] 2. 如果随机数落在[0,ε]区间内,则随机选择一个臂;如果落在[ε,1]区间内,则选择当前情况下回报率最大的臂[24] 3. 扩展到连续空间后,赋予预期回报率较大组合1-ε的权重,赋予另外一组投资组合ε的权重[24] - **模型评价**: 保持了一定对于探索的开放性,但不能根据试验结果进行自我调整,影响最终整体收益[24] --- 模型的回测效果 沪深300回测结果 - **Thompson Sampling**: 年化收益7.02%,信息比率1.41,胜率66.67%[31][34] - **Epsilon-Greedy Algorithm**: 年化收益5.93%,信息比率1.25,胜率61.90%[34] - **Greedy Algorithm**: 年化收益3.05%,信息比率0.25,胜率55.24%[34] - **定期调整资产比例组(CRP)**: 年化收益6.47%,信息比率1.39,胜率60.95%[34] - **买入持有组(BAH)**: 年化收益6.71%,信息比率1.37,胜率60.00%[34] 中证500回测结果 - **Thompson Sampling**: 年化收益12.43%,信息比率2.24,胜率75.24%[40][44] - **Epsilon-Greedy Algorithm**: 年化收益9.04%,信息比率1.45,胜率66.67%[44] - **Greedy Algorithm**: 年化收益10.72%,信息比率2.00,胜率73.33%[44] - **定期调整资产比例组(CRP)**: 年化收益11.71%,信息比率2.19,胜率74.29%[44] - **买入持有组(BAH)**: 年化收益11.82%,信息比率2.23,胜率79.05%[44] 股债混合模型回测结果 - **Thompson Sampling**: 年化收益15.73%,信息比率3.0044,胜率53.24%[49][51] - **Epsilon-Greedy Algorithm**: 年化收益8.46%,信息比率0.5649,胜率51.90%[51] - **Greedy Algorithm**: 年化收益12.84%,信息比率0.5289,胜率51.90%[51] - **定期调整资产比例组(CRP)**: 年化收益5.76%,信息比率0.0825,胜率47.41%[51]
20180926-渤海证券-渤海证券多因子模型研究系列之五:使用Bandit Learning算法的多因子模型
渤海证券· 2018-09-26 00:00
量化模型与构建方式 1. 模型名称:Bandit Learning 模型 - **模型构建思路**:Bandit Learning 模型是一种在线学习算法,旨在通过实时反馈平衡守成(exploitation)与探索(exploration)的比例,以最大化总体收益[4][10][12] - **模型具体构建过程**: 1. 定义资产收益率 $R_{k}=(R_{k,1},\cdots R_{k,n})^{T},k=1,\cdots,m$,并在每个时刻 $k$ 求解权重 $W_{k}=(W_{k,1},\cdots,W_{k,n})^{\rm T}$,满足 $\sum_{i=1}^{n}w_{k,i}=1$ 和 $w_{k,i}\geq0$[13][14] 2. 使用传统多因子模型估计资产收益率和协方差矩阵 $\Sigma_{k}$,并对协方差矩阵进行主成分分解,得到特征值和特征向量[14][16] 3. 对特征向量进行归一化处理,得到线性不相关的投资组合权重 $\widetilde{H}_{k}$,并计算新的协方差矩阵 $\tilde{\Sigma}_{k}$[16][17] 4. 使用 UCB(Upper Confidence Bound)算法计算每个特征向量的奖赏函数 $\bar{r}_{i}(t_{k})=\frac{\bar{H}_{k,i}R_{k,i}}{\sqrt{\hat{A}_{k,i}}}$,并选择最优臂 $i_{k}^{*}$ 和 $j_{k}^{*}$[19][21][23] 5. 通过优化权重 $\theta_{k}^{*}=\frac{\tilde{\lambda}_{k,i_{k}^{*}}}{\tilde{\lambda}_{k,i_{k}^{*}}+\tilde{\lambda}_{k,j_{k}^{*}}}$,构建最终投资组合权重 $w_{k}=(1-\theta_{k}^{*})\bar{H}_{k,i_{k}^{*}}+\theta_{k}^{*}\bar{H}_{k,j_{k}^{*}}$[24][25] 6. 对权重进行非负约束调整,最终输出最优权重 $w_{new,k}$[26][27] - **模型评价**:Bandit Learning 模型在震荡市中表现优于传统多因子模型,但在趋势性市场中表现稍逊。其选股风格较为跳跃,适应性较强,但收益来源和延续能力存在不确定性[4][42][50] 2. 模型名称:传统多因子模型 - **模型构建思路**:基于 Markowitz 风险收益模型,通过线性模型预测收益,结合 Barra 模型估计协方差矩阵,优化投资组合[9][31] - **模型具体构建过程**: 1. 选取估值、盈利、成长、动量、反转、波动率、流动性、市值八大类因子,经过缺失值处理、去极值、标准化和中性化等步骤,构建收益预测模型[31][33] 2. 使用 Barra 模型估计协方差矩阵 $\Sigma=X_{f}F X_{f}{}^{\prime}+\Delta$,其中 $X_{f}$ 为因子暴露矩阵,$F$ 为因子收益率协方差矩阵,$\Delta$ 为个股残差波动率对角矩阵[33][34] 3. 结合收益预测和风险预测,求解优化问题 $\max \alpha^{\prime}w-\frac{1}{2}\lambda w^{\prime}\Sigma w$,其中 $\alpha$ 为收益预测,$\Sigma$ 为协方差矩阵,$\lambda$ 为风险厌恶系数[35][36] - **模型评价**:传统多因子模型在趋势性市场中表现优异,但在震荡市和市场剧变时回撤较大,适应性较弱[4][42][50] --- 模型的回测效果 Bandit Learning 模型 - **累计收益**:$l=3$为143.73%,$l=4$为175.09%,$l=5$为95.01%[43] - **年化收益**:$l=3$为17.82%,$l=4$为20.48%,$l=5$为13.08%[43] - **波动率**:$l=3$为30.69%,$l=4$为30.23%,$l=5$为30.07%[43] - **最大回撤**:均为57.03%[43] - **夏普比率**:$l=3$为0.578,$l=4$为0.6742,$l=5$为0.4331[43] - **胜率**:$l=3$为53.03%,$l=4$为52.81%,$l=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,动