私は株式の終値を持つデータセットに取り組んでいます。データセットに対して線形相関を実行し、相関が最も高い列名を返す方法は?
'GOOG' : [
742.66, 738.40, 738.22, 741.16,
739.98, 747.28, 746.22, 741.80,
745.33, 741.29, 742.83, 750.50
],
'FB' : [
108.40, 107.92, 109.64, 112.22,
109.57, 113.82, 114.03, 112.24,
114.68, 112.92, 113.28, 115.40
],
'MSFT' : [
55.40, 54.63, 54.98, 55.88,
54.12, 59.16, 58.14, 55.97,
61.20, 57.14, 56.62, 59.25
],
'AAPL' : [
106.00, 104.66, 104.87, 105.69,
104.22, 110.16, 109.84, 108.86,
110.14, 107.66, 108.08, 109.90
]
これは過去12日間の終値です。私は、特定の企業のどのペアの株が日々の終値の変化率が最も高く相関しているかを調べ、それを配列として返す必要があります。
import pandas as pd
import numpy as np
class StockPrices:
# param prices dict of string to list. A dictionary containing the tickers of the stocks, and each tickers daily prices.
# returns list of strings. A list containing the tickers of the two most correlated stocks.
@staticmethod
def most_corr(prices):
return
#For example, with the parameters below the function should return ['FB', 'MSFT'].
prices = {
'GOOG' : [
742.66, 738.40, 738.22, 741.16,
739.98, 747.28, 746.22, 741.80,
745.33, 741.29, 742.83, 750.50
],
'FB' : [
108.40, 107.92, 109.64, 112.22,
109.57, 113.82, 114.03, 112.24,
114.68, 112.92, 113.28, 115.40
],
'MSFT' : [
55.40, 54.63, 54.98, 55.88,
54.12, 59.16, 58.14, 55.97,
61.20, 57.14, 56.62, 59.25
],
'AAPL' : [
106.00, 104.66, 104.87, 105.69,
104.22, 110.16, 109.84, 108.86,
110.14, 107.66, 108.08, 109.90
]
}
print(StockPrices.most_corr(prices))
私はnumpyの相関関数を介して行っているが、どのように最大の相関を持って、次の2つのベクトルのかを決定するためにその正確な機能を使用することができますか?