对我来说,np.corrcoef返回一个矩阵似乎很奇怪。

 correlation1 = corrcoef(Strategy1Returns,Strategy2Returns)

[[ 1.         -0.99598935]
 [-0.99598935  1.        ]]

有谁知道为什么会这样,以及是否有可能仅返回经典意义上的一个值?

最佳答案

它允许您计算> 2个数据集的相关系数,例如

>>> from numpy import *
>>> a = array([1,2,3,4,6,7,8,9])
>>> b = array([2,4,6,8,10,12,13,15])
>>> c = array([-1,-2,-2,-3,-4,-6,-7,-8])
>>> corrcoef([a,b,c])
array([[ 1.        ,  0.99535001, -0.9805214 ],
       [ 0.99535001,  1.        , -0.97172394],
       [-0.9805214 , -0.97172394,  1.        ]])

在这里,我们可以立即获得a,b(0.995),a,c(-0.981)和b,c(-0.972)的相关系数。两个数据集的情况只是N数据集类的一个特例。最好保持相同的返回类型。由于“一个值”可以简单地通过
>>> corrcoef(a,b)[1,0]
0.99535001355530017

没有特殊理由创建特殊情况。

08-04 13:51