• 多因子组合优化:指数增强策略(附源码入口)


    多因子组合优化模型指数增强策略的核心是控制投资组合在更多的风险因子上的暴露与基准指数一致,以期获得更小的跟踪误差。因子暴露越大,对应的因子收益越高,风险越大。

     

    所以,模型的优化目标是在给定风险约束下,最大化因子收益,即最大化因子暴露。

     

    常见的风险控制包括风险暴露约束、行业暴露约束、相对于基准跟踪误差约束和个股权重约束等。

     

    策略的组合优化模型形式如下:

    • 目标函数为最大化组合收益,其中ω为股票在组合中的权重向量,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()函数,约束条件转化为"<="的形式。

     

    ☞设计一个简单的策略逻辑:

     

    每月初计算Fama三因子(beta、账面市值比、市值),通过截面回归计算个股预期收益率,组合优化求解个股权重并构建投资组合。(这里仅添加约束条件1、4和5)

     

    进一步编写回测,相关参数如下:

     

    • 初始资金:10000万
    • 回测品种:沪深300指数及其成分股
    • 回测区间:2019年01月01日-2022年07月31日
    • 相关参数:因子相对暴露下限和上限分别为-0.5和0.5,个股权重上限为1

     

    回测结果如下图所示:

     

    策略回测的年化收益率17.96%,最大回撤25.80%,夏普比率0.63,超额收益23.78%。感兴趣的朋友可以对相关参数进行测试,调整因子暴露阈值并进一步添加约束条件。

     

    本期代码已分享至掘金量化社区,欢迎自行下载研究。

    持续关注掘金量化,带你进一步探索因子模型!

    源码传送门:掘金量化社区-MYQUANT

     欢迎量化爱好者报名参与!

  • 相关阅读:
    文件上传很难搞?10分钟带你学会阿里云OSS对象存储
    Python Open函数详解
    promise回顾和总结(温故知新)
    h5钉钉导航栏实时更新(跟踪标题)标题
    一个HashMap跟面试官扯了半个小时
    拼凑硬币问题
    【华为OD机试python】评论转换输出【2023 B卷|100分】
    Mysql详解
    OPPO也要自研芯片?欲采用台积电3nm工艺
    jvm优化(二)JVM 内存大小设置
  • 原文地址:https://blog.csdn.net/weixin_42219751/article/details/126410420