Je pourrais peut-être vous aider avec une liste de symboles boursiers pour les actions (américaines et non américaines) et pour les ETF.
Yahoo fournit un calendrier des gains qui répertorie toutes les actions qui annoncent des gains pour un jour donné. Cela comprend les actions non américaines.
Par exemple, voici aujourd'hui: http://biz.yahoo.com/research/earncal/20120710.html
la dernière partie de l'URL correspond à la date (au format AAAAMMJJ) pour laquelle vous voulez le calendrier des revenus. Vous pouvez parcourir plusieurs jours et gratter les symboles de toutes les actions qui ont déclaré des revenus ces jours-là.
Il n'y a aucune garantie que Yahoo dispose de données pour toutes les actions qui rapportent 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 le
package qmao pour ce faire. (Voir cet article ) 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'inclura pas les FNB, contrats à terme, options, obligations, devises ou fonds communs de placement.
Vous pouvez obtenir une liste des ETF 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 "Afficher tout" au bas de cette page . Vous pouvez parcourir la page pour savoir combien d'ETF il y a, puis créer 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 tickers du tableau sur 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 pouvez faire quelque chose de similaire pour obtenir certains des contrats à terme qu'ils proposent en grattant ces pages (ce ne sont que des 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 gratter ces pages
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