Binance Websocket, Order Book en Candlestick-gegevens (Python-scripts)

>

Binance staat algemeen bekend als de grootste beurs op de cryptomarkt. In termen van handelsvolume zijn er geen andere beurzen die in de buurt komen van het enorme volume dat elke dag op Binance wordt uitgevoerd.

De indrukwekkende liquiditeit op Binance biedt het perfecte platform voor handelaren, instellingen en investeerders om samen te voegen. In combinatie met hun lage handelskosten zijn er weinig of geen beurzen die beter zijn voor daghandel.

Helaas hebben veel mensen nog steeds problemen als het gaat om het verzamelen van de benodigde gegevens voor het analyseren van handelsstrategieën, backtesting en portefeuilleanalyse. Dit artikel biedt een efficiënte en kosteneffectieve manier voor iedereen om toegang te krijgen tot uitgebreide live en historische marktgegevens van Binance.

Met Python kunnen we alle gewenste gegevens verzamelen en opslaan. Elk script zal een ander stuk gegevens opsplitsen dat mogelijk interessant voor u is.

Vergeet niet lid te worden van de Ontwikkelaar Telegram Group dat is bedoeld voor bouwers die opwindende applicaties maken die gegevens van uitwisselingen gebruiken. We horen graag wat je aan het bouwen bent en helpen je op weg!

Krijg historische Coinbase-gegevens

Krijg toegang tot miljarden historische gegevenspunten voor Coinbase Pro. Momentopnamen van orderboeken, handelsgeschiedenis en live websockets zijn allemaal beschikbaar.

Beginnen

In dit gedeelte worden de bibliotheken en API’s ingesteld die we nodig hebben om Binance-uitwisselingsgegevens te verzamelen.

Shrimpy Python installeren

Begin met het installeren van het Shrimpy Python-bibliotheek.

pip installeer shrimpy-python

Shrimpy API-sleutels

Zodra de Shrimpy Python-bibliotheek is geïnstalleerd, moeten we een set Shrimpy API-hoofdsleutels maken. Deze sleutels worden gebruikt om toegang te krijgen tot de gegevens.

Meld u aan voor het Shrimpy Developer API’s, volg dan de gids hier om toegang te krijgen tot uw Master Keys.

Opmerking: we moeten de machtigingen “Gegevens” inschakelen op de API-hoofdsleutels voordat we deze scripts kunnen uitvoeren. Voor deze scripts zijn geen andere machtigingen vereist.

In elk voorbeeldscript ziet u twee regels die er als volgt uitzien. Hier wijst u uw eigen openbare en geheime API-sleutels toe die u in uw Shrimpy-ontwikkelaarsaccount hebt gegenereerd.

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

Wissel live gegevens uit

Met Shrimpy zijn er twee manieren om live gegevens te verzamelen. De opties zijn via de REST API’s of de websockets. Beide methoden gebruiken enigszins verschillende scripts om toegang te krijgen tot de gegevens. Ze zullen ook de manier veranderen waarop u de gegevens verzamelt en verwerkt.

Opmerking: de Live REST API’s zijn gratis toegankelijk zonder premium-abonnement. De websockets hebben echter een “Persoonlijk” of “Startup” -abonnement nodig om toegang te krijgen tot deze eindpunten. Aangezien we in deze voorbeelden geen handelseindpunten gebruiken, hebben we geen gebruikers- / handelsplan nodig.

REST API Market Data Endpoints

Zoals besproken, is voor de scripts in deze sectie geen betaald premium-abonnement vereist. U kunt elk van deze scripts kopiëren en ze onmiddellijk gebruiken.

Beschikbare activa

Met behulp van het get_exchange_assets-eindpunt kunnen we de activa ophalen die beschikbaar zijn op Binance.

importeer garnalen

# Wijs openbare en geheime Shrimpy Master API-sleutels toe

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Maak de Shrimpy REST API-client

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

exchange_assets = client.get_exchange_assets (‘binance’)

Beschikbare handelsparen

Met behulp van het eindpunt get_trading_pairs kunnen we toegang krijgen tot de beschikbare handelsparen op Binance.

importeer garnalen

# Wijs openbare en geheime Shrimpy Master API-sleutels toe

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Maak de Shrimpy REST API-client

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

trading_pairs = client.get_trading_pairs (‘binance’)

Eenvoudige prijsticker

In het volgende voorbeeld ziet u een eenvoudige prijsticker. De ticker gebruikt de REST API-aanroep get_ticker om de activaspecifieke prijsgegevens op Binance te verzamelen.

Het ticker-eindpunt wordt bijgewerkt met een interval van 1 minuut.

importeer garnalen

# Wijs openbare en geheime Shrimpy Master API-sleutels toe

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Maak de Shrimpy REST API-client

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Vraag de ticker aan voor alle activa op Binance

ticker = client.get_ticker (‘binance’)

