pass character vector in instrument field of get.hist.quote function
On Apr 6, 2011, at 12:06 PM, algotr8der wrote:
Hi Joshua, THank you for showing me how to use getSymbols. I am trying to follow the example you provided. However I am having some difficulty using the various combination of functions you have used. I tried to execute one step at a time as follows - I have a ticker vector that looks like the following:
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 to use in the lapply call. It has the
following code:
myX <- function(tickers, start, end) {
require(quantmod) # this only needs to be called once.
getSymbols(tickers, from=start, to=end)
}
1) Call lapply by itself
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"
only needed to use three for demonstration purposes
[[14]] [1] "QQQ" So this works fine and I can inspect the value of any of the tickers i.e. SPY. Now I want to extract the Closing prices. 2) I did Cl(SPY) and this outputs the data in the Close column as expected. However, I am not sure how to extract the Closing prices of each of the elements inside the data structure returned by lapply, which I believe is a list structure. I want to merge them into one object as you did but I cant seem to follow.
As pointed out by Joshua Ulrich this was crossposted on SO. Here is
the code I posted there:
> ClosePrices <- do.call(cbind, lapply(tickers, function(x)
Cl(get(x))))
> head(ClosePrices)
SPY.Close DIA.Close QQQ.Close
2001-03-01 124.60 104.68 48.80
2001-03-02 123.61 104.80 46.70
2001-03-05 124.74 105.57 47.55
2001-03-06 126.08 106.15 49.40
2001-03-07 126.98 107.45 49.42
2001-03-08 127.12 108.61 48.50
David Winsemius, MD West Hartford, CT