[R-SIG-Finance] I know I should be able to figure this out...

Samuel Wilson samuelcoltwilson at gmail.com
Fri Apr 10 04:00:02 CEST 2015


  Wow, that’s a cool idea, I’ll try it!


I had already written them as function anyway.


Sam






Sent with Unibox



> On Apr 9, 2015, at 2:25 PM, James Toll <james at jtoll.com> wrote:
> 
> 
>> 
>> On Apr 6, 2015, at 11:59 AM, Samuel Wilson <samuelcoltwilson at gmail.com> wrote:
>> 
>> 
>> I'm trying to create a script that takes a list of equity tickers (60-80
>> tickers each day), and downloads their prices and puts them into
>> data.frames.
>> 
>> 
>> 
> 
> 
> I realize your question was answered, but is there a particular reason you want to make this a data.frame? If I’m not mistaken, the performance should be better if left as xts (i.e. matrix). Might I suggest creating a list of xts?
> 
> 
> Given your tickers:
> 
> 
> tickers<-c("GLD","DBC", "EEM", "EFV","EFG","BND","TLT","SHY","IWF","IWD","IWC","IWO","IWN","VNQ")
> 
> 
> Something like:
> 
> 
> library(parallel)
> library(quantmod)
> library(xts)
> 
> 
> getData <- function (symbols, ...) {
> result <- mclapply(symbols, function(x) getSymbols(x, auto.assign = FALSE, ...))
> names(result) <- symbols
> return(result)
> }
> 
> 
> output <- getData(tickers)
> output$GLD["2015-04”]
> 
> 
>> However, I want to build a generic engine
>> using for.next loops, because the list of tickers will change each day.
>> 
>> 
>> 
> 
> 
> Rather than for loops, write functions to do what you need, and then you can take advantage of the parallel apply functions like mclapply.
> 
> 
> mclapply(tickers, function(x) last(output[[x]]))
> 
> 
> Just a suggestion.
> 
> 
> 
> 
> 
> James
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 

	[[alternative HTML version deleted]]



More information about the R-SIG-Finance mailing list