gpt4 book ai didi

python - 来自因子载荷和因子协方差的协方差矩阵?

转载 作者:行者123 更新时间:2023-12-01 08:55:42 27 4
gpt4 key购买 nike

我有一个包含 6 个 Assets 的列表,其中包含 4 个因子的加载向量,并且我有这 4 个因子的协方差矩阵。如何使用这两个输入构建 6x6“ Assets ”协方差矩阵?

import pandas as pd
import numpy as np
## Python 2.7

加载向量:

raw_asset_loadings = {'asset1': [.25, .25, .25, .25], 
'asset2': [.0, 0,.5,.5],
'asset3': [0,0,1.25,.25],
'asset4': [0,0,.25,0],
'asset5': [.85,0,0,.15],
'asset6': [.7,.15,0,.15]}
asset_loadings = pd.DataFrame(data=raw_asset_loadings)

产生

    asset1  asset2  asset3  asset4  asset5  asset6
0 0.25 0.0 0.00 0.00 0.85 0.70
1 0.25 0.0 0.00 0.00 0.00 0.15
2 0.25 0.5 1.25 0.25 0.00 0.00
3 0.25 0.5 0.25 0.00 0.15 0.15

和因子协方差矩阵:

raw_cov = {0: [.04, .008, .12, .0], 
1: [.008, .01,.0015,0],
2: [.0012,.0015,.0036,.0],
3: [.0,.0,.0,.0004]}
factor_cov = pd.DataFrame(data=raw_cov)

产生

    0       1       2       3
0 0.040 0.0080 0.0012 0.0000
1 0.008 0.0100 0.0015 0.0000
2 0.120 0.0015 0.0036 0.0000
3 0.000 0.0000 0.0000 0.0004

我认为这可行,但我得到一个 4x6 矩阵,而不是所需的 6x6 矩阵:

covy = (np.matmul(np.matmul(asset_loadings.T,factor_cov),factor_cov))

关于如何从 4 个因素创建 6x6 有什么想法吗?

最佳答案

最后乘以错误的项。答案是:

covy = (np.matmul(np.matmul(asset_loadings.T,factor_cov),asset_loadings))

第一次在 stackoverflow 上发帖,当然,我在出去喝咖啡 10 分钟后得到了自己的答案......

关于python - 来自因子载荷和因子协方差的协方差矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52783180/

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