ちょっとした quantmod の問題で立ち往生しています。誰かが私のコードに微調整を提案できる場合は、本当に感謝しています。私はそのようなプログラミングを知りません。たぶんそれが私が明白なことを見逃している理由です。getSymbols
入力として文字列 (例: "YHOO") を受け取りますが、データを保持する xts オブジェクトとして YHOO (引用符なし) のみを返すため、問題が発生しています。また、市場指数の場合、Yahoo はコードの文字列にキャレットを含めますが (例: "^GSPC")、quantmod はプレーンな GSPC をデータ オブジェクトとして返します。
複数のティッカーのデータをダウンロードして、個々のバイナリ ファイルに保存しようとしています。これは、必ずしもインターネット アクセスを必要とするのではなく、ディスクに保存されたデータから機能できる作業環境を作成するためです。
関数を書いてみました:
buildhist <- function(x,start,end) {
getSymbols(x, from=start, to=end, adjust=TRUE)
save(get(x), file= paste(x, "hist.rda", sep="_"), ascii = FALSE)
}
次に使用します
require(quantmod)
tckr <- c("YHOO","XLB")
lapply(tckr,buildhist,start="1995-01-01",end="2011-11-30")
しかし、保存コマンドでエラーが発生します (「オブジェクト 'get(x)' が見つかりません」と表示されます)。を使用しない場合get(x)
、save
コマンドはティッカー名を文字列として保存するだけなので、使用できません。作品などの他のバージョンもありませんsave(noquote(x), file=paste(x, "hist.rda", sep="_"), ascii=FALSE)
。
quantmod によって最初に返されたのと同じオブジェクト名を使用してティッカー データを保存するには、どのコマンドを使用すればよいですか? 上記の私のコードでは、名前からキャレット記号が存在する場合にキャレット記号を削除するという他の問題に取り組もうとさえしていません。それへのポインタも大歓迎です。