Binance websocket, ordrebog og lysestage data (Python-scripts)

>

Binance er almindeligt kendt som den største børs på kryptomarkedet. Med hensyn til handelsvolumen er der ingen andre børser, der kommer tæt på den massive volumen, der udføres hver dag på Binance.

Den imponerende likviditet på Binance giver den perfekte platform for forhandlere, institutioner og investorer til at aggregere. Parret med deres lave handelsgebyrer er der få, hvis nogen, børser, der er bedre til dagshandel.

Desværre har mange mennesker stadig problemer, når det kommer til at indsamle de nødvendige data til analyse af handelsstrategier, backtesting og porteføljeanalyse. Denne artikel giver en effektiv og omkostningseffektiv måde for alle at få adgang til omfattende live og historiske markedsdata fra Binance.

Ved hjælp af Python kan vi indsamle og gemme de data, vi ønsker. Hvert script nedbryder et andet stykke data, der kan være interessant for dig.

Glem ikke at deltage i Udvikler Telegram Group der er dedikeret til bygherrer, der skaber spændende applikationer, der bruger data fra børser. Vi vil meget gerne høre, hvad du bygger, og hjælpe dig med at komme i gang!

Få historiske Coinbase-data

Få adgang til milliarder af historiske datapunkter til Coinbase Pro. Ordrebogs snapshots, handelshistorie og live websockets er alle tilgængelige.

Kom godt i gang

Dette afsnit opretter de biblioteker og API’er, som vi har brug for for at begynde at indsamle Binance-udvekslingsdata.

Installation af Shrimpy Python

Start med at installere Rejer Python-bibliotek.

pip installere rejer-python


Rejer API-nøgler

Når Shrimpy Python Library er installeret, skal vi oprette et sæt Shrimpy API Master Keys. Disse nøgler bruges til at få adgang til dataene.

Tilmeld dig Shrimpy Developer API’er, følg derefter vejledningen her for at få adgang til dine masternøgler.

Bemærk: Vi bliver nødt til at aktivere “Data” -tilladelser på API-mastertasterne, før vi kan køre disse scripts. Der kræves ingen andre tilladelser til disse scripts.

I hvert eksempel script vil du se to linjer, der ligner følgende. Det er her, du tildeler dine egne offentlige og hemmelige API-nøgler, som du genererede på din Shrimpy-udviklerkonto.

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

Udveksle live data

Med Shrimpy er der to måder at indsamle live data på. Indstillingerne er enten gennem REST API’erne eller websockets. Begge disse metoder bruger lidt forskellige scripts til at få adgang til dataene. De vil også ændre den måde, du indsamler og behandler dataene på.

Bemærk: Live REST API’erne har fri adgang uden et premiumabonnement. Webstikkene kræver dog en abonnementsplan “Personlig” eller “Startup” for at få adgang til disse slutpunkter. Da vi ikke bruger handelsendepunkter i disse eksempler, behøver vi ikke en “bruger” / “handel” -plan.

REST API Markedsdataendepunkter

Som diskuteret kræver scripts i dette afsnit ikke et betalt præmieabonnement. Du kan kopiere et hvilket som helst af disse scripts og begynde at bruge dem med det samme.

Tilgængelige aktiver

Ved hjælp af get_exchange_assets slutpunkt kan vi hente de aktiver, der er tilgængelige på Binance.

importere rejer

# Tildel offentlige og hemmelige Shrimpy Master API-nøgler

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Opret Shrimpy REST API-klienten

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

exchange_assets = client.get_exchange_assets (‘binance’)

Tilgængelige handelspar

Ved hjælp af get_trading_pairs-slutpunktet kan vi få adgang til de tilgængelige handelspar på Binance.

importere rejer

# Tildel offentlige og hemmelige Shrimpy Master API-nøgler

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Opret Shrimpy REST API-klienten

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

trading_pairs = client.get_trading_pairs (‘binance’)

Enkel pris ticker

Følgende eksempel giver en simpel pris ticker. Tickeren bruger REST API-opkaldet get_ticker til at indsamle de aktivspecifikke prisdata på Binance.

Ticker-slutpunktet opdateres med et minuts interval.

importere rejer

# Tildel offentlige og hemmelige Shrimpy Master API-nøgler

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Opret Shrimpy REST API-klienten

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Anmod om ticker for alle aktiver på Binance

ticker = client.get_ticker (‘binance’)

Simpelt øjebliksbillede af Live Order Book

