多模型融合权重如何训练_单因子模型

多模型融合权重如何训练_单因子模型本篇文章有别于传统的多因子研究,我们并未将重点放在阿尔法因子的挖掘上,而是通过对股票组合的权重优化计算,找到了在市值中性、行业中性、风格因子中性约束下的最优投资组合,以及验证得到的组合权重是否满足了约束条件。结构化多因子风险模型首先对收益率进行简单的线性分解,分解方程中包含四个组成部分:股票收益率、因子暴露、因子收益率和特质因子收益率。那么,第只股票的线性分解如下所示:rj=x1f1+x2f2+x3f3+x4f4⋅⋅⋅⋅xKfK+ujr_j=x_1f_1+x_2f_2+x_3f_3+x_4f_4···

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

本篇文章有别于传统的多因子研究,我们并未将重点放在阿尔法因子的挖掘上,而是通过对股票组合的权重优化计算,找到了在市值中性、行业中性、风格因子中性约束下的最优投资组合,以及验证得到的组合权重是否满足了约束条件。

结构化多因子风险模型首先对收益率进行简单的线性分解,分解方程中包含四个组成部分:股票收益率、因子暴露、因子收益率和特质因子收益率。那么,第只股票的线性分解如下所示:

r j = x 1 f 1 + x 2 f 2 + x 3 f 3 + x 4 f 4 ⋅ ⋅ ⋅ ⋅ x K f K + u j r_j=x_1f_1+x_2f_2+x_3f_3+x_4f_4 ····x_Kf_K+u_j rj=x1f1+x2f2+x3f3+x4f4xKfK+uj
现在我们假设每只股票的特质因子收益率与共同因子收益率不相关,并且每只股票的特质因子收益率也不相关。那么在上述表达式的基础上,可以得到组合的风险结构为:

δ P = w T ( X F X T + Δ ) w \delta_{P} = \sqrt{w^T(XFX^T + \Delta) w} δP=wT(XFXT+Δ)w

其中, r j r_j rj表示第j只股票的收益率; x k x_k xk表示第j只股票在第k个因子上的暴露(也称因子载荷); f k f_k fk表示第k个因子的因子收益率(即每单位因子暴露所承载的收益率); u j u_j uj表示第j只股票的特质因子收益率。因此组合收益率可以表示为:
R P = ∑ j = 1 N w j ⋅ ( ∑ k = 1 K x j k f j k + u j ) R_P=\sum_{j=1}^N w_j·(\sum_{k=1}^{K}x_{jk}f_{jk}+u_j) RP=j=1Nwj(k=1Kxjkfjk+uj)

本文研究使用的大类因子可以参考国泰君安的研报《基于组合优化的风格中性多因子选股策略》。使用到的行业因子为申万一级行业分类的28个行业因子和9大类风格因子。风格因子具体为:Beta、Momentum、Size、Earning Yield、Volatility、Growth、Value、 Leverage、Liquidity。

行业中性和风格中性

行业中性是指,多头组合的行业配置与对冲基准的行业配置相一致。行业中性配置的目的在于剔除行业因子对策略收益的影响。与传统观念不同,传统行业配置试图找到在未来某一段时间内强势行业予以超配、弱势行业予以低配,而行业中性的特点在于剔除行业层面的影响,仅考察行业内部个股的超额收益。行业中性策略的净值曲线往往较为平稳,回撤较小。

风格因子中性是指,多头组合的风格因子较之对冲基准的风险暴露为0。风格因子中性的意义在于,将多头组合的风格特征完全与对冲基准相匹配,使得组合的超额收益不来自于某类风格。因为,我们的目的是追求获得稳健的阿尔法收益,而并非市场某种风格的收益。经风格因子中性配置后,策略的净值曲线将会进一步的平滑,最大回撤进一步降低,组合的稳定性较之仅考虑行业中性的配置方式大幅提升。

