Я столкнулся с проблемой при попытке вычислить скользящую корреляцию в pandas. Кажется, что параметр closed
pd.Series.rolling
игнорируется при вычислении корреляций. Я не смог найти ни одной связанной проблемы. Я что-то неправильно понимаю или есть pandas ошибка?
import pandas as pd
index_dates = pd.date_range(start='2000-01-01',
end='2000-01-04',
freq='D')
df = pd.DataFrame([[1, -1],
[2, -2],
[3, -3],
[4, 4]],
columns=['a','b'],
index=index_dates)
# Same outputs
df['a'].rolling(2, min_periods=1).mean().shift(1)
df['a'].rolling('2D', min_periods=1, closed='left').mean()
# Different outputs
df['a'].rolling(2, min_periods=1).corr(df['b']).shift(1)
df['a'].rolling('2D', min_periods=1, closed='left').corr(df['b'])