Как показать разрывы на графиках R / QuantModSeries / CandleChart - PullRequest
6 голосов
/ 01 апреля 2011

Я пытаюсь показать «пробелы» в финансовых данных, используя функции построения графиков в отличном пакете для квантовой модели R.

Обычно R позволяет отображать пропуски на графиках, используя значения NA, например:

x<-1:10
y<-2*x
y[4:7]<-NA
plot(x,y,type="l")

Я хотел бы сделать что-то подобное с графиками свечей R / QuantMod. Однако строки данных, содержащие NA, удаляются перед построением (есть команда na.omit в коде chartSeries, которая делает это), поэтому я не вижу, как это сделать.

Пример:

require(quantmod)

#Make some pretend data
x<-0:30
y<-100+20*sin(x)
y.open<-y[-length(y)]
y.close<-y[-1]
val<-as.xts(cbind(y.open,y.open+5,y.close-5,y.close,1000),order.by=as.POSIXct(paste("2011-01-",x[-1],sep='')))
colnames(val)<-c("Open","High","Low","Close","Volume")

#Plot this pretend data
candleChart(val,theme="white")

#Now try and make a "gap" in the middle of the data and plot it
val2<-val
val2[5:20,]<-NA
candleChart(val2,theme="white")

Каков «правильный» способ сделать это? Думаю, я мог бы перезаписать chartSeries своей версией этой функции (идентичной, но без вызова na.omit ()), но это выглядит довольно радикально.

Возможно, есть возможность сделать такую ​​вещь доступной? Мне не удалось найти что-нибудь полезное для Google ...

Спасибо, FTTB

1 Ответ

7 голосов
/ 01 апреля 2011

Ответ не в том, чтобы использовать chartSeries, а в более новом варианте (все еще в техническом развитии) chart_Series .Обратите внимание на подчеркивание.

chart_Series(val2)

Если вам нужна более подробная информация о квантомоде и использовании R в финансах, мы проводим большую конференцию в Чикаго в конце этого месяца.Более подробную информацию можно найти здесь: R / Finance 2011

Надеюсь, что это поможет, и надеемся увидеть вас в Чикаго !!

...