CCXT Crypto Exchange-Auftragsbuchdaten [Beispiel-Tutorial]

>

Unabhängig davon, ob Sie einen persönlichen Handelsbot erstellen oder einen vollständigen Handelsservice entwickeln, der Tausende von Benutzern unterstützt, stehen die Daten des Umtauschauftragsbuchs im Vordergrund. Es ist eines der ersten Elemente, die erforderlich sind, um den Markt erfolgreich zu bewerten und eine Strategie umzusetzen.

Warum ist das Auftragsbuch wichtig??

Das Auftragsbuch gibt alle verfügbaren Aufträge an, die derzeit an einer Börse geöffnet sind. Jede Bestellung repräsentiert eine Person (oder mehrere Personen), die einen Vermögenswert zum angegebenen Preis kaufen oder verkaufen möchte.

Während des Handels können Sie entweder Ihre eigene offene Order an der Börse platzieren, damit eine andere Person sie annehmen kann, oder Sie können eine verfügbare Order an der Börse annehmen. Unabhängig davon, welche Strategie Sie verwenden, ist es wichtig, über die erforderlichen Informationen zu verfügen, um diese Entscheidung zu treffen.

Wie greifen wir auf das Auftragsbuch einer Börse zu??

Eine Möglichkeit, über eine Börse auf das Auftragsbuch zuzugreifen, besteht darin, diese Informationen direkt von der Börse anzufordern. Sie können dies mit CCXT tun, indem Sie diesen Beispielen folgen.

CCXT-Beispiel – Einzelpaar

In unserem ersten Beispiel wird das aktuelle Orderbuch für das BTC / USDT-Handelspaar an der Binance-Börse angefordert. Bei Verwendung der CCXT-Bibliothek kann jeweils nur auf ein einzelnes Handelspaar zugegriffen werden. Das bedeutet, dass wir nicht das gesamte Orderbuch über jedes Handelspaar hinweg abrufen können, sondern systematisch das Orderbuch für jedes einzelne Paar abrufen müssen.

Installieren Sie CCXT

Bevor wir beginnen können, installieren wir die CCXT-Python-Bibliothek.

pip install ccxt

Beispiel

Nach der Installation können wir unser erstes Python-Skript schreiben, das auf die BTC / USDT-Auftragsbuchdaten von Binance zugreift.

ccxt importieren

# Daten für das BTC / USDT-Paar auf Binance abrufen

binance = ccxt.binance ()

orderbook = binance.fetch_order_book (‘BTC / USDT’)

Ergebnisse

Die Anfrage gibt die Bid- und Ask-Orders zurück, die derzeit an der Börse für das BTC / USDT-Handelspaar verfügbar sind.

Das erste Element in jeder Bestellung ist der Preis der Bestellung in Bezug auf die Kurswährung (in diesem Fall USDT). Das zweite Element in der Bestellung ist die Menge der Bestellung an der Börse in Bezug auf die Basiswährung (in diesem Fall BTC)..

{

‘Gebote’: [

[8724,77, 0,149594],

[8724.11, 2.537818],

[8724.08, 0.030605],

]],

‘fragt’: [

[8725,61, 0,055265],

[8725.7, 0.028131],

[8725.81, 0.116984],

]]

}}

CCXT-Beispiel – Aggregierte Paare

Nachdem wir uns nun mit dem Zugriff auf das Orderbuch für ein einzelnes Handelspaar mit CCXT befasst haben, möchten wir unseren Ansatz zur Erfassung von Orderbuchdaten für jedes Handelspaar an der Börse erweitern.

Leider ist das Sammeln dieser Datenmenge für CCXT etwas schwierig. Die Daten für jedes Marktpaar müssen von Binance individuell angefordert werden. Das Senden all dieser Anfragen kann bis zu 5 Minuten oder länger dauern, da Binance Ratenbeschränkungen für den schnellen Zugriff auf Daten hat.

ccxt importieren

binance = ccxt.binance ()

aggregated_orderbook_data = []

# Holen Sie sich die verfügbaren Märkte für Binance

binance_markets = binance.load_markets ()

# Holen Sie sich die Auftragsbücher für jedes Asset in Binance

# Das Abrufen all dieser Auftragsbücher dauert bis zu 5 Minuten

für Paar in binance_markets:

pair_orderbook = binance.fetch_order_book (Paar)

pair_orderbook [‘symbol’] = pair

aggregated_orderbook_data.append (pair_orderbook)

Ergebnisse

Jede von uns gesendete Anfrage gibt das Geld zurück und fragt nach Tiefenmarktdaten für das einzelne Handelspaar. Um die Auftragsbücher bequem identifizieren zu können, haben wir jedem Auftragsbuchobjekt einen Schlüssel hinzugefügt, der das Symbol enthält. Auf diese Weise verlieren wir nicht den Überblick darüber, welche Daten zu welchem ​​Marktpaar gehören.

