2017-06-01 4 views
0

ここではかなり新しくて、私は自分のために思うような非常に独特の問題に固執しています。私はすべてのS & P500ティッカー(MMM、ABT、ABBV、ACN、ATVI、AYI、ADBE ....)を持つ列を持っています。次に、私はすべてのティッカーのxtsを要求するいくつかのコードを実行します。 (最初の列は、ティッカーからなる)私は、ループを作成するのが得意ではないので、私は、このような方法で行った:S&P500コンポーネントの価格をダウンローズ

sp500=read.csv(text=getURL("https://raw.githubusercontent.com/datasets/s-and-p-500-companies/master/data/constituents-financials.csv"), header=T) 
n=nrow(sp500) 
for(i in 1:n) { 
    j <- sp500[i,1] 
    getSymbols(j) 
    j=as.data.frame(j)  
} 

だから私は、データセットの多くを得る、ティッカーは、列に与えられたとして、同じように呼ばれます、それは前に言及されました。しかし、問題は実際には、どうにかして、各データセットから1つの正確な列で構成される一種の集合データセットを作成することです。言い換えれば、私はMMM$MMM.Closeをとり、ABT$ABT.Closeなどを追加する必要があります。

手動で行うのは時間がかかると思いますので、どのようにしてそれらのデータセットのコードを1つ1つ(ループを使用して)扱うことができますか?テロップの列?

+0

あなたは何を意味するのかわかりません。 – AidanGawronski

答えて

0

ここでは、選択したテロップ(@Quant Guyへのクレジット)の毎日のCLOSE価格をダウンロードするコードを示します。私はあなたのファイルを開くことができませんでしたし、無料の信頼できる情報源を(別にウィキペディアからのすべてのS & P500指数の構成部品を見つけるために)見つけることができないので、私は手動でティッカーを入力する:

library(quantmod) 
    tickers = c("WMT", "MMM","AIG", "AAPL", "KO", 
      "COST", "C", "AMZN", "ICE", "VTR") 

getSymbols(tickers, from = "2010-01-01", to = "2015-12-31") 
P <- NULL 
seltickers <- NULL 

for(ticker in tickers) {  
    tmp = Cl(eval(parse(text = ticker))) ## Cl from quantmod 
    if(is.null(P)){ timeP = time(tmp) } 
    if(any(time(tmp)!=timeP)) next 
    else P = cbind(P, as.numeric(tmp)) 
    seltickers = c(seltickers, ticker) 
} 

P = xts(P, order.by = timeP) 
colnames(P) = seltickers 

だけtickersを変更し、あなたは行かなくてはなりません。