Ich kann möglicherweise mit einer Liste von Tickersymbolen für (US- und Nicht-US-) Aktien und für ETFs helfen.
Yahoo bietet einen Gewinnkalender, in dem alle Aktien aufgelistet sind, die Gewinne für einen bestimmten Tag bekannt geben. Dies schließt Aktien außerhalb der USA ein.
Hier ist zum Beispiel das heutige: http://biz.yahoo.com/research/earncal/20120710.html
Der letzte Teil der URL ist das Datum (im Format JJJJMMTT), für das Sie den Verdienstkalender wünschen. Sie können mehrere Tage durchlaufen und die Symbole aller Aktien abkratzen, die an diesen Tagen Gewinne gemeldet haben.
Es gibt keine Garantie dafür, dass Yahoo Daten für alle Aktien hat, die Gewinne melden, zumal einige Aktien nicht mehr existieren (Insolvenz, Akquisition usw.), aber dies ist wahrscheinlich ein anständiger Ausgangspunkt.
Wenn Sie damit vertraut sind R
, können Sie dazu das
qmao-Paket verwenden. (Siehe diesen Beitrag ), wenn Sie Probleme bei der Installation haben.
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"
Dies schließt keine ETFs, Futures, Optionen, Anleihen, Devisen oder Investmentfonds ein.
Eine Liste der ETFs von Yahoo erhalten Sie hier: http://finance.yahoo.com/etf/browser/mkt
Das zeigt nur die ersten 20. Sie benötigen die URL des Links "Alle anzeigen" am Ende dieser Seite . Sie können die Seite durchsuchen, um herauszufinden, wie viele ETFs es gibt, und dann eine URL erstellen.
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
Jetzt können Sie die Ticker aus der Tabelle auf dieser Seite extrahieren
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"
Das ist ungefähr die ganze Hilfe, die ich anbieten kann, aber Sie könnten etwas Ähnliches tun, um einige der angebotenen Futures zu erhalten, indem Sie diese Seiten abkratzen (dies sind nur US-Futures).
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 ,
Und für US- und Nicht-US-Indizes können Sie diese Seiten kratzen
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: // Finanzen. yahoo.com/indices?e=treasury ,
http://finance.yahoo.com/indices?e=commodities