pythonintermediate

Pandas Rolling Correlation

Compute rolling Pearson correlation between two columns to detect shifting relationships over time.

python
import pandas as pd
import numpy as np

idx = pd.date_range('2024-01-01', periods=100, freq='D')
df = pd.DataFrame({'A': np.random.randn(100).cumsum(),'B': np.random.randn(100).cumsum()}, index=idx)

df['rolling_corr'] = df['A'].rolling(30).corr(df['B'])
df['rolling_corr_15'] = df['A'].rolling(15).corr(df['B'])

print(df.tail(10))

Use Cases

  • regime detection
  • financial analytics
  • signal relationships

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.