I've googled endlos für eine Methode des Erhaltens einer kompletten (und täglich aktualisierten) Liste aller Yahoo Tickersymbole, die durch http://finance.yahoo.com vorhanden sind
Yahoo hat Informationen für Aktien, Futures usw. für eine Menge von Börsen weltweit, und ich möchte eine kombinierte Liste aller Ticker-Symbole durch sie verfügbar. I've versucht YQL, aber sie haben eine "wo Symbol = (oder in)" Klausel Einschränkung, so kann ich nicht wählen * von Symbolen.
Also im Grunde, immer detaillierte Informationen für ein einzelnes Symbol oder mehrere Symbole auf einmal ist einfach, aber ich kann nicht scheinen, um herauszufinden, wie man eine Liste aller verfügbaren Ticker zu bekommen.
Kann mir jemand helfen, bitte?
Ich hatte ein ähnliches Problem. yahoo bietet es nicht an, aber Sie können es bekommen, indem Sie die document.write-Anweisungen auf nyse.com's Liste durchsehen und die .js-Datei finden, in der sie zufällig die Liste der Unternehmen, die mit dem angegebenen Buchstaben beginnen, als js-Array-Literal speichern. Sie können auch schöne ordentliche csv-Dateien von nasdaq.com hier bekommen: http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download (ersetzen Sie exchange=nasdaq durch exchange=nyse für Nyse-Symbole).
Vielleicht kann ich Ihnen mit einer Liste von Tickersymbolen für (US-amerikanische und nicht-amerikanische) Aktien und für ETFs helfen.
Yahoo bietet einen Earnings Calendar, der alle Aktien auflistet, die an einem für einen bestimmten Tag ankündigen. Dazu gehören auch Nicht-US-Aktien.
Zum Beispiel, hier ist heute: http://biz.yahoo.com/research/earncal/20120710.html
der letzte Teil der URL ist das Datum (im Format JJJJMMTT), für das Sie den Ertragskalender. Sie können mehrere Tage durchlaufen und die Symbole aller Aktien, die an diesen Tagen Gewinne gemeldet haben.
Es gibt keine Garantie, dass Yahoo Daten für alle Aktien hat, die Gewinne melden, zumal einige Aktien nicht mehr existieren (Konkurs, Übernahme usw.), aber dies ist wahrscheinlich ein guter Ausgangspunkt.
Wenn Sie mit R
vertraut sind, können Sie das
qmao-Paket verwenden, um dies zu tun.
(Siehe dieser 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, Forex oder Investmentfonds ein.
Sie können eine Liste der ETFs von Yahoo hier erhalten: http://finance.yahoo.com/etf/browser/mkt Hier werden nur die ersten 20 angezeigt. Sie benötigen die URL des "Show All" Links am Ende der Seite. unten auf dieser Seite. Sie können die Seite scrapen, um herauszufinden, wie viele ETFs es gibt, und dann eine URL konstruieren.
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
Nun 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 so ziemlich die einzige Hilfe, die ich anbieten kann, aber Sie könnten etwas Ähnliches tun, um einige der angebotenen Futures zu erhalten, indem Sie diese Seiten auslesen (Dies sind nur U.S.-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-amerikanische und nicht-amerikanische Indizes können Sie diese Seiten abrufen
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
Ein Workaround, den ich dafür hatte, war, über die Sektoren zu iterieren (was man zu der Zeit tun konnte... Ich habe das in letzter Zeit nicht getestet).
Sie wickeln bis immer blockiert schließlich, wenn Sie es auf diese Weise tun, da YQL pro Tag gedrosselt wird.
Verwenden Sie wann immer möglich die CSV-API, um dies zu vermeiden.