Вычислить доходность за период времени

Я пытаюсь получить временные ряды доходности для удержания определенного актива в течение определенного времени.

Мой фрейм данных выглядит следующим образом:

Date          Price
1998-01-01     20
1998-01-02     22
1998-01-03     21
1998-01-04     25
...
1998-01-20     25
1998-01-21     19
1998-01-21     20
....
1998-02-01     30
1998-02-02     28
1998-02-03     25
1998-02-04     26
etc.

У меня есть одно наблюдение за каждый день и мой временной ряд идет с 1998 по 1999 год.

Сейчас я хотел бы рассчитать доходность владения своим активом в течение 20 дней (то есть покупать его в первый день и продавать в день 20), и делать это каждый день. Итак, я хотел бы вычислить это:

1. день: возврат (20 дней) = журнал (цена (t = 20) / цена (t = 0)),

2. день: возврат (20 дней) = журнал (Цена (t = 21) / Цена (t = 1)),

3. день: возврат (20 дней) = журнал (Цена (t = 22) / Цена (t = 2))

и т. Д., то есть делать это каждый день в моей выборке.

Итак, мой результирующий фрейм данных будет выглядеть так:

Date          Return
1998-01-01     0.2
1998-01-02     0.4
1998-01-03     0.6
1998-01-04     0.1
...
1998-01-20     0.1
1998-01-21     0.2
1998-01-21     0.5
....
1998-02-01     0.1
1998-02-02     0.2
1998-02-03     0.5
1998-02-04     0.01
etc.

Есть ли способ в R сказать: возьмите первые 20 наблюдений, вычислите доход. Возьмите наблюдение 2-21, рассчитать доходность. Возьмите наблюдение 3-22, вычислите доход и т. Д.?

Я полностью застрял и был бы признателен за помощь. Спасибо! Dani

10
задан Dani 17 December 2010 в 16:38
поделиться