我正在寻找一种方法来选择最小化投资组合方差的权重。
例如:
我有 3 项资产;它们的返回值在下面的数组中给出:
import numpy as np
x = np.array([[0.2,-0.1,0.5,-0.2],[0, -0.9, 0.8, 0.2],[0.4,0.5,-0.3,-.01]])
只要它们的权重之和加到 1,我就可以按我的意愿对它们进行加权。我正在寻找能够最小化投资组合方差的权重。
以下是随机选择权重的两个示例:
weight_1 = [0.3,0.3,0.4]
weighted_x_1 = [ele_x*ele_w for ele_x,ele_w in zip (x,weight_1)]
var_1 = np.var(sum(weighted_x_1))
weight_2 = [-0.2,0.4,0.8]
weighted_x_2 = [ele_x*ele_w for ele_x,ele_w in zip (x,weight_2)]
var_2 = np.var(sum(weighted_x_2))
输出:
>>> var_1
0.02351675000000001
>>> var_2
0.012071999999999999
第二种方式更好。
是否有可以为我执行此操作的 Python(或 Python 库)方法?如果没有任何关于我应该使用什么方法来执行上述操作的建议,欢迎提出。
先感谢您