多因子组合优化模型指数增强策略的核心是控制投资组合在更多的风险因子上的暴露与基准指数一致,以期获得更小的跟踪误差。因子暴露越大,对应的因子收益越高,风险越大。
所以,模型的优化目标是在给定风险约束下,最大化因子收益,即最大化因子暴露。
常见的风险控制包括风险暴露约束、行业暴露约束、相对于基准跟踪误差约束和个股权重约束等。
策略的组合优化模型形式如下:
- 目标函数为最大化组合收益,其中ω为股票在组合中的权重向量,r为股票预期收益率;
- 约束条件1控制组合相对于基准的因子暴露,其中X为股票在各个因子上的暴露矩阵,ωb为股票在基准指数上的权重,Sl和Sh为各因子的相对基准的暴露下限和上限;
- 约束条件2控制组合相对于基准的行业偏离,H为股票的行业暴露矩阵,当股票i属于行业j时,Hji为1,否则为0,hl和hh分别为组合行业偏离的下限和上限;
- 约束条件3控制个股相对基准成分股的偏离,ωl和ωh分别为个股偏离的下限和上限;
- 约束条件4控制个股权重,ω大于等于0控制个股不能卖空,ω小于等于l控制个股权重上限;
- 约束条件5要求各股票的权重和为1,即满仓运作。
线性优化的求解有多种模块可以实现,本文使用scipy.optimize.linprog()函数进行求解。求解过程中记得将目标函数转化为min()函数,约