gpt4 book ai didi

Python - 对风险的边际贡献

转载 作者:太空宇宙 更新时间:2023-11-03 19:47:09 25 4
gpt4 key购买 nike

有人可以帮我解决以下问题吗,因为我已经挣扎了一段时间了。

对风险的边际贡献= 要找到每项 Assets 的边际贡献,请采用权重向量和协方差矩阵的叉积除以投资组合标准差。

现在将每项 Assets 的边际贡献乘以权重向量即可得到总贡献。然后,我们可以对 Assets 贡献求和并确保其等于总投资组合标准差。

Relativeweights = np.array([0.02, -0.025, -0.015, 0.0, 0.02,0,0,0])
cov_matrix_a= 8x8 matrix
Port_volatility= 0.05882615906289199

所以我尝试了以下代码;

MCTAR=(np.dot(Relativeweights,cov_matrix_a))/Port_volatility
TCTPR=MCTAR*Relativeweights
np.sum(TCTPR, axis=0)

这并不等于投资组合的波动性,因此不确定出了什么问题?

任何帮助表示赞赏。谢谢

<小时/>

完整代码如下;

从 csv 文件中提取返回

import numpy as np
import ST as STPL
Assetreturns = STPL.get_Asset_returns()

使用 .cov() 方法构建投资组合每日 yield 的协方差矩阵

cov_matrix_Assetreturns = Assetreturns.cov()
cov_matrix_Assetreturns

以标准 252 个交易日对每日协方差矩阵进行年化

cov_matrix_a = cov_matrix_Assetreturns * 252
cov_matrix_a

分配相对权重

Relativeweights = np.array([0.02, -0.025, -0.015, 0.0, 0.02,0,0,0])
Relativeweights

分配投资组合权重

Portweights = np.array([0.49, 0.15, 0.125, 0.215, 0.02, 0, 0,0])
Portweights

投资组合的标准差只是其方差的平方根

Port_volatility = np.sqrt(np.dot(Portweights.T, np.dot(cov_matrix_a, Portweights)))
Port_volatility

每项 Assets 的边际贡献,取权重向量和协方差矩阵的叉积除以投资组合标准差。

MCTAR=(np.dot(Relativeweights,cov_matrix_a))/Port_volatility

现在将每项 Assets 的边际贡献乘以权重向量即可得到总贡献。然后,我们可以对 Assets 贡献求和并确保其等于总投资组合标准差。

TCTPR=MCTAR*Relativeweights

np.sum(TCTPR, axis=0)

最佳答案

如果您将相对权重 = 端口权重视为等式,那么乘法将得出您期望的答案。

关于Python - 对风险的边际贡献,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60058043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com