Das Ergebnis des obigen Beispielcodes gibt die aggregierten Bid- und Ask-Orders für jedes an der Börse verfügbare Handelspaar zurück.

[{

‘Symbol’: ‘BTC / USD’,

‘Gebote’: [

[8724,77, 0,149594],

[8724.11, 2.537818],

[8724.08, 0.030605],

]],

‘fragt’: [

[8725,61, 0,055265],

[8725.7, 0.028131],

[8725.81, 0.116984],

]]

}, {

‘Symbol’: ‘LTC / BTC’,

‘Gebote’: [

[8724,77, 0,149594],

[8724.11, 2.537818],

[8724.08, 0.030605],

]],

‘fragt’: [

[8725,61, 0,055265],

[8725.7, 0.028131],

[8725.81, 0.116984],

]]

}]

Hinweis: Seien Sie vorsichtig, wenn Sie über den Austausch auf übermäßige Daten zugreifen. Das kontinuierliche Anfordern von Auftragsbuchdaten kann Ihren Handelsservice verstopfen, da dadurch die Anzahl der Anforderungen begrenzt wird, die Sie stellen können, um andere Aktionen an der Börse auszuführen.

Shrimpy Beispiel – Einzelpaar

Aufgrund der Einschränkungen bei CCXT hat unser Team eine professionelle Alternative entwickelt. Die Shrimpy-APIs beschränken den Zugriff auf Daten wie CCXT nicht. Das folgende Beispiel zeigt, wie Sie mithilfe der Shrimpy Developer-APIs auf das Auftragsbuch für ein einzelnes Asset zugreifen können.

Hinweis: Um diese Beispiele zu beenden, erstellen Sie bitte ein kostenloses Konto bei der Shrimpy Crypto-Daten & Handels-APIs. Sobald Sie sich in Ihrem Shrimpy-Konto angemeldet haben, generieren Sie neue API-Schlüssel, indem Sie die Option “API-Hauptschlüssel erstellen” auswählen. Diese Schlüssel werden in den folgenden Skripten verwendet.

Installieren Sie Shrimpy

Bevor wir in unser Shrimpy-Beispiel springen, installieren wir zunächst die Shrimpy Python-Bibliothek.

Pip installieren Shrimpy-Python

Beispiel

Nachdem wir die Bibliothek installiert haben, können wir unser erstes Skript schreiben.

Garnelen importieren

# Weisen Sie Ihre öffentlichen und geheimen Shrimpy Master Keys zu

# Melden Sie sich kostenlos unter https://developers.shrimpy.io/ an.

public_key = ‘bea8edb348af226 …’

secret_key = ‘df84c39fb49026dcad9d99 …’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

orderbooks = client.get_orderbooks (

‘Bittrex’, # Austausch

‘XLM’, # base_symbol

‘BTC’, # quote_symbol

100 # Limit für die Tiefe, die auf jeder Seite zurückgegeben werden soll (Gebot & Fragen)

)

Kehrt zurück

Die Shrimpy-APIs geben eine übersichtliche Liste von Auftragsbuchdaten zurück, die das Basissymbol, das Angebotssymbol, den Umtausch und jede verfügbare Bestellung auf dem Umtausch genau beschriftet enthält.

[{

"baseSymbol":: "XLM",

"quoteSymbol":: "BTC",

"orderBooks": [{

"Austausch-":: "Bittrex",

"Auftragsbuch": {

"fragt": [

{

"Preis":: "0,00002585",

"Menge":: "1891.1316431" }},

{

"Preis":: "0,00002594",

"Menge":: "35200" }},

]],

"Gebote": [

{

"Preis":: "0,00002577",

"Menge":: "774.92250177" }},

{

"Preis":: "0,00002576",

"Menge":: "3509.07031022" }},

]]

}}

}]

}]

Shrimpy Beispiel – Aggregierte Paare

Jetzt glänzt Shrimpy wirklich, wenn es darum geht, Daten über Asset-Paare hinweg oder sogar über Börsen zu aggregieren. In den folgenden Beispielen werden einige dieser Anwendungsfälle hervorgehoben.

Rufen Sie das Auftragsbuch für jedes Paar bei Bittrex ab.

Garnelen importieren

# Weisen Sie Ihre öffentlichen und geheimen Shrimpy Master Keys zu

# Melden Sie sich kostenlos unter https://developers.shrimpy.io/ an.

public_key = ‘bea8edb348af226 …’

secret_key = ‘df84c39fb49026dcad9d99 …’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

orderbooks = client.get_orderbooks (

‘bittrex’ # austauschen

)

Sie können schnell erkennen, dass der Unterschied zwischen diesem letzten Beispiel und dem vorherigen Shrimpy-Beispiel, bei dem nur Daten für ein Handelspaar angefordert wurden, im Wesentlichen gleich ist. Wir haben lediglich die Eingaben für Quotierungswährung, Basiswährung und Limit entfernt. Alles andere blieb exakt gleich und rief alle benötigten Daten in einer einzigen Anfrage ab.

