You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Mesmo feito dessa forma pode acabar com um acumulado negativo (ver ao final exemplo reproduzível)
Pessoalmente, dado que a ideia é mostrar o retorno acumulado de 1 real, seria melhor calcular um índice a partir das cotações ajustadas (x = price_adjusted), válido para ambos tipos de retornos:
calc_cum1 <- function(x) {
this_cum_ret <- x/x[1]
return(this_cum_ret)
}
Quando a lista de símbolos não está ordenada, como você usa split na funação calc_cum_ret, o resultado é ordenado alfabeticamente, organizando os dados de forma diferente, que não necessariamente corresponde ao original. Para superar isso sem precisar maiores alterações sugiro incluir
tickers <- sort(tickers)
ao início da função yf_get
Boa tarde Marcelo, parabéns pelo pacote yfR.
Identifiquei 2 problemas, relacionados ao cálculo da coluna cumret_adjusted_prices.
calc_cum <- function(x, type_return) {
this_cum_ret <- switch(type_return, arit = cumprod(1 + x), log = 1+cumsum( x))
return(this_cum_ret)
}
Mesmo feito dessa forma pode acabar com um acumulado negativo (ver ao final exemplo reproduzível)
Pessoalmente, dado que a ideia é mostrar o retorno acumulado de 1 real, seria melhor calcular um índice a partir das cotações ajustadas (x = price_adjusted), válido para ambos tipos de retornos:
calc_cum1 <- function(x) {
this_cum_ret <- x/x[1]
return(this_cum_ret)
}
tickers <- sort(tickers)
ao início da função yf_get
Abraço
The text was updated successfully, but these errors were encountered: