Я пытаюсь реализовать коэффициент эффективности Kaufman (ER) в Python с Pandas.Расчет коэффициента эффективности Кауфмана в Python с Pandas?
В панды DataFrame, у меня есть две колонки:
- Дата
- Цена закрытия запаса (немецкий индекс DAX,^GDAXI, в данном примере):
Date Close 2016-01-05 10310.10 2016-01-06 10214.02 2016-01-07 9979.85 2016-01-08 9849.34 2016-01-11 9825.07 2016-01-12 9985.43 2016-01-13 9960.96 2016-01-14 9794.20
Мне нужен третий столбец, который включает в себя ER для заданного периода n.
Определение ER:
ER = Direction/Volatility
Где:
Direction = ABS (Close – Close[n])
Volatility = n * ∑ (ABS(Close – Close[1]))
n = The efficiency ratio period.
Вот пример = 3 периода ER (взяты из http://etfhq.com/blog/2011/02/07/kaufmans-efficiency-ratio/):
С чем я боюсь, как это сделать в Python с Pandas? В конце концов, мой dataframe должен выглядеть следующим образом, в соответствии с расчетом выше:
Date Adj Close ER(3) 2016-01-04 10283.44 2016-01-05 10310.10 2016-01-06 10214.02 2016-01-07 9979.85 0.9 2016-01-08 9849.34 1.0 2016-01-11 9825.07 1.0 2016-01-12 9985.43 0.0 2016-01-13 9960.96 0.5 2016-01-14 9794.20 0.1
Как сделать панда, чтобы оглянуться назад на предыдущем п строки для расчета необходимого для ER?
Любая помощь очень ценится! Спасибо заранее. Dirk
Не похоже, что вы действительно пробовали. По крайней мере, у вас есть данные в рамке данных pandas? Если это так, пожалуйста, покажите фрагмент в качестве примера. А затем покажите, какой будет результат для этого примера. – IanS
Привет, Ян, спасибо за предложение добавить срез блока данных. Сообщение обновлено соответствующим образом. Я попытался - и я в порядке с основными (катящимися) функциями в Pandas, но не могу понять, как создать функцию качения самостоятельно - я считаю, что это то, что в конечном итоге необходимо. – user1653205