Я не понимаю, как работает код ниже.
library(quantmod)
library(PerformanceAnalytics)
library(ggplot2)
library(cowplot)
library(BatchGetSymbols)
library(tidyr)
library(quantmod)
library(xts)
library(TTR)
ticker = 'AAPL'
# Get Data
# set dates
first.date <- Sys.Date() - 360
last.date <- Sys.Date()
out <- BatchGetSymbols(ticker = ticker,
first.date = first.date,
last.date = last.date,
cache.folder = file.path(tempdir(),
'BGS_Cache') )
out<-out$df.tickers
out<-out[,c("ref.date","ticker", "price.adjusted")]
##################################################################
# Eliminate Dupes
deduped_data <- unique(out[ , 1:3 ])
prices <- deduped_data$price.adjusted
prices <- as.data.frame(prices)
# Calculate Returns: Daily RoC
stock_ret <- ROC(prices, type = "discrete")
stock_ret <- as.matrix(stock_ret)
stock_ret <- ROC(stock_ret, type = "discrete")
#Output Top 10 Drawdowns By Magnitude
table.Drawdowns(stock_ret, top = 10, digits = 4)
paste("Average Drawdown",sprintf("%.2f %%", AverageDrawdown(stock_ret) * 100))
paste("Max Drawdown", sprintf("%.2f %%", maxDrawdown(stock_ret, geometric = TRUE) * 100))
paste("Drawdown Deviation",sprintf("%.2f %%", DrawdownDeviation(stock_ret) * 100))
paste("Average Length", round(AverageLength(stock_ret), 2))
paste("Average Recovery Time",round(AverageRecovery(stock_ret), 2))
Когда я попадаю в строку ниже, я получаю сообщение об ошибке.
table.Drawdowns(stock_ret, top = 10, digits = 4)
Error in R[, 1, drop = FALSE] : incorrect number of dimensions
Видимо, что-то не так спеременная 'stock_ret'!
Есть идеи, что здесь не так?Код приходит по ссылке ниже.
http://programmingforfinance.com/2017/11/examining-drawdowns-and-the-pain-index-with-r/