Dies verhindert, dass wir 5 Minuten damit verbringen, Daten für jedes Handelspaar einzeln zu sammeln.

Ausgehend von unserem letzten Beispiel gibt es noch weitere Möglichkeiten, wie wir konfigurieren können, welche Daten wir von den Shrimpy-APIs sammeln.

In den meisten Fällen benötigen wir nur einen Teil der an der Börse verfügbaren Auftragsbücher. Aus diesem Grund möchten wir möglicherweise alle Basis- oder Quotierungswährungen kennen, die mit einem bestimmten Vermögenswert verbunden sind. In diesen Fällen können wir Daten für alle Paare anfordern, die mit einer bestimmten Basis- oder Quotierungswährung verbunden sind.

Greifen Sie auf das Auftragsbuch für jedes Paar bei Bittrex zu, das BTC als Kurswährung verwendet.

Garnelen importieren

# Weisen Sie Ihre öffentlichen und geheimen Shrimpy Master Keys zu

# Melden Sie sich kostenlos unter https://developers.shrimpy.io/ an.

public_key = ‘bea8edb348af226 …’

secret_key = ‘df84c39fb49026dcad9d99 …’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

orderbooks = client.get_orderbooks (

‘Bittrex’, # Austausch

Keine, # Basiswährung

‘BTC’ # Quotierungswährung

)

Beachten Sie, wie wir “Keine” für die Basiswährung angeben. Das heißt, wir werden die Auftragsbücher für alle Handelspaare abrufen, die eine Quotierungswährung von „BTC“ haben..

Schließlich ist Shrimpy nicht nur in einem einzigen Austausch enthalten. Es ist sogar möglich, Daten über einen Austausch hinweg anzufordern. Dies kann durch Anfordern von Handelspaaren über mehrere Börsen in der Anforderung erfolgen.

Eine Beispielanforderung, mit der Daten in einer einzigen Anforderung über den Austausch abgerufen werden.

GET https://dev-api.shrimpy.io/v1/orderbooks?exchange=bittrex,binance,kucoin&baseSymbol = XLM&quoteSymbol = BTC&Limit = 10

Beachten Sie, wie wir mehrere Börsen angeben. Das Ergebnis dieser Abfrage gibt das Orderbuch für das XLM / BTC-Handelspaar an jeder der drei angegebenen Börsen zurück.

Kehrt zurück

Das Format, das wir zurückerhalten, ist konsistent, unabhängig davon, ob wir Auftragsbuchdaten für ein einzelnes Handelspaar oder mehrere Paare über Börsen hinweg anfordern.

[{

"baseSymbol":: "XLM",

"quoteSymbol":: "BTC",

"orderBooks": [{

"Austausch-":: "Bittrex",

"Auftragsbuch": {

"fragt": [

{

"Preis":: "0,00002585",

"Menge":: "1891.1316431" }},

{

"Preis":: "0,00002594",

"Menge":: "35200" }},

]],

"Gebote": [

{

"Preis":: "0,00002577",

"Menge":: "774.92250177" }},

{

"Preis":: "0,00002576",

"Menge":: "3509.07031022" }},

]]

}}

}]

}, {

"baseSymbol":: "XRP",

"quoteSymbol":: "BTC",

"orderBooks": [{

"Austausch-":: "Bittrex",

"Auftragsbuch": {

"fragt": [

{

"Preis":: "0,00001485",

"Menge":: "2891.1316431" }},

{

"Preis":: "0,00001494",

"Menge":: "45200" }},

]],

"Gebote": [

{

"Preis":: "0,00001477",

"Menge":: "874.92250177" }},

{

"Preis":: "0,00001476",

"Menge":: "4509.07031022" }},

]]

}}

}]

}},

]]

Hinweis: Shrimpy benötigt nur eine einzige Anforderung, um sofort auf die Auftragsbuchdaten aller wichtigen Börsen zugreifen zu können. Dies reduziert die Anzahl der Anfragen, die Sie an Börsen senden müssen, und kann Ihren Datenzugriff drastisch verbessern.

Probieren Sie das aus Shrimpy Trading & Daten-APIs heute. Dies ist der einfachste Weg, um Daten über alle wichtigen Börsen hinweg zu sammeln. Sammeln Sie historische Marktdaten, greifen Sie auf Echtzeit-Websockets zu, führen Sie erweiterte Handelsstrategien aus und verwalten Sie eine unbegrenzte Anzahl von Benutzern.

Vergessen Sie nicht, uns zu folgen Twitter und Facebook für Updates und stellen Sie Fragen an unsere erstaunliche, aktive Community auf Telegramm.

Das Shrimpy Team

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me