SP500 の 500 百株の過去 1 年間の終値を取得しようとしています。SP500 ファイルはこちらからhttp://blog.quanttrader.org/2011/03/downloading-sp-500-data-to-r/sp500/
1 日単位で 2 つの日付の間の動物園オブジェクトを初期化しました。これを株価の終値と併合すると、最終的な「z」は、一部の日付 (週末、祝日) で na を持つオブジェクトを返します。したがって、na.omit を使用して na を削除しようとしましたが、これは単純に空のオブジェクトを返します。ただし、na.omit は、100 のように在庫数が少ない場合に機能します。なぜこうなった?
library(quantmod);
library(PerformanceAnalytics);
#Get SP500 stocks
symbols <- read.csv("~/Dropbox/R works/sp500.csv",header=F,stringsAsFactors=F)
nrStocks <- length(symbols[,1])
#Past 1 yr returns
to <- Sys.Date()-1
from <-seq(to, length=2, by="-1 year")[2]
dates<- seq(from=from,to=to,by="1 day")
z <- zoo(,dates)
for (i in 1:nrStocks) {
cat("Downloading ", i, " out of ", nrStocks , "\n")
x <- try(Cl(getSymbols(symbols[i,],from = from, to = to, auto.assign=FALSE)))
if (!inherits(x, "try-error") ){
z<-merge(x,z)
}
}
z<-na.omit(z)