1

いくつかの会社のティッカーの CSV をループして、それぞれのティッカー データをダウンロードしたいと考えています。

これまでのところ、変数「ticker」を次のように定義しました。

ticker <- companyList[1, 'Symbol']

「ティッカー」を画面に出力すると、最初の株式ティッカーは問題なく表示されますが、ティッカー変数を quantmod の getSymbols 関数に渡そうとすると、エラーが発生します。

getSymbols(ticker)
Error in do.call(paste("getSymbols.", symbol.source, sep = ""), list(Symbols =   current.symbols;  : 
 could not find function "getSymbols.940"

構文にエラーはありますか? これを行う別の方法はありますか?おすすめの本はありますか?

4

1 に答える 1

2

最も簡単な方法は、環境を指定することです。たとえば、ティッカーを含むベクトルがあると仮定すると、次のようにすることができます。

# tickers example
tik <- c("MMM", "ABT", "ABBV", "ANF", "ACT")

# new environment
stockData <- new.env() 

# download data
getSymbols(tik, env = stockData)

株式にアクセスするためにインデックスを作成するよりも: 例:

stockData$MMM

           MMM.Open MMM.High MMM.Low MMM.Close MMM.Volume MMM.Adjusted
# 2007-01-03    77.53    78.85   77.38     78.26    3781500        65.42
# 2007-01-04    78.40    78.41   77.45     77.95    2968400        65.16
# 2007-01-05    77.89    77.90   77.01     77.42    2765200        64.72
# 2007-01-08    77.42    78.04   76.97     77.59    2434500        64.86
# 2007-01-09    78.00    78.23   77.44     77.68    1896800        64.93
# 2007-01-10    77.31    77.96   77.04     77.85    1787500        65.07

他の株も同様。

ここも参照してください: Quantmod

h番目

編集

エクスポートするには、次のようなものを使用できます。

# this will export 
lapply(stockData, function(x){
  write.csv(x, file=paste0(gsub(".Open", "", names(x)[1]), ".csv"))
    })

# the data can be found in the folder (execute the function!!!)
getwd()
于 2013-10-15T06:14:59.980 に答える