我有來自三個市場(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