组合权重优化

组合权重优化在多因子模型中起到了至关重要的作用。组合权重优化的目的在于将组合的风险特征完全定量化,使得投资经理可以清楚的了解组合的收益来源和风险暴露。组合权重优化的过程包含2个因素:第一,权重优化的目标函数;第二,约束条件。
其中,约束条件我们在上一节中已经提到,即为组合的行业中性和风格因子中性。对于权重优化的目标函数,有几类不同的方法:
1)最小化组合预期风险
在这里插入图片描述

2)最大化经风险调整后收益

最大化经风险调整后的收益为目标函数,同时考虑了预期收益与预期风险的作用,并且在马克维茨的均值方差理论框架下,引入了风险厌恶系数,具体权重优化表达为:

多模型融合权重如何训练_单因子模型

3)最大化组合信息比率

最大化组合信息比率为目标函数以预期收益与预期组合风险的比值作为目标函数,具体权重优化表达为:
在这里插入图片描述

上述三种优化目标函数中,第一种方法和第三种方法完全依赖风险模型给定的数据结果进行计算,而第二种最大化经风险调整后的收益为目标函数引入了风险厌恶系数lambda,提高了权重计算的灵活性,使得投资经理可以根据自身的风险偏好进行差异化的选择。

本文复现第二种组合优化方法,暂定假设交易成本TC(w)为0。示意图如下:

在这里插入图片描述

研究结果

本文重点是如何得到组合的权重,因此没有讲解因子分析、因子验证、策略构建部分。一旦组合权重完成,策略构建也基本完成。本文以2019-01-31这一个调仓日为例,分析出当天如果调仓的组合权重。
我们得到了权重以后进行验证,发现组合满足行业中性的约束:
在这里插入图片描述

同时也满足风格中性的约束:
在这里插入图片描述

如果我们想使得组合在行业和风格因子上的风险敞口较基准而言有所暴露,我们直接修改约束条件就行,比如我们想在价值因子(Value)上多暴露0.1,结果如下:
在这里插入图片描述

可以明显地看到目前组合比基准组合在价值因子上的暴露会直接高出0.2,表明目前的组合超配价值因子,主动选择在该因子上进行风险敞口暴露。

最后贴出源码和策略克隆链接:基于Barra多因子模型的组合权重优化

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185420.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Real-Rime Rendering (8) – 光线求交(Ray intersection)

    Real-Rime Rendering (8) – 光线求交(Ray intersection)

  • JetBrains全家桶永久激活码[最新免费获取]

    (JetBrains全家桶永久激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~CIOUM2KBSU-eyJsaWNlb…

  • 需求分析之数据流图学习

    很实在的文章,原文转自http://blog.csdn.net/gashero/article/details/1230185以前眼里的软件工程,虽然重要,但是却一直不太了解其用处到底有多大。现在开始渐渐接触大工程了,才开始真正体验到软件工程的威力。没有好的需求分析,软件等于白做;没有好的系统设计,做了也要重做。在大型软件中,人的因素越来越大,远远超过技术的因素。比如,一些ERP系统的

  • C/C++中随机函数rand()和srand()的用法「建议收藏」

    C/C++中随机函数rand()和srand()的用法「建议收藏」一、rand()函数名:rand功能:随机数发生器用法:intrand(void);所在头文件:stdlib.h函数说明:rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。

  • C语言之strstr函数

    C语言之strstr函数【FROMMSDN&&百科】原型:char*strstr(constchar*str1,constchar*str2);#include找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。返回该位置的指针,如找不到,返回空指针。Returnsapointertothefirstoccurrence

  • Java list foreach_java的foreach

    Java list foreach_java的foreach例子://使用com.google.guava包创建集合List<String>list=Lists.newArrayList(“a”,”b”,”c”,”d”);//1、正常遍历list.forEach(item->System.out.println(item));//2、根据条件遍历list.forEach…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号