python7c 高等数学 之 BL模型,barra收益回归模型

这篇博客介绍了Black-Litterman模型用于确定投资组合预期收益和风险,并通过二次规划优化权重。同时,讨论了Barra回归在处理市场因子和收益率之间的关系,包括去极值、标准化以及加权回归的过程,以实现更精准的投资决策。

1. BL

def blacklitterman(returns,tau,P,Q):

mu=returns.mean()

sigma=returns.cov() #协方差

pil=np.expand_dims(mu,axis=0).T #转换维度,axis=0代表扩展列; axis=-1代表扩展最后一个参数

ts=tau*sigma

ts_1=linalg.inv(ts) #np.linalg.inv():矩阵求逆

Omega = np.dot(np.dot(P,ts), P.T)* np.eye(Q.shape[0])#如果a和b都是一维数组,np.dot 向量的内积;如果a和b都是二维数组,那么它返回的是矩阵乘法。# np.eye 对角线为1,其他为0

Omega_1 = linalg.inv(Omega)

er = np.dot(linalg.inv(ts_1 + np.dot(np.dot(P.T,Omega_1),P)),(np.dot(ts_1 ,pil)+np.dot(np.dot(P.T,Omega_1),Q)))

posterirorSigma = linalg.inv(ts_1 + np.dot(np.dot(P.T,Omega_1),P))

return [er, posterirorSigma]

##定义最小化方差的函数,即求解二次规划

def blminVar(blres, goalRet):

covs = np.array(blres[1],dtype=float)

means = np.array(blres[0],dtype=float)

L1 = np.append(np.append(covs.swapaxes(0,1),[means.flatten()],axis=0),[np.ones(len(means))],axis=0).swapaxes(0,1)

## 使用tr

Barra模型是指由Barra公司开发并广泛应用于股票投资组合管理和风险分析的一种量化模型。它通过对股票的基本面因素进行分析,以预测股票的收益和风险,并用于构建投资组合。 Barra模型的核心是风险因子模型,该模型将投资组合的收益率与各种市场风险因子的变动相关联,从而解释投资组合的风险和收益。这些风险因子包括股票市场风险、行业风险、公司规模风险、财务风险等。通过对这些风险因子的分析,可以了解投资组合在不同市场环境下的表现和风险。 Python是一种广泛应用于数据科学和量化金融领域的编程语言,它具有易学易用的特点,且有丰富的库和工具支持。在Barra模型的应用中,Python可以用于数据获取、数据分析和模型构建等方面。可以使用Python的各种库,如pandas、numpy、scipy等处理和分析大量的股票和市场数据,同时也可以使用matplotlib和seaborn等库进行数据可视化和结果展示。此外,Python还有一些特定于金融领域的库,如zipline和pyfolio,可以用于构建投资策略和评估投资组合的表现。 GitHub是一个代码托管平台,用户可以使用Git版本控制系统来管理和分享代码。在Barra模型的应用中,可以使用GitHub来共享和协作开发Barra模型相关的Python代码和其他的工具。用户可以将自己的代码上传到GitHub上,与其他人分享和交流,也可以从GitHub上下载别人的代码并改进完善。 总结来说,Barra模型是一种用于量化金融领域的模型,通过对股票基本面因素的分析来预测股票的收益和风险。Python是一种广泛应用的编程语言,可以用于数据分析和模型构建。而GitHub则是一个代码托管平台,方便用户共享和协作开发代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值