Годовой СРЕДСТВО возвратов. - PullRequest
0 голосов
/ 07 сентября 2018

Извините, я новичок в Пандах. Могу ли я проверить, как я могу использовать Pandas, чтобы получить среднегодовой доход . (Примечание: НЕ Годовой доход) Я хотел бы рассчитать для всего кадра данных

Среднее значение возвратов: m = (1 / M * Σ?)

M - количество наблюдений (1 дата = 1 наблюдение), r - дневная доходность

Среднегодовая доходность = = (1 + m) ^ 365 -1

Я уже рассчитал ежедневную прибыль, используя .pctchange

This is the returns

Итак, чтобы дать вам, ребята, пример, пропустив первый столбец с NaN.

Из второго столбца, предполагая, что я сделал наблюдение с 26-го по 30-е, поэтому расчет:

м = (1/3 * (0,007246 + 0,001199 + 0,006587)) = 0,00501

Среднегодовая доходность = = (1 + 0,00501) ^ 365 -1

Формула выше

Извините за мой плохой английский.

Спасибо :)

1 Ответ

0 голосов
/ 07 сентября 2018

Это может быть полезно для вас. Назначьте индекс даты и времени, примените функцию groupby к году и рассчитайте среднее значение :-) Групповой индекс

Рассмотренный образец DataFrame

              TP    MENU    SLY     CZA
Time                
2016-01-31  1.01    -0.33   -0.60   0.0
2016-01-30  0.32    0.06    0.16    0.0
2017-01-29  -1.19   -0.10   0.34    0.0
2017-01-28  -0.31   0.62    -0.20   0.0
2017-01-27  0.39    0.03    -0.43   0.0
2017-01-26  1.21    -0.54   -0.21   0.0
2018-07-25  -0.39   0.67    -0.11   0.0
2018-07-24  -0.27   0.00    0.11    0.0

Фрагмент кода

df.index = pd.to_datetime(df.index)
df.groupby([df.index.year]).mean()

Выход Среднегодовое значение

          TP     MENU    SLY    CZA
2016    0.665   -0.1350 -0.220  0.0
2017    0.025   0.0025  -0.125  0.0
2018    -0.330  0.3350  0.000   0.0
...