Как конвертировать возврат в цены? - PullRequest
2 голосов
/ 03 октября 2011

Мне любопытно, как я возвращаюсь из журнала возвратов к ценам. Вот пример:

> a1 <- c(88.23, 88.44, 88.55, 88.77, 88.99)
> a1 
[1] 88.23 88.44 88.55 88.77 88.99
> a2 <- diff(log(a1))
> a2 
[1] 0.002377315 0.001243008 0.002481391 0.002475249

a1 - цены, a2 - возврат. Как мне перейти от а2 обратно к а1? Любые предложения будут великолепны.

Ответы [ 2 ]

5 голосов
/ 03 октября 2011

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

a3 <- exp(cumsum(a2))

В качестве альтернативы, вы можете использовать

a3 <- cumprod(exp(a2))

Но они будут отключены, потому что вам нужно добавить начальную цену к каждому значению.

4 голосов
/ 03 октября 2011

Что должно сделать:

> Reduce(function(x,y) {x * exp(y)}, a2, init=a1[1], accumulate=T)
[1] 88.23 88.44 88.55 88.77 88.99
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...