R-код: почему ожидаемая бесконечность возврата?

Целью R-кода является чтение исторических цен MSFT от Yahoo и вычисление их доходности для ежедневных цен открытия.

#load packages
library(quantmod)
library(PerformanceAnalytics)

getSymbols("MSFT") #read data

#Call function to analyze open price
table.AnnualizedReturns(MSFT[,1]) #End of the code

Результат всегда показывает, что его возвращение равно бесконечности следующим образом:

                          MSFT.Open
Annualized Return               Inf
Annualized Std Dev         136.4471
Annualized Sharpe (Rf=0%)       Inf

Я ценю, если кто-то может помочь мне определить ошибку, вызывающую бесконечность.

1 ответ

Решение

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

#load packages
library(quantmod)
library(PerformanceAnalytics)

getSymbols("MSFT") #read data

#Call function to analyze open price

r <- Return.calculate(MSFT[,1]) #Returns

table.AnnualizedReturns(na.omit(r)) #End of the code

                          MSFT.Open
Annualized Return            0.0683
Annualized Std Dev           0.2735
Annualized Sharpe (Rf=0%)    0.2498
Другие вопросы по тегам