I dette eksempel får vi adgang til live-tilstanden for Binance-ordrebogen ved at kalde REST API-slutpunktet for get_order_books.

importere rejer

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Opret API-klienten til REST-opkald

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

# Hent live ordrebogen

ordrebøger = client.get_orderbooks (

‘binance’, # udveksling

‘ETH’, # base_symbol

‘BTC’, # quote_symbol

10 # grænse

)

Enkle levende lysestager

Det næste markedsdata-slutpunkt giver adgang til handel med lysestager gennem get_candles-slutpunktet. Lysestagerne opdateres i realtid, når nye handler udføres på børsen. Følgende script vender kun tilbage til de sidste 1.000 lysestager. For at hente yderligere lysestage-data skal du bruge det “historiske” lysestageendepunkt.

importere rejer

import plotly.graph_objects as go

# tilmeld dig Shrimpy Developer API’erne til dine gratis API-nøgler

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# indsamle de historiske lysestage-data

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

stearinlys = client.get_candles (

‘binance’, # udveksling

‘ETH’, # base_trading_symbol

‘BTC’, # quote_trading_symbol

‘1d’ # interval

)

datoer = []

open_data = []

high_data = []

lave data = []

close_data = []

# formater dataene, så de matcher plottebiblioteket

til stearinlys i stearinlys:

dates.append (stearinlys [‘tid’])

open_data.append (lys [‘åben’])

high_data.append (candle [‘high’])

low_data.append (candle [‘low’])

close_data.append (stearinlys [‘luk’])

# plotte lysestagerne

fig = go.Figur (data = [go.Candlestick (x = datoer),

open = open_data, high = high_data,

low = low_data, close = close_data)])

fig. show ()

Websocket Market Data Endpoints

Det næste sæt eksempler på scripts bruger websocket API’erne til at indsamle markedsdata i realtid fra Binance-børsen.

Disse scripts kræver, at du abonnerer på “Personal” eller “Startup” planerne. Hvis du kun planlægger at bruge websockets og ingen historiske data, anbefales den “Personal” -plan.

Ticker til websocketpris

Følgende eksempel er en mere kompleks måde at implementere en pris ticker på. Hvis der kræves realtidsdata til din tjeneste, ville denne mulighed være ideel for at sikre, at de mest opdaterede data bruges. Denne mulighed kan være en erstatning for den “enkle ticker”, der tidligere blev diskuteret.

Dette eksempel bruger realtidshandelsweb-lommer.

importere rejer

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Dette er en prøvehåndterer, den udskriver simpelthen den indgående besked til konsollen

def error_handler (err):

udskrive (fejle)

# Dette er en prøvehåndterer, den udskriver simpelthen den indgående besked til konsollen

def handler (msg):

udskrive (msg [‘indhold’] [0] [‘pris’])

# Opret websocket-klienten ved hjælp af det rå token, der er hentet af REST API

api_client = rejer.ShrimpyApiClient (rejer_offentlig_key, rejer_secret_key)

raw_token = api_client.get_token ()

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

# Abonnementsdata for websocket

subscribe_data = {

"type": "abonnere",

"udveksling": "binance",

"par": "eth-btc",

"kanal": "handle"}

# Start behandlingen af ​​Shrimpy websocket-strømmen!

client.connect ()

client.subscribe (subscribe_data, handler)

# Når du er færdig, skal du stoppe klienten

client.disconnect ()

Websocket Live ordrebog

Svarende til eksemplet med websocket-ticker, vil det følgende eksempel bruge websockets til at indsamle live ordrebogsdata.

importere rejer

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# Dette er en prøvehåndterer, den udskriver simpelthen den indgående besked til konsollen

def error_handler (err):

udskrive (fejle)

# Dette er en prøvehåndterer, den udskriver simpelthen den indgående besked til konsollen

def handler (msg):

udskrive (msg)

# Opret websocket-klienten ved at få det rå token.

api_client = rejer.ShrimpyApiClient (rejer_offentlig_key, rejer_secret_key)

raw_token = api_client.get_token ()

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

subscribe_data = {

"type": "abonnere",

"udveksling": "binance",

"par": "eth-btc",

"kanal": "ordrebog"}

# Start behandlingen af ​​Shrimpy websocket-strømmen!

ws_client.connect ()

ws_client.subscribe (subscribe_data, handler)

# Når du er færdig, skal du stoppe klienten

ws_client.disconnect ()

Udveksle historiske markedsdata

