Dati storici sul commercio crittografico [Esempi di script Python]

>

I dati storici di criptovaluta contengono le singole transazioni eseguite da una borsa nel tempo. Ogni operazione storica contiene informazioni sulla coppia di scambio, la dimensione della transazione, l’ora esatta in cui è stata eseguita la transazione e il prezzo delle attività acquistate o vendute.

È interessante notare che questi dati commerciali vengono utilizzati anche per costruire dati OHLCV, valutare diversi eventi di mercato e sviluppare strumenti analitici. Disporre di dati storici accurati e affidabili sugli scambi tick-by-tick è fondamentale per ricostruire quali eventi si sono verificati nel mercato nel tempo.

In questo articolo, forniremo diversi esempi di come utilizzare il API per sviluppatori gamberetti per accedere all’archivio completo dei dati storici commerciali provenienti da Kaiko. Prima di iniziare, dovremmo configurare il nostro ambiente Python installando il Libreria Shrimpy Python. Questa sarà la libreria chiave che ci darà accesso a tutto ciò che Shrimpy ha da offrire.

Dati commerciali

La cronologia degli scambi è un modo per i trader di leggere le ultime operazioni di acquisto e vendita che sono state eseguite su una borsa.

Accedi ai dati storici del commercio

Per dare il via al tutorial, iniziamo con lo script più semplice che possiamo scrivere. Questo script richiederà semplicemente i primi 10.000 scambi BTC / USD avvenuti dopo ‘2020-09-15T01: 00: 00.000Z’ su Coinbase Pro.

importare gamberetti

# iscriviti a https://developers.shrimpy.io/ per ottenere la tua chiave API

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# crea il client Shrimpy


client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

trades = client.get_historical_trades (

“coinbasepro”,

“BTC”,

‘DOLLARO STATUNITENSE’,

“2020-09-15T01: 00: 00.000Z”,

“2020-09-16T01: 00: 00.000Z”,

10000

)

# scrive i dati in un file di testo

con open (‘trades.txt’, ‘w’) come file:

file.write (json.dumps (trades)) # usa `json.loads` per fare il contrario

Nota: alcuni scambi elaborano a molto dei mestieri. Assicurati di monitorare l’utilizzo del credito dati durante l’accesso ai dati commerciali poiché il numero di crediti dati richiesti in un determinato periodo di tempo varia.

Utilizzo delle negoziazioni per calcolare lo slippage

Solo per divertimento, esaminiamo uno script di esempio che raccoglierà i dati sugli scambi, organizzerà ogni scambio in base al timestamp e calcolerà lo slittamento riscontrato sullo scambio durante ogni periodo di 1 secondo.

importare gamberetti

importa csv

# iscriviti a https://developers.shrimpy.io/ per ottenere la tua chiave API

shrimpy_public_key = ‘…’

shrimpy_secret_key = ‘…’

# crea il client Shrimpy

client = shrimpy.ShrimpyApiClient (shrimpy_public_key, shrimpy_secret_key)

trades_dict = {}

trades = client.get_historical_trades (

“coinbasepro”,

“BTC”,

‘DOLLARO STATUNITENSE’,

“2020-09-15T01: 00: 00.000Z”,

“2020-09-16T01: 00: 00.000Z”,

10000

)

# scambi di gruppo avvenuti nello stesso momento

per il commercio di mestieri:

if trade [‘time’] in trades_dict:

trades_dict [trade [‘time’]]. append (trade)

altro:

trades_dict [trade [‘time’]] = []

trades_dict [trade [‘time’]]. append (trade)

# calcola lo slippage per gli scambi avvenuti nello stesso momento

# alla fine, salviamo tutti i dati in un file csv

per chiave, valore in trades_dict.items ():

slippage = (float (value [len (value) -1] [‘price’]) – float (value [0] [‘price’])) / float (value [0] [‘price’])

somma = 0

per scambio di valore:

sum + = float (trade [‘size’])

riga = [abs (slippage * 100), chiave, somma]

con open (’24_hour_% s_slippage_% s_% s.csv’% (exchange, quote, base), ‘a’) come csvFile:

writer = csv.writer (csvFile)

