Вы можете найти индекс с помощью
returns[returns.BUY == 1].index.values.astype(int)
Редактировать: Не уверен, правильно ли я вас понимаю.Вы можете попытаться создать индекс + n с помощью
for i in range(1, len(df) - n):
df.loc[i, 'index+n'] = df.loc[i+n, 'index']
И затем вы можете использовать функцию apply, чтобы использовать любые условия, которые вы хотели бы использовать.