私は3つのマーケット(GLD、SPY、USO)から毎日のリターンを得ています。私の目標は、相関行列からの130日間の平均的なペアワイズ相関を計算することです。Pythonのローリング平均ペアワイズ相関
私の出発点でした:
import numpy as np
import pandas as pd
import os as os
import pandas.io.data as web
import datetime as datetime
from pandas.io.data import DataReader
stocks = ['spy', 'gld', 'uso']
start = datetime.datetime(2010,1,1)
end = datetime.datetime(2016,1,1)
df = web.DataReader(stocks, 'yahoo', start, end)
adj_close_df = df['Adj Close']
returns = adj_close_df.pct_change(1).dropna()
returns = returns.dropna()
rollingcor = returns.rolling(130).corr()
これは、相関行列のパネルを作成します。しかし、下側(または上側)の三角形を抽出し、対角線を削除してから各観測値の平均を計算すると、空白が描画されます。理想的には、各日付の出力をシリーズにして、日付でインデックス化できるようにしたいと思います。
多分私は間違った場所から始めましたが、何か助けていただければ幸いです。
平均相関とは、この場合、各日付について平均して3つの値を意味しますか? (すべてのペアごとの組み合わせ) – aldanor
はい3つの値の平均。 – Joe