Dette afsnit fremhæver eksempler på, hvordan man indsamler historiske markedsdata fra Binance. Hvert eksempel målretter mod en bestemt datatype, der passer til dine behov.

Opkald til de historiske dataendepunkter kræver et “Startup” -abonnement. Da vi kun indsamler data, behøver vi ingen bruger- / handelskreditter. Det betyder, at du kan flytte skyderen “Brugerplan” til “0 aktive brugere”. Skyderen “Dataplan” skal justeres til niveauet for historiske data, som du gerne vil have adgang til.

Tilgængelige historiske data

Følgende script henter den aktuelt tilgængelige liste over historiske data. På den måde kan du gennemse Shrimpy-datakataloget og bestemme, hvilke data du gerne vil indsamle. Dette bruger slutpunktet get_historical_instruments.

importere rejer

# tilmeld dig Shrimpy Developer API’erne til dine gratis API-nøgler

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# indsamle de historiske lysestage-data

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

instrumenter = client.get_historical_instruments (‘binance’)

Historiske lysestager

Lignende på nogle måder at leve lysestager, det historiske lysestageendepunkt giver dig mulighed for at indsamle historiske lysestagerdata. Den største forskel mellem dette script og det forrige lysestage-script er brugen af ​​datointervallet, som kan indeholde et hvilket som helst tidsinterval, der er tilgængeligt. Vi bruger slutpunktet get_historical_candles til dette script.

Med dette script er vi ikke begrænset til kun at indsamle de sidste 1.000 lys. Vi kan indsamle 1 minut lysestager fra 2012 eller 5 minutters lysestager fra 2015 (bemærk: Binance-data går ikke så langt tilbage, men andre børser har data, der går helt tilbage til 2011). Alle ønskede data er tilgængelige.

importere rejer

import plotly.graph_objects as go

# tilmeld dig Shrimpy Developer API’erne til dine gratis API-nøgler

public_key = ‘…’

secret_key = ‘…’

klient = rejer.ShrimpyApiClient (public_key, secret_key)

stearinlys = client.get_historical_candles (

‘binance’, # udveksling

‘ETH’, # base_trading_symbol

‘BTC’, # quote_trading_symbol

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

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

1000, # num_candles

‘1d’ # interval

)

datoer = []

open_data = []

high_data = []

lave data = []

close_data = []

til stearinlys i stearinlys:

dates.append (stearinlys [‘tid’])

open_data.append (lys [‘åben’])

high_data.append (candle [‘high’])

low_data.append (candle [‘low’])

close_data.append (stearinlys [‘luk’])

fig = go.Figur (data = [go.Candlestick (x = datoer),

open = open_data, high = high_data,

low = low_data, close = close_data)])

fig. show ()

Historiske handler

Det følgende script viser, hvordan man indsamler tick-by-tick-handelsdata for ethvert tilgængeligt handelspar på Binance. Dette script bruger slutpunktet get_historical_trades.

importere rejer

# tilmeld dig Shrimpy Developer API’erne til dine gratis API-nøgler

public_key = ‘…’

secret_key = ‘…’

klient = rejer.ShrimpyApiClient (public_key, secret_key)

handler = client.get_historical_trades (

‘binance’,

‘ETH’,

‘BTC’,

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

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

100

)

Historiske ordrebog-snapshots

Vores endelige script bruger get_historical_orderbooks-slutpunktet til at indsamle 1-minuts ordrebogs-snapshots.

importere rejer

# tilmeld dig Shrimpy Developer API’erne til dine gratis API-nøgler

public_key = ‘…’

secret_key = ‘…’

klient = rejer.ShrimpyApiClient (public_key, secret_key)

ordrebøger = client.get_historical_orderbooks (

‘binance’,

‘ETH’,

‘BTC’,

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

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

100

)

Om rejer

Rejer er en applikation til opførelse af tilpassede kryptokurrencyindeksfonde, genbalancering og styring af en forskellig portefølje af digitale aktiver. Automatiser din portefølje ved at linke til nogen af ​​de 17 kryptobørser, vi understøtter.

Shrimpys Universal Crypto Exchange API’er er designet til udviklere. Integrering med vores samlede API’er giver dig øjeblikkelig adgang til ensartede slutpunkter til handel, dataindsamling, brugeradministration og mere på tværs af alle større kryptokurrencyudvekslinger.

For at få adgang til de komplette Python- og Node-biblioteker skal du følge disse links:

Node

Python

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