Ich suche nach Quellen für Kryptowährungsdaten, vorzugsweise historische, die ich verwenden kann, um meine Bots zu testen und/oder den Markt zu analysieren.
Gibt es dazu im Netz eine seriöse Quelle? Bieten Börsen zufällig historische Daten an?
Wenn nicht, wie erhalte ich diese Daten?
Sie haben hier zwei Möglichkeiten:
Ich werde die beiden Optionen weiter unten besprechen.
Natürlich ist diese Option die bequemste, aber möglicherweise auch die teuerste, abhängig von Ihrer gewünschten Datenqualität. Es gibt auch keine Garantie dafür, dass die gesuchte Börse, das Paar und/oder der Zeitbereich in der Datenbank vorhanden sind.
Profi:
Nachteile:
Mit nur wenig Erfahrung in der Programmierung und einem grundlegenden Verständnis der Funktionsweise einer API können Sie schnell Ihr eigenes Datenerfassungstool einrichten. Es gibt natürlich unterschiedliche Schwierigkeitsgrade, aber im Kern ist die Sache ganz einfach:
Ich werde Sie durch die notwendigen Schritte führen (ohne den Code – ich denke, dies ist ein Thema für einen anderen StackExchange; ich werde Sie jedoch mit Bibliotheken verlinken, die Ihnen den Einstieg erleichtern).
Ich vermute, Sie haben Ihre Nachforschungen angestellt und werden daher nur auf einige Dinge hinweisen, wenn Sie die Börsen berücksichtigen, für die Sie Daten abrufen möchten:
API
Die Wahl der richtigen Anwendungsprogrammierschnittstelle ( API
) hängt von 2 Dingen ab:
und
API
die Börse zu bieten hat (offensichtlich).REST API
sWenn Sie beispielsweise mit 1-Minuten-Snapshots von Daten (z. B. Ticker, Auftragsbücher, Trades usw.) zufrieden sind, reicht das Anfordern von Daten über eine Representational State Transfer (REST) API aus. Auf diese Weise können Sie eine Anfrage an eine bestimmte URL senden http
und eine Antwort mit den angeforderten Daten (normalerweise im JSON
-Format) erhalten.
Das Praktische an REST
APIs ist, dass sie börsenübergreifend meist gleich funktionieren – Anfragen werden gesendet, Antworten empfangen und Daten von Ihnen ausgewertet. POST
Bei einigen Börsen müssen Sie anstelle der üblichen GET
Anfragen andere Anfragemethoden (z. B. ) verwenden. Dies ist jedoch normalerweise nur für private Endpunkte erforderlich (privat bedeutet, dass Sie sich zuerst authentifizieren müssen, bevor Sie Daten wie Ihren Kontostand usw. erhalten). Wenn Sie also nur nach Marktdaten suchen, sollten Sie ihnen nicht oft begegnen.
Eine Einschränkung von REST
APIs besteht darin, dass sie normalerweise ein Anforderungslimit aufweisen. Das am häufigsten gesehene Limit ist 60 requests per minute
, kann aber strenger sein (oder lockerer – Bitfinex erlaubt unbegrenzt requests
pro Minute). Einige Börsen verwenden auch einen Anfragezähler – das bedeutet, dass bestimmte Anfragen Ihren IP
-verbundenen Zähler um einen bestimmten Wert erhöhen. Abhängig von Ihrem Status bei der Börse verringert sich dieser Zähler im Laufe der Zeit um einen vorher festgelegten Wert.
Darüber hinaus (wenn Sie denken: „Nun, hey! Warum dann nicht jede Sekunde Daten abrufen?“), werden Marktdaten häufig zwischengespeichert. Ein Snapshot eines API-Endpunkts wird für ein festgelegtes Intervall gespeichert, bevor er serverseitig tatsächlich aktualisiert wird. Sie können also jede Sekunde eine Anfrage senden, aber dennoch identische Daten erhalten, bis der Server-Cache aktualisiert wird.
WS API
sDie APIs WebSocket ( WS
) und WebSocketSecure ( WSS
) sind Vollduplexverbindungen, die es dem Benutzer ermöglichen, nahezu in Echtzeit Aktualisierungen von einem oder mehreren API
Endpunkten zu erhalten, die er abonniert hat. Vollduplex bedeutet einfach, dass Sie nicht nur Daten empfangen, sondern auch Daten an die WebSocket
Verbindung senden können. Dies ist vor allem nützlich, wenn Sie einen Bot ausführen, der in Ihrem Namen handeln soll, da das Feedback normalerweise schneller ist.
Im Prinzip öffnen Sie eine Verbindung zur WS
API und abonnieren die Endpunkte, auf denen Sie Daten haben möchten. Typischerweise wird dies nach Endpunkt und Paar getrennt, aber konsultieren Sie unbedingt die API
Dokumentation - einige Börsen verwenden kein channel subscription
Modell, und die Daten werden ohne weitere Konfiguration direkt überflutet.
Die Implementierung von WebSocket
s reicht von trivial bis komplex. Erwarten Sie also, dass Sie einige Nachforschungen darüber anstellen, wie Sie auf einige der WS
APIs der Börsen zugreifen können. Während das prinzipielle System bei allen identisch bleibt, verwenden viele Vermittlungsstellen unterschiedliche Protokolle und/oder Dienste, um ihre Daten bereitzustellen – zum Beispiel das WAMP
Protokoll und Pusher, die eine zusätzliche Ebene der Komplexität hinzufügen, da sie einen bestimmten Client für die Verbindung benötigen.
Wenn Sie jedoch Tick-by-Tick-Daten benötigen, z. B. für die Erstellung von Auftragsbüchern in Echtzeit, ist dies das, was Sie verwenden möchten.
FIX API
sDas Financial Information eXchange
( FIX
)-Protokoll ist ein 1992 eingeführter Standard , der heute häufig von Institutionen und Maklern auf den Finanzmärkten verwendet wird. Es ist bei weitem am wenigsten API
an Börsen verfügbar, und noch weniger senden tatsächlich Marktdaten. Es wird am häufigsten verwendet, um Bestellungen aufzugeben oder zu stornieren (z. B. bei CoinbasePro ). Einige Börsen bieten jedoch Echtzeit-Marktdaten über FIX an.
Denken Sie daran, dass Sie umfassende Kenntnisse des FIX-Protokolls benötigen, z. B. zum Einrichten einer FIX-Engine und von Proxys, um sich mit der Börse zu verbinden. Hierfür können in einigen Fällen monatlich wiederkehrende Gebühren anfallen.
Je nachdem, welche API Sie gewählt haben und welche Programmiersprache Sie verwenden möchten, haben Sie eine Vielzahl von Optionen.
Viele Börsen stellen Client-Bibliotheken für ihre APIs bereit, einige wurden vom Entwicklerteam der Börse selbst entwickelt, andere werden von Benutzern beigesteuert (die normalerweise vom Entwicklerteam überarbeitet werden, bevor sie auf der Website der Börse zitiert werden).
Es gibt viele andere Bibliotheken für wahrscheinlich jede Sprache (z. B. BitEx für Python 3.x (um sich schamloser Eigenwerbung hinzugeben), das Kernmethoden über eine Vielzahl von REST
API
s hinweg vereinheitlicht, sowie einige WebSocket
API
s) .
Da ich selbst Python-Entwickler bin, kann ich die Verwendung nur empfehlen. Vor allem, wenn man nicht an eine Umgebung gebunden ist. Über die requests
Bibliothek können Sie beispielsweise ganz einfach eine Börse abfragen:
import requests
# Get a list of all asset pairs at Kraken.com
print(requests.get('https://api.kraken.com/0/public/AssetPairs').json())
Sobald Sie Ihre Daten-Crawler eingerichtet haben, müssen Sie sie freigeben! Ich persönlich betreibe den REST-Crawler über cron
Jobs und Websocket
Crawler als daemons
. Aber das liegt an Ihnen.
Es wird natürlich einige Zeit dauern, bis Sie einen aussagekräftigen Datensatz erhalten, aber leider bezahlen Sie entweder mit Geld oder mit Zeit für die gewünschten Daten.
API-Referenzen
Datenquellen
Fühlen Sie sich frei, diesen Inhalt in den Kommentaren unten hinzuzufügen, zu korrigieren oder zu aktualisieren! Vielen Dank.
Sie können die historischen Daten von coinmarketcap.com mit meinem entwickelten Crawler herunterladen: https://github.com/roNn23/coinmarketcap-historical-data-crawler . Aber es werden nur die Schnappschüsse von coinmarketcap.com angezeigt , vielleicht ist es zu breit für Ihre Bedürfnisse.
Sie können meine Website www.cryptodatasets.com verwenden , die genau das bietet, was Sie brauchen. Tick für Tick historische BTC-, ETH- und LTC-Preise und -Volumen von Bitfinex und Hitbtc. Es ist genau das, was ich verwende, um meine Strategien/Bots zu testen.
Richten Sie einfach eine Website cryptoarchive.com.au mit den Datensätzen ein, die ich für meine eigene Modellierung verwende. Eine Minute OHLVC-Daten sind kostenlos verfügbar, Daten auf Tick-Ebene - sehr günstig. Daten von Binance vorerst.
Historische Daten zu Krypto-Wechselkursen und -Volumen finden Sie unter:
Wenn Sie besonders auf die Qualität der Daten achten, hat Coinscious die genauesten Daten. Sie bieten sowohl historische als auch Echtzeit-Marktdaten über Flatfiles oder API-Zugriff. Ihr Terminal verfügt auch über gute technische Analysen zu verschiedenen Münzen, Börsen und Indikatoren.
PirateApp
tiefbach
PirateApp
tiefbach
PirateApp
tiefbach
PirateApp
tiefbach