Ich versuche, einen Börsensimulator zu erstellen (der sich möglicherweise zu einer vorhersagenden KI entwickelt), habe jedoch Probleme, Daten für die Verwendung zu finden. Ich suche nach einer (hoffentlich kostenlosen) Quelle historischer Börsendaten.
Im Idealfall handelt es sich um einen sehr feinkörnigen Datensatz (Sekunden- oder Minutenintervall) mit Preis und Volumen aller Symbole an NASDAQ und NYSE (und möglicherweise auch anderen, wenn ich abenteuerlustig werde). Kennt jemand eine Quelle für solche Informationen?
Ich habe diese Frage gefunden , die darauf hinweist, dass Yahoo historische Daten im CSV-Format anbietet, aber ich konnte bei einer flüchtigen Prüfung der verlinkten Website nicht herausfinden, wie ich sie erhalten kann.
Ich mag auch nicht die Idee, die Daten stückweise in CSV-Dateien herunterzuladen ... Ich kann mir vorstellen, dass Yahoo sich nach den ersten tausend Anfragen aufregen und mich ausschalten würde.
Ich habe auch eine andere Frage entdeckt , die mich glauben ließ, ich hätte den Jackpot geknackt, aber leider scheint die OpenTick-Site ihre Türen geschlossen zu haben ... schade, da ich denke, dass sie genau das waren, was ich wollte.
Ich könnte auch Daten verwenden, die jeden Tag nur den Preis und das Volumen jedes Symbols öffnen / schließen, aber ich würde alle Daten bevorzugen, wenn ich sie bekommen kann. Irgendwelche anderen Vorschläge?
Antworten:
Lassen Sie mich meine 2 ¢ hinzufügen, es ist meine Aufgabe, gute und saubere Daten für einen Hedgefonds zu erhalten. Ich habe ziemlich viele Datenfeeds und Anbieter historischer Daten gesehen. Hierbei handelt es sich hauptsächlich um US-Bestandsdaten.
Wenn Sie etwas Geld haben und sich nicht mit dem Herunterladen von Daten von Yahoo beschäftigen, erhalten Sie die Daten zum Tagesende direkt aus den CSI-Daten . Hier erhält Yahoo auch die EOD-Daten von AFAIK. Sie haben eine API, mit der Sie die Daten in ein beliebiges Format extrahieren können. Ich denke, das jährliche Abonnement für Daten beträgt ein paar 100 Dollar.
Das Hauptproblem beim Herunterladen von Daten von einem kostenlosen Dienst besteht darin, dass Sie nur noch vorhandene Bestände erhalten. Dies wird als Survivorship Bias bezeichnet und kann zu falschen Ergebnissen führen, wenn Sie sich viele Bestände ansehen, da Sie nur diejenigen einbeziehen, die dies gemacht haben weit und nicht diejenigen, die von der Liste gestrichen wurden.
Um mit einigen Intraday-Daten herumzuspielen , die ich in IQFeed untersuchen würde , bieten sie mehrere APIs zum Extrahieren historischer Daten, obwohl sie hauptsächlich ein Outfit für Echtzeit-Feeds sind. Aber hier gibt es einige Optionen, einige Broker bieten sogar Downloads historischer Daten über ihre APIs an. Wählen Sie also einfach Ihr Gift aus.
ABER normalerweise sind alle diese Daten nicht sehr sauber. Sobald Sie mit dem erneuten Testen beginnen, werden Sie feststellen, dass bestimmte Bestände fehlen oder als zwei verschiedene Symbole angezeigt werden oder Bestandsaufteilungen nicht ordnungsgemäß berücksichtigt werden usw. Und dann erkennen Sie, dass dies historisch ist Dividendendaten werden ebenfalls benötigt, sodass Sie im Kreis laufen und Daten aus 100 verschiedenen Datenquellen zusammenfügen können. Um mit einem "Rabatt" -Datenfeed zu beginnen, reicht dies aus. Sobald Sie jedoch umfassendere Backtests ausführen, können je nach Ihrer Tätigkeit Probleme auftreten. Wenn Sie sich nur die S & P 500-Aktien ansehen, wird dies jedoch weniger ein Problem sein, und ein "billiger" Intraday-Feed reicht aus.
Was Sie nicht finden, sind kostenlose Intraday-Daten. Ich meine, Sie werden vielleicht einige Beispiele finden. Ich bin sicher, dass irgendwo 5 Jahre MSFT-Tick-Daten herumschwirren, aber das wird Sie nicht sehr weit bringen.
Wenn Sie dann das echte Zeug benötigen (Auftragsbuch der Stufe II, alle Zecken, wie sie an allen Börsen aufgetreten sind), ist Nanex eine "erschwingliche", aber ausgezeichnete Option . Sie liefern Ihnen tatsächlich ein Laufwerk mit Terabyte an Daten. Wenn ich mich recht erinnere, sind es ungefähr 3.000 bis 4.000 US-Dollar pro Jahr an Daten. Aber glauben Sie mir, wenn Sie erst einmal verstanden haben, wie schwierig es ist, gute Intraday-Daten zu erhalten, werden Sie nicht glauben, dass dies überhaupt sehr viel Geld ist.
Es ist schwierig, Sie nicht zu entmutigen, sondern gute Daten zu erhalten. Viele Hedgefonds und Banken geben monatlich Hunderttausende von Dollar aus , um Daten zu erhalten, denen sie vertrauen können. Wieder können Sie irgendwo anfangen und dann von dort aus gehen, aber es ist gut, es ein bisschen im Kontext zu sehen.
Bearbeiten: Die Antwort oben ist aus meiner eigenen Erfahrung. Dieser Artikel von Caltech über verfügbare Daten-Feeds bietet weitere Einblicke und empfiehlt insbesondere QuantQuote .
quelle
DIESE ANTWORT IST NICHT MEHR GENAU, WIE DAS YAHOO-FEED GEGEBEN HAT
Mit dem oben genannten CSV-Ansatz von Yahoo können Sie auch historische Daten abrufen! Sie können das folgende Beispiel zurückentwickeln:
http://ichart.finance.yahoo.com/table.csv?s=YHOO&d=0&e=28&f=2010&g=d&a=3&b=12&c=1996&ignore=.csv
Im Wesentlichen:
Die vollständige Liste der Parameter:
quelle
Ich weiß, dass Sie "kostenlos" wollten, aber ich würde ernsthaft in Betracht ziehen, die Daten von csidata.com für etwa 300 USD / Jahr zu erhalten, wenn ich Sie wäre.
Es ist das, was Yahoo verwendet, um ihre Daten zu liefern.
Es kommt mit einer anständigen API und die Daten sind (soweit ich das beurteilen kann) sehr sauber.
Sie erhalten 10 Jahre Geschichte, wenn Sie sich anmelden, und anschließend nächtliche Updates.
Sie kümmern sich auch um alle möglichen bösen Dinge wie Spaltungen und Dividenden für Sie. Wenn Sie die Freude an der Datenbereinigung noch nicht entdeckt haben, werden Sie erst erkennen, wie viel Sie benötigen, wenn Ihr ATS (Automated Trading System) zum ersten Mal der Meinung ist, dass einige Aktien wirklich sehr, sehr billig sind, nur weil sie sich aufteilen 2 : 1 und du hast es nicht bemerkt.
quelle
Ein Datensatz jedes Symbols an der NASDAQ und der NYSE in einem Sekunden- oder Minutenintervall wird massiv sein .
Nehmen wir an, an beiden Börsen sind insgesamt 4000 Unternehmen notiert (dies ist wahrscheinlich sehr niedrig, da an der NASDAQ über 3200 Unternehmen notiert sind). Bei Daten in einem zweiten Intervall, vorausgesetzt, es gibt 6,5 Handelsstunden pro Tag, erhalten Sie 23400 Datenpunkte pro Tag und Unternehmen oder insgesamt etwa 93.600.000 Datenpunkte für diesen einen Tag. Unter der Annahme von 200 Handelstagen pro Jahr sind dies ungefähr 18.720.000.000 Datenpunkte für nur ein Jahr.
Vielleicht möchten Sie zuerst mit einem kleineren Set beginnen?
quelle
Intro:
Von Yahoo können Sie historische EOD-Preise (End of Day) oder Echtzeitpreise erhalten. Die EOD-Preise sind erstaunlich einfach herunterzuladen. In meinem Blog finden Sie Erklärungen zum Abrufen der Daten sowie Beispiele für C # -Codes.
Ich bin gerade dabei, eine Echtzeit-Datenfeed-Engine zu schreiben, die die Echtzeitpreise herunterlädt und in einer Datenbank speichert. Die Engine kann zunächst historische Preise von Yahoo und Interactive Brokers herunterladen und die Daten in einer Datenbank Ihrer Wahl speichern: MS SQL, MySQL, SQLite usw. Es ist Open Source, aber ich werde mehr veröffentlichen Informationen in meinem Blog, wenn ich mich der Veröffentlichung nähere (innerhalb weniger Tage).
Eine weitere Option ist Eclipse Trader . Mit dieser Option können Sie die historischen Daten mit einer Granularität von nur 1 Minute aufzeichnen und die Preise lokal in einer Textdatei speichern. Grundsätzlich werden die Echtzeitdaten mit einer Verzögerung von 15 Minuten von Yahoo heruntergeladen. Da ich eine robustere Lösung wollte und an einem großen Schulprojekt arbeite, für das wir Daten benötigen, habe ich beschlossen, meine eigene Datenfeed-Engine zu schreiben (die ich oben erwähnt habe).
Beispielcode:
Hier ist ein Beispiel-C # -Code, der zeigt, wie Echtzeitdaten heruntergeladen werden:
Datenbank:
Auf der Datenbankseite verwende ich eine
OleDb
Verbindung zur CSV-Datei, um eine zu füllen,DataSet
und aktualisiere dann meine eigentliche Datenbank über dieDataSet
. Dadurch ist es grundsätzlich möglich, alle Spalten aus der von Yahoo zurückgegebenen CSV-Datei direkt mit Ihrer Datenbank abzugleichen ( Wenn Ihre Datenbank keine Batch-Einfügungen von CSV-Daten unterstützt (z. B. SQLite). Andernfalls ist das Einfügen der Daten einzeilig. Fügen Sie die CSV-Datei einfach stapelweise in Ihre Datenbank ein.Weitere Informationen zur Formatierung der URL finden Sie hier: http://www.gummy-stuff.org/Yahoo-data.htm
quelle
NASDAQ bietet 10 Jahre historische EOD-Daten für jedes Symbol
http://www.nasdaq.com/aspx/historical_quotes.aspx?symbol=AAPL&selected=AAPL
Sie können den Prozess des Herunterladens dieser Daten automatisieren.
quelle
Die einzige zuverlässige Quelle, die ich gefunden habe, ist QuantQuote ( http://quantquote.com ).
Die Daten werden in Minuten-, Sekunden- oder Tick-Auflösung mit ihren historischen Bestandsdaten verknüpft .
Es gab oben einen Vorschlag für Kibot. Ich würde eine schnelle Google-Suche durchführen, bevor ich bei ihnen kaufe. Sie werden viele Beiträge wie diesen mit Warnungen vor Problemen mit der Kibot-Datenqualität finden. Es ist auch bezeichnend, dass ihr angeblich überlebensvoreingenommener sp500 sp500 seit 14 Jahren nur 570 Symbole hat. Das ist so gut wie unmöglich, sp500 ändert sich um 1-2 Symbole pro Monat ....
quelle
Leider sind historische Tickerdaten, die kostenlos sind, schwer zu bekommen. Jetzt, wo opentick tot ist, kenne ich keinen anderen Anbieter.
In einem früheren Leben habe ich für einen Hedgefund gearbeitet, der über ein automatisiertes Handelssystem verfügte, und wir haben historische Daten ausgiebig verwendet.
Wir haben TickData als Quelle verwendet. Ihre Preise waren angemessen und die Daten hatten eine Auflösung von weniger als einer Sekunde.
quelle
Wir haben 12 Jahre Intraday-Daten von Kibot.com gekauft und sind mit der Qualität ziemlich zufrieden.
Was die Speicheranforderungen betrifft: 12 Jahre 1-Minuten-Daten für alle US-Aktien (mehr als 8000 Symbole) sind ungefähr 100 GB.
Bei Tick-by-Tick-Daten ist die Situation kaum anders. Wenn Sie nur Zeit und Umsatz erfassen, sind dies etwa 30 GB Daten pro Monat für alle US-amerikanischen Aktien. Wenn Sie Bid / Ask-Änderungen zusammen mit Transaktionen speichern möchten, können Sie mit etwa 150 GB pro Monat rechnen.
Ich hoffe das hilft. Bitte lassen Sie mich wissen, wenn ich Ihnen noch weiterhelfen kann.
quelle
Lassen Sie mich eine Quelle hinzufügen, die ich gerade entdeckt habe und die hier zu finden ist .
Es enthält viele historische Bestandsdaten im CSV-Format und wurde von Andy Pavlo gesammelt, der laut seiner Homepage ein "Assistenzprofessor am Institut für Informatik der Carnegie Mellon University" ist.
quelle
Mathematica bietet heutzutage auch Zugriff auf aktuelle und historische Aktienkurse, siehe http://reference.wolfram.com/mathematica/ref/FinancialData.html , falls Sie zufällig eine Kopie davon haben.
quelle
day
Sie können Yahoo verwenden, um tägliche Daten abzurufen (ein viel besser verwaltbarer Datensatz), aber Sie müssen die URLs strukturieren. Siehe diesen Link . Sie stellen nicht viele kleine Anfragen, sondern weniger große Anfragen. Viele freie Software verwendet dies, so dass Sie nicht heruntergefahren werden sollten.
EDIT: Dieser Typ macht es, vielleicht können Sie sich die Anrufe ansehen, die seine Software macht.
quelle
Yahoo ist die einfachste Option, um vorläufige kostenlose Daten zu erhalten. Der in der Antwort von eckesicle beschriebene Link könnte leicht in einem Python-Code verwendet werden, aber Sie benötigen zuerst alle Ticker. Ich würde die NYSE für dieses Beispiel verwenden, aber dies kann auch für verschiedene Börsen verwendet werden.
Ich habe diese Wiki-Seite verwendet , um alle Unternehmensticker mit dem folgenden Skript herunterzuladen (ich bin kein sehr talentierter Pythonist, sorry, wenn dieser Code nicht sehr effizient ist):
Zum Herunterladen jedes Tickers habe ich ein anderes, ziemlich ähnliches Skript verwendet:
Beachten Sie, dass der Hauptnachteil dieser Methode darin besteht, dass für verschiedene Unternehmen unterschiedliche Daten verfügbar sind. Unternehmen, deren Daten zu den angeforderten Daten nicht vorhanden sind (neu aufgeführt), erhalten eine 404-Seite.
Beachten Sie auch, dass diese Methode nur für vorläufige Daten geeignet ist. Wenn Sie Ihren Algorithmus wirklich testen möchten, sollten Sie ein wenig bezahlen und einen vertrauenswürdigen Datenlieferanten wie CSIData oder andere verwenden
quelle
Warum nicht mit Brownian Motion eine gefälschte Börse modellieren?
Viele Ressourcen dafür. Einfach zu implementieren.
http://introcs.cs.princeton.edu/java/98simulation/
quelle
Ich benutze die eodData.com. Es ist ziemlich günstig. Für 30 Dollar im Monat erhalten Sie 30 Tage lang 1,5- und 60-Minuten-Bars für alle US-Börsen und 1 Jahr EOD-Daten für die meisten anderen.
quelle
Ich würde Finance.google.com (für die Zitate) crawlen - oder Finance.yahoo.com.
Beide geben HTML-Seiten für die meisten Börsen auf der ganzen Welt zurück, einschließlich historischer. Dann müssen Sie nur noch den HTML-Code analysieren, um das zu extrahieren, was Sie benötigen.
Ich habe dies in der Vergangenheit mit großem Erfolg getan. Wenn es Ihnen nichts ausmacht, Perl zu verwenden, gibt es im CPAN mehrere Module, die diese Arbeit für Sie erledigt haben - dh das Extrahieren von Zitaten aus Google / Yahoo.
Weitere Informationen finden Sie unter Angebotsverlauf
quelle
Ein früheres Projekt von mir sollte frei herunterladbare Daten von EODData verwenden .
quelle
Schauen Sie sich die Mergent Historical Securities Data API an - http://www.mergent.com/servius
quelle