如何使用pandas计算滚动相关性?

bvk5enib  于 2023-04-28  发布在  其他
关注(0)|答案(2)|浏览(187)

我知道如何计算滚动总和、标准差或平均值。示例:

df['MA10'] = df['Asset1'].rolling(10).mean()

但是我不理解计算两个dataframes列之间的滚动相关性的语法:df['Asset1']df['Asset2']
文档没有提供任何关于相关性的示例。
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rolling.html
有什么见解吗?
谢谢!

uttx8gqw

uttx8gqw1#

它就在那里,即使隐藏了一点:

df['Asset1'].rolling(10).corr(df['Asset2'])
pod7payv

pod7payv2#

它慢了一点(~ 3倍),也长了一点,但在某些情况下更能说明问题:

df[['Asset1','Asset2']].rolling(10).corr().unstack().iloc[:,0]

多种资产:

df[['Asset1','Asset2','Asset3']].rolling(100).corr().unstack().iloc[:,[0,1]]

相关问题