Thanks for the reply.  The src == google is purely in case yahoo fails, I'm using length of 1 to be an error.  I should have commented the code, apologies.

Is it possible to get FTSE (UK market data)?  I'm thinking I can bring back all the symbols, look at the market cap, sort ascending and use that to carve up the index into ftse 100, ftse250 etc etc.


________________________________
 From: G See <gsee000@gmail.com>

Cc: "r-sig-finance@r-project.org" <r-sig-finance@r-project.org> 
Sent: Friday, 26 October 2012, 20:32
Subject: Re: [R-SIG-Finance] [R-SIG-FINANCE] Low Priority - market component list and general coding help

Hi Martin,

comments in-line.


> Hi,
>
> I've searched around and not found anything to help on this, even though it's not the first time it's been asked, so was wondering if anyone had any new ideas.
>
> I really like the device output of the chartSeries function and so have used it to output a bitmap of the stock chart.  What I'm using it for is to get an entire market index component list, however to get that I've had to create my own flat file called masterlist.csv in the below code.  Ideally I'd like to have a function do the same job so I don't have to create the file manually.  This way I can quickly and easily get graphs for an entire stock market.
>
[[elided Yahoo spam]]
an index to be downloaded.

If you just want a list of most stocks, use TTR::stockSymbols()

    R> head(stockSymbols()$Symbol)
    Fetching AMEX symbols...
    Fetching NASDAQ symbols...
    Fetching NYSE symbols...
    [1] "AA-P" "AAU"  "ACU"  "ACY"  "ADGE" "ADK"

If the holdings of ETFs will suffice, you can use getHoldings from my
qmao package on R-Forge
(https://r-forge.r-project.org/R/?group_id=1113)

    R> #install.packages("qmao", repos='http://r-forge.r-project.org')
    R> library(qmao)
    R> rownames(getHoldings("SPY", auto.assign=FALSE))

If you want components of specific indexes, you might look through the
code from systematic investor
https://github.com/systematicinvestor/SIT/blob/master/R/data.r

I haven't used any of that code, but the file I linked to above
appears to get the Symbols of stocks for different indexes.

> Also as you can see my coding skills are restricted by my procedural background, so whilst the below works fine, I'm sure it can be written more efficiently.
>
> One last thing, I'm using the auto.assign = FALSE so that I can use a variable in chartseries, this leaves me with the name of my variable, in this case 'x', on the bitmap, which isn't ideal, meaning I have to refer to the filename for the epic.
>

You can simply provide a "name" argument to chartSeries()

    R> s <- "AAPL"
    R> chartSeries(getSymbols(s, src='google', auto.assign=FALSE), name=s)

Just curious, why use src='google' ?  I've found yahoo's data to be
slightly more reliable.

HTH,
Garrett

> Many thanks,
> Martin
>
> library(quantmod)
>
> masterfile <- "C:/Users/Admin/Documents/Programming/R/current/FTSE100/masterlist.csv"
> path <- "C:/Users/Admin/Documents/Programming/R/ftse100bmps/"
> epicstable <- read.table(masterfile, header=FALSE, sep=",")
>
> i <- 1
> while(is.na(epicstable$V1[i]) == "FALSE")
> {
>   epic_char <- as.character(epicstable$V1[i])
>   x <- try(getSymbols(epic_char, auto.assign=FALSE))
>
>   if (length(x)==1)
>   {
>     x <- try(getSymbols(epic_char, src = "google", auto.assign=FALSE))
>   }
>
>   if (length(x) > 1)
>   {
>     outputfile <- paste(path, epicstable$V1[i], '.bmp')
>     chartSeries(x,subset='2011-01::2012',TA="addVo();addMACD()")
>     bmp(file=outputfile, bg = "transparent", width = 1024, height = 768)
>     dev.off()
>   }
>   i = i + 1
> }
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-SIG-Finance@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions should go.
	[[alternative HTML version deleted]]

