Мне необходимо выполнить оценку вализинга валовой стоимости ежедневных запасов акций. Сначала я сделал следующее:Оценка стоимости прокатки при риске (VaR) с использованием R
library(PerformanceAnalytics)
data(edhec)
sample<-edhec[,1:5]
var605<-rollapply(as.zoo(sample),width=60,FUN=function(x) VaR(R=x,p=.95,method="modified",invert=T),by.column=TRUE,fill=NA)
Он выполняет вычисления и возвращает объект зоопарка, но дает ряд предупреждений следующим образом:
VaR calculation produces unreliable result (inverse risk) for column: 1 : -0.00030977098532231
Затем я попробовал то же самое с образцом моих данных следующим образом:
library(foreign)
sample2 <- read.dta("sample2.dta")
sample2.xts <- xts(sample2[,-1],order.by=as.Date(sample2$datadate,format= "%Y-%m-%d"))
any(is.na(sample2.xts))
var605<-rollapply(as.zoo(sample2.xts),width=60,FUN=function(x) VaR(R=x,p=.95,method="modified",invert=T),by.column=TRUE,fill=NA)
Но не возвращает какой-либо объект зоопарка и дает следующие предупреждения и ошибки:
VaR calculation produces unreliable result (inverse risk) for column: 1 : -0.0077322590200255
Error in if (eval(tmp < 0)) { : missing value where TRUE/FALSE needed
Called from: top level
От более ранней публикации (Using rollapply function for VaR calculation using R) Я понимаю, что оценка прокатки не может быть выполнена, если полное окно прокатки отсутствует, но в моих данных (sample2.dta) отсутствуют отсутствующие значения.
sample2.dta можно загрузить с https://drive.google.com/file/d/0B8usDJAPeV85WDdDQTFEbGQwaUU/edit?usp=sharing
Может кто-нибудь, пожалуйста, помогите мне решить и понять этот вопрос?
Мне нужно использовать модифицированный VaR, поскольку он учитывает асимметрию и эксцесс как дополнительные параметры при оценке VaR. Реальная проблема возникает, когда выполняется оценка скорости, как объясняется в вопросе. –
Попробуйте заменить 'function (x) VaR (...)' на 'function (x) {out <- try (VaR (...)); if (inherits (out, "try-error")) NA else out} ', чтобы избежать остановки с ошибкой. –
Извините, не повезло. Такая же ошибка. –