writer.writerow (riga)

Nota: questi non sono script di livello di produzione. Sono semplicemente esempi divertenti per fornire informazioni su ciò che è possibile con i dati. Ci sono infinite possibilità, quindi sperimenta diversi modi per utilizzare i dati!

Cos’è lo Slippage?

Lo slippage si verifica quando un singolo ordine o più ordini sequenziali vengono piazzati con uno scambio che consuma livelli consecutivi di ordini aperti sullo scambio.

Disponibilità dei dati

Prima di iniziare a raccogliere dati su una coppia di scambio, ci sono modi per capire quanti dati sono disponibili per ogni coppia di scambio. È possibile accedervi chiamando l’endpoint per ottenere strumenti storici.

Il recupero dell’elenco degli strumenti storici per un singolo scambio o per tutti gli scambi può essere fatto semplicemente utilizzando le seguenti richieste in Python.

instruments = client.get_historical_instruments () # ottiene strumenti storici per tutti gli scambi

bittrex_instruments = client.get_historical_instruments (‘Bittrex’) # ottieni strumenti storici per Bittrex

Il risultato di queste richieste sarebbe simile al seguente:

[

{

"scambio":"bittrex",

"baseTradingSymbol":"LTC",

"quoteTradingSymbol":"BTC",

"orderBookStartTime":"14-09-2016T13: 00: 00.000Z",

"orderBookEndTime":"2019-09-07T23: 00: 00.000Z",

"tradeStartTime":"12-09-2016T23: 00: 00.000Z",

"tradeEndTime":"2019-09-09T16: 00: 00.000Z" }

{

"scambio":"kucoin",

"baseTradingSymbol":"LTC",

"quoteTradingSymbol":"BTC",

"orderBookStartTime":"2019-04-09T11: 00: 00.000Z",

"orderBookEndTime":"2019-08-31T23: 00: 00.000Z",

"tradeStartTime":"2019-04-09T10: 00: 00.000Z",

"tradeEndTime":"2019-09-03T23: 00: 00.000Z" }

]

Non è tutto!

Se abbiamo bisogno di informazioni ancora più specifiche su quanti punti di dati commerciali sono disponibili in un periodo di tempo, possiamo utilizzare l’endpoint per ottenere il conteggio storico.

Il seguente esempio mostra come questo può essere fatto in Python.

trades = client.get_historical_count (

‘commercio’,

‘binance’,

“BTC”,

“USDT”,

“2019-05-01T00: 00: 00.000Z”,

“02-05-2019T00: 00: 00.000Z”

)

La risposta a questa richiesta conterrà il conteggio delle operazioni disponibili in quell’intervallo di tempo per la coppia di scambio specificata. Questo sarebbe simile al seguente:

{

"contare": 165012

}

Conclusioni

È ora di iniziare a costruire!

Non ci sono limiti a ciò che puoi costruire con i dati storici del commercio. Sia che tu voglia costruire modelli di apprendimento automatico in grado di prevedere il prezzo futuro di un asset o semplicemente analizzare un interessante evento del cigno nero, i dati commerciali sono un ottimo punto di partenza quando si analizzano i dati storici di mercato.

Non vediamo l’ora di sentire cosa stai costruendo! Lascia un commento condividendo gli strumenti che stai costruendo con le API per sviluppatori di Shrimpy!

Buone letture aggiuntive

Come creare un bot di Crypto Trading usando Python

Come scaricare i dati delle candele di criptovaluta dagli scambi

Script di arbitraggio per bot di trading crittografico

Script per Bitcoin Price Live Ticker (utilizzando Websocket)

A proposito di gamberetti

L’API Developer Trading di Shrimpy è un modo unificato per integrare le funzionalità di trading in tutti i principali exchange. Raccogli dati di mercato, accedi a websocket in tempo reale, esegui strategie di trading avanzate e gestisci un numero illimitato di utenti.

API Shrimpy Crypto Trading: Gamberetti | API di Crypto Trading per sviluppatori

Non dimenticare di seguirci su Twitter e Facebook per gli aggiornamenti e per qualsiasi domanda al nostro fantastico Telegramma Comunità.

Il team di gamberetti

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