Why does corrcoef return a matrix?

Viewed 114489

It seems strange to me that np.corrcoef returns a matrix.

 correlation1 = corrcoef(Strategy1Returns,Strategy2Returns)

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

Does anyone know why this is the case and whether it is possible to return just one value in the classical sense?

6 Answers

You can use the following function to return only the correlation coefficient:

def pearson_r(x, y):
"""Compute Pearson correlation coefficient between two arrays."""

   # Compute correlation matrix
   corr_mat = np.corrcoef(x, y)

   # Return entry [0,1]
   return corr_mat[0,1]
Related