Simpele Live Order Book Snapshot

In dit voorbeeld krijgen we toegang tot de live status van het Binance-orderboek door het REST API-eindpunt voor get_order_books aan te roepen.

importeer garnalen

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Maak de API-client voor REST-aanroepen

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Haal het live orderboek op

orderbooks = client.get_orderbooks (

‘binance’, # exchange

‘ETH’, # base_symbol

‘BTC’, # quote_symbol

10 # limiet

Eenvoudige Live Candlesticks

Het volgende marktgegevenseindpunt biedt toegang tot handelskandelaars via het get_candles-eindpunt. De candlesticks worden in realtime bijgewerkt wanneer nieuwe transacties op de beurs worden uitgevoerd. Het volgende script keert alleen terug tot de laatste 1000 candlesticks. Om aanvullende candlestick-gegevens op te halen, moet u het “historische” candlestick-eindpunt gebruiken.

importeer garnalen

importeer plotly.graph_objects als go

# meld u aan voor de Shrimpy Developer API’s voor uw gratis API-sleutels

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Verzamel de historische kandelaargegevens

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

kaarsen = client.get_candles (

‘binance’, # exchange

‘ETH’, # base_trading_symbol

‘BTC’, # quote_trading_symbol

‘1d’ # interval

dates = []

open_data = []

high_data = []

low_data = []

close_data = []

# formatteer de gegevens zodat ze overeenkomen met de plotbibliotheek

voor kaars in kaarsen:

dates.append (kaars [‘tijd’])

open_data.append (kaars [‘open’])

high_data.append (kaars [‘high’])

low_data.append (kaars [‘laag’])

close_data.append (kaars [‘close’])

# plot de kandelaars

fig = go.Figure (data = [go.Candlestick (x = dates,

open = open_data, high = high_data,

low = low_data, close = close_data)])

fig.show ()

Websocket Market Data-eindpunten

De volgende set voorbeeldscripts zal de websocket-API’s gebruiken om realtime marktgegevens van de Binance-uitwisseling te verzamelen.

Voor deze scripts moet u zich abonneren op de “Personal” of “Startup” -plannen. Als u alleen van plan bent om websockets te gebruiken en geen historische gegevens, wordt het plan “Persoonlijk” aanbevolen.

Websocket Prijsticker

Het volgende voorbeeld is een complexere manier om een ​​prijsticker te implementeren. Als realtime gegevens nodig zijn voor uw service, is deze optie ideaal om ervoor te zorgen dat de meest actuele gegevens worden gebruikt. Deze optie kan een vervanging zijn voor de “simple ticker” die eerder werd besproken.

Dit voorbeeld maakt gebruik van real-time handelswebsockets.

importeer garnalen

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Dit is een voorbeeld-handler, het drukt eenvoudig het inkomende bericht af naar de console

def error_handler (err):

print (err)

# Dit is een voorbeeld-handler, het drukt eenvoudig het inkomende bericht af naar de console

def handler (msg):

print (msg [‘content’] [0] [‘price’])

# Maak de websocket-client met behulp van het onbewerkte token dat is opgehaald door de REST API

api_client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

raw_token = api_client.get_token ()

client = shrimpy.ShrimpyWsClient (error_handler, raw_token [‘token’])

# De abonnementsgegevens voor de websocket

subscribe_data = {

"type"​ "abonneren",

"uitwisseling"​ "binance",

"paar-"​ "eth-btc",

"kanaal"​ "handel"​

# Begin met het verwerken van de Shrimpy websocket-stream!

client.connect ()

client.subscribe (subscribe_data, handler)

# Eenmaal voltooid, stopt u de client

client.disconnect ()

Websocket Live Orderboek

Vergelijkbaar met het websocket-ticker-voorbeeld, zal het volgende voorbeeld websockets gebruiken om de live orderboekgegevens te verzamelen.

importeer garnalen

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Dit is een voorbeeld-handler, het drukt eenvoudig het inkomende bericht af naar de console

def error_handler (err):

print (err)

# Dit is een voorbeeld-handler, het drukt eenvoudig het inkomende bericht af naar de console

def handler (msg):

print (msg)

# Maak de websocket-client door het onbewerkte token op te halen.

api_client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

raw_token = api_client.get_token ()

ws_client = shrimpy.ShrimpyWsClient (error_handler, raw_token [‘token’])

subscribe_data = {

"type"​ "abonneren",

"uitwisseling"​ "binance",

"paar-"​ "eth-btc",

"kanaal"​ "orderboek"​

# Begin met het verwerken van de Shrimpy websocket-stream!

ws_client.connect ()

ws_client.subscribe (subscribe_data, handler)

# Eenmaal voltooid, stopt u de client

ws_client.disconnect ()

Wissel historische marktgegevens uit

In dit gedeelte worden voorbeelden belicht voor het verzamelen van historische marktgegevens van Binance. Elk voorbeeld is gericht op een specifiek type gegevens dat aan uw behoeften voldoet.

Voor oproepen naar de historische gegevenseindpunten is een “Startup” -abonnement vereist. Omdat we alleen gegevens verzamelen, hebben we geen gebruikers- / handelskredieten nodig. Dat betekent dat u de schuifregelaar “Gebruikersplan” naar “0 actieve gebruikers” kunt verplaatsen. De schuifregelaar ‘Gegevensplan’ moet worden aangepast aan het niveau van historische gegevens waartoe u toegang wilt hebben.

Beschikbare historische gegevens

Het volgende script haalt de momenteel beschikbare lijst met historische gegevens op. Op die manier kunt u door de gegevenscatalogus van Shrimpy bladeren en bepalen welke gegevens u wilt verzamelen. Dit zal het eindpunt get_historical_instruments gebruiken.

importeer garnalen

# meld u aan voor de Shrimpy Developer API’s voor uw gratis API-sleutels

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Verzamel de historische kandelaargegevens

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

instrumenten = client.get_historical_instruments (‘binance’)

Historische kandelaars

In sommige opzichten vergelijkbaar met levende kandelaars, kunt u met het historische kandelaar-eindpunt historische kandelaargegevens verzamelen. Het belangrijkste verschil tussen dit script en het vorige candlestick-script is het gebruik van het datumbereik, dat elk tijdbereik kan bevatten dat beschikbaar is. We zullen het eindpunt get_historical_candles gebruiken voor dit script.

Met dit script zijn we niet beperkt tot het verzamelen van alleen de laatste 1.000 kaarsen. We kunnen kandelaars van 1 minuut uit 2012 of kandelaars van 5 minuten vanaf 2015 verzamelen (let op: Binance-gegevens gaan niet zo ver terug, maar andere uitwisselingen hebben gegevens die helemaal teruggaan tot 2011). Alle gewenste gegevens zijn beschikbaar.

importeer garnalen

importeer plotly.graph_objects als go

# meld u aan voor de Shrimpy Developer API’s voor uw gratis API-sleutels

public_key = ‘…’

secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

kaarsen = client.get_historical_candles (

‘binance’, # exchange

‘ETH’, # base_trading_symbol

‘BTC’, # quote_trading_symbol

‘2017-02-11T00: 00: 00.000Z’, # start_time

‘2019-10-20T00: 00: 00.000Z’, # end_time

1000, # num_candles

‘1d’ # interval

dates = []

open_data = []

high_data = []

low_data = []

close_data = []

voor kaars in kaarsen:

dates.append (kaars [‘tijd’])

open_data.append (kaars [‘open’])

high_data.append (kaars [‘high’])

low_data.append (kaars [‘laag’])

close_data.append (kaars [‘close’])

fig = go.Figure (data = [go.Candlestick (x = dates,

open = open_data, high = high_data,

low = low_data, close = close_data)])

fig.show ()

Historische transacties

Het volgende script laat zien hoe u tick-by-tick-handelsgegevens verzamelt voor elk beschikbaar handelspaar op Binance. Dit script gebruikt het eindpunt get_historical_trades.

importeer garnalen

# meld u aan voor de Shrimpy Developer API’s voor uw gratis API-sleutels

public_key = ‘…’

secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

trades = client.get_historical_trades (

‘binance’,

‘ETH’,

‘BTC’,

‘2019-05-19T00: 00: 00.000Z’,

‘2019-05-20T00: 00: 00.000Z’,

100

Historische momentopnamen van het orderboek

Ons laatste script gebruikt het eindpunt get_historical_orderbooks om momentopnamen van het orderboek van 1 minuut te verzamelen.

importeer garnalen

# meld u aan voor de Shrimpy Developer API’s voor uw gratis API-sleutels

public_key = ‘…’

secret_key = ‘…’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

orderbooks = client.get_historical_orderbooks (

‘binance’,

‘ETH’,

‘BTC’,

‘2019-05-19T00: 00: 00.000Z’,

‘2019-05-20T00: 00: 00.000Z’,

100

Over Shrimpy

Garnaal is een applicatie voor het samenstellen van aangepaste cryptocurrency-indexfondsen, het opnieuw in evenwicht brengen en beheren van een diverse portefeuille van digitale activa. Automatiseer uw portefeuille door te linken naar een van de 17 cryptobeurzen die we ondersteunen.

Shrimpy’s Universal Crypto Exchange API’s zijn ontworpen voor ontwikkelaars. Integratie met onze uniforme API’s geeft u direct toegang tot uniforme eindpunten voor handel, gegevensverzameling, gebruikersbeheer en meer op elke grote cryptocurrency-uitwisseling.

Volg deze links om toegang te krijgen tot de volledige Python- en Node-bibliotheken:

Knooppunt

Python

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