I talked with this for a while. I recently started using quantmod to analyze stock price analytics.
I have a ticker vector that looks like this:
> tickers [1] "SPY" "DIA" "IWM" "SMH" "OIH" "XLY" "XLP" "XLE" "XLI" "XLB" "XLK" "XLU" "XLV" [14] "QQQ" > str(tickers) chr [1:14] "SPY" "DIA" "IWM" "SMH" "OIH" "XLY" "XLP" "XLE" ...
I wrote a function called myX for use in a latent call to save prices for each stock in vector tickers. It has the following code:
myX <- function(tickers, start, end) { require(quantmod) getSymbols(tickers, from=start, to=end) }
I call lapply on my own
Library (quantmod) lapply (tickers, myX, start = "2001-03-01", end = "2011-03-11")
> lapply(tickers,myX,start="2001-03-01", end="2011-03-11") [[1]] [1] "SPY" [[2]] [1] "DIA" [[3]] [1] "IWM" [[4]] [1] "SMH" [[5]] [1] "OIH" [[6]] [1] "XLY" [[7]] [1] "XLP" [[8]] [1] "XLE" [[9]] [1] "XLI" [[10]] [1] "XLB" [[11]] [1] "XLK" [[12]] [1] "XLU" [[13]] [1] "XLV" [[14]] [1] "QQQ"
It works great. Now I want to combine the closing prices for each stock into an object that looks like
# BCSI.Close WBSN.Close NTAP.Close FFIV.Close SU.Close # 2011-01-03 30.50 20.36 57.41 134.33 38.82 # 2011-01-04 30.24 19.82 57.38 132.07 38.03 # 2011-01-05 31.36 19.90 57.87 137.29 38.40 # 2011-01-06 32.04 19.79 57.49 138.07 37.23 # 2011-01-07 31.95 19.77 57.20 138.35 37.30 # 2011-01-10 31.55 19.76 58.22 142.69 37.04
Someone is advised to try something like the following:
ClosePrices <- do.call (merge, lapply (tickers, function (x) Cl (get (x))))
However, I have tried various combinations of this without any success. At first I tried just calling lapply with Cl (x)
>lapply(tickers,myX,start="2001-03-01", end="2011-03-11") Cl(myX))) > lapply(tickers,myX,start="2001-03-01", end="2011-03-11") Cl(x))) Error: unexpected symbol in "lapply(tickers,myX,start="2001-03-01", end="2011-03-11") Cl" > > lapply(tickers,myX(x),start="2001-03-01", end="2011-03-11") Cl(x))) Error: unexpected symbol in "lapply(tickers,myX(x),start="2001-03-01", end="2011-03-11") Cl" > > lapply(tickers,myX(start="2001-03-01", end="2011-03-11") Cl(x) Error: unexpected symbol in "lapply(tickers,myX(start="2001-03-01", end="2011-03-11") Cl" > lapply(tickers,myX(start="2001-03-01", end="2011-03-11") Cl(x)) Error: unexpected symbol in "lapply(tickers,myX(start="2001-03-01", end="2011-03-11") Cl" >
Any recommendations would be kindly appreciated.