Je peux peut-être vous aider en vous fournissant une liste des symboles de téléscripteur pour les actions (américaines et non américaines) et pour les ETF.
Yahoo propose un calendrier des bénéfices qui répertorie toutes les actions qui annoncent des bénéfices pour un jour donné. Cette liste inclut les actions non américaines.
Par exemple, voici celui d'aujourd'hui : http://biz.yahoo.com/research/earncal/20120710.html
la dernière partie de l'URL est la date (au format AAAAMMJJ) pour laquelle vous souhaitez obtenir le calendrier des gains. Vous pouvez parcourir plusieurs jours en boucle et extraire les symboles de toutes les actions qui ont déclaré des bénéfices ces jours-là.
Il n'y a aucune garantie que yahoo dispose de données pour toutes les actions qui déclarent des bénéfices, d'autant plus que certaines actions n'existent plus (faillite, acquisition, etc.), mais c'est probablement un bon point de départ.
Si vous êtes familier avec R
vous pouvez utiliser l'option paquet qmao pour ce faire. (Voir ce poste ) si vous avez des difficultés à l'installer.
ec <- getEarningsCalendar(from="2011-01-01", to="2012-07-01") #this may take a while
s <- unique(ec$Symbol)
length(s)
#[1] 12223
head(s, 20) #look at the first 20 Symbols
# [1] "CVGW" "ANGO" "CAMP" "LNDC" "MOS" "NEOG" "SONC"
# [8] "TISI" "SHLM" "FDO" "FC" "JPST.PK" "RECN" "RELL"
#[15] "RT" "UNF" "WOR" "WSCI" "ZEP" "AEHR"
Cela n'inclut pas les ETF, les contrats à terme, les options, les obligations, les devises ou les fonds communs de placement.
Vous pouvez obtenir une liste des ETF à partir de yahoo ici : http://finance.yahoo.com/etf/browser/mkt Cela ne montre que les 20 premiers. Vous avez besoin de l'URL du lien "Tout afficher" en en bas de cette page. Vous pouvez gratter la page pour savoir combien il y a d'ETF. ETFs, puis construire une URL.
L <- readLines("http://finance.yahoo.com/etf/browser/mkt")
# Sorry for the ugly regex
n <- gsub("^(\\w+)\\s?(.*)$", "\\1",
gsub("(.*)(Showing 1 - 20 of )(.*)", "\\3",
L[grep("Showing 1 - 20", L)]))
URL <- paste0("http://finance.yahoo.com/etf/browser/mkt?c=0&k=5&f=0&o=d&cs=1&ce=", n)
#http://finance.yahoo.com/etf/browser/mkt?c=0&k=5&f=0&o=d&cs=1&ce=1442
Maintenant, vous pouvez extraire les téléscripteurs du tableau de cette page.
library(XML)
tbl <- readHTMLTable(URL, stringsAsFactors=FALSE)
dat <- tbl[[tail(grep("Ticker", tbl), 1)]][-1, ]
colnames(dat) <- dat[1, ]
dat <- dat[-1, ]
etfs <- dat$Ticker # All ETF tickers from yahoo
length(etfs)
#[1] 1442
head(etfs)
#[1] "DGAZ" "TAGS" "GASX" "KOLD" "DWTI" "RTSA"
C'est à peu près toute l'aide que je peux offrir, mais vous pourriez faire quelque chose de similaire pour obtenir certains des futurs qu'ils offrent en grattant ces pages. (Il s'agit uniquement de contrats à terme américains)
http://finance.yahoo.com/indices?e=futures , http://finance.yahoo.com/futures?t=energy , http://finance.yahoo.com/futures?t=metals , http://finance.yahoo.com/futures?t=grains , http://finance.yahoo.com/futures?t=livestock , http://finance.yahoo.com/futures?t=softs , http://finance.yahoo.com/futures?t=indices ,
Et, pour les indices américains et non-américains, vous pouvez récupérer les pages suivantes
http://finance.yahoo.com/intlindices?e=americas , http://finance.yahoo.com/intlindices?e=asia , http://finance.yahoo.com/intlindices?e=europe , http://finance.yahoo.com/intlindices?e=africa , http://finance.yahoo.com/indices?e=dow_jones , http://finance.yahoo.com/indices?e=new_york , http://finance.yahoo.com/indices?e=nasdaq , http://finance.yahoo.com/indices?e=sp , http://finance.yahoo.com/indices?e=other , http://finance.yahoo.com/indices?e=treasury , http://finance.yahoo.com/indices?e=commodities