用python构建多只股票日收益率直方图_Barra纯因子收益率的Python实现

本文介绍了如何使用Python构建纯因子收益率,通过加权最小二乘法解决异方差问题,并通过二次规划优化投资组合权重,以满足A股市场中性化投资需求。详细阐述了理论框架,包括因子暴露度矩阵、权重调整矩阵和约束矩阵的构建,以及二次规划的目标函数设置。最后展示了实操步骤和结果验证。
摘要由CSDN通过智能技术生成

人生若只如初见,何事秋风悲画扇。等闲变却故人心,却道故人心易变。

--《木兰花》 纳兰容若

多因子模型的介绍文章汗牛充栋,但系统性的归纳整理首推石川博士的多因子系列文章,看完绝对让人有醍醐灌顶的感觉。其次大部分多因子文章都是聚焦于方法论层面的探讨,却很少有深入到代码实现层面的讲解,这对于大部分初次接触多因子模型的用户来说似乎总隔着一层窗户纸。秉着Talk is cheap,show me the code的理念,这里来和大家一起复现一下各券商金工研报中经常会提到的纯因子收益率的实现逻辑。由于是个人的理解,纰漏在所难免,欢迎指正。

那什么是纯因子收益率呢?它和我们通常谈论的多空组合因子收益率又有什么差异?

对于任意投资组合,如果该组合对于某个指定因子的暴露度为 1,而对其他因子的暴露度为 0,则称该投资组合为指定因子的纯因子组合。纯因子收益率的实现不同于我们常说的高低分组,因为高低分组求出的多空收益率并不能完全保证投资组合在其他因子上的暴露度恰好为0,比如高低估值分组求估值因子的收益率便会面临着其在市值因子上也存在着明显暴露,因为通常而言,高估值组对应小市值,低估值组对应大市值。

equation?tex=%3E%3E+Weighted+Least+Square%28WLS%29

为了解决投资组合在其他因子上存在风格暴露的问题,一般是通过使用基于截面回归的加权最小二乘法(Weigthed Least Square, WLS)来计算投资组合不同因子下对应的股票权重。在复现之前,我们来简单回顾一下BARRA CNE5中的多因子模型框架。

考虑一个包含

equation?tex=n 只股票的投资组合,其可以用

equation?tex=k 个因子进行解释,

equation?tex=k 个因子中包括

equation?tex=1 个国家因子,

equation?tex=p 个行业因子,

equation?tex=q 个风格因子,即

equation?tex=k+%3D+1+%2B+p+%2B+q 。一般表达式如下:

equation?tex=r_%7Bn%2C1%7D+%3D+X_%7Bn%2C+k%7D+f_%7Bk%2C+1%7D+%2B+%5Cepsilon_%7Bn%2C+1%7D

为了便于理解,通常转换成矩阵的表现形式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值