BitMEX API – come recuperare i dati di mercato automaticamente sul proprio PC

Tutti coloro che fanno trading sulle criptovalute da un po’ di tempo si sono accorti di una differenza fondamentale che separa questo mondo da quello del trading tradizionale: la facilità di reperire informazioni di mercato dalle piattaforme di trading.

In questo mercato infatti, ogni piattaforma che si rispetti mette a disposizione dei propri trader delle API grazie alle quali è possibile sfruttarne le funzionalità offerte senza aver bisogno di interagirci manualmente.

BitMEX è la piattaforma sulla quale vengono scambiati futures Bitcoin per un controvalore di 3 miliardi di Dollari ogni giorno. Se non siete ancora iscritti, vi consiglio di farlo da qui per risparmiare il 10% in commissione nei primi sei mesi.

Come interagire con l’API di Bitmex

Grazie alle API di Bitmex si possono portare a termine una serie di operazioni in maniera automatica, ovvero tramite codice, connettendosi alla piattaforma grazie a dei programmi messi a disposizione di altri utenti. Questi programmi si chiamano API connector.

Nel nostro esperimento abbiamo utilizzato un API Connector per il linguaggio di programmazione Python. Questo linguaggio di programmazione ha il vantaggio di essere multipiattaforma, veloce ed essenziale. Ma soprattutto va bene sia per Windows che per Mac (sul quale abbiamo effettuato la prova) e, ovviamente, anche per Linux.

Installare Python

Come requisito, prima di iniziare, è necessario che sul vostro PC o Mac abbiate installato Python in una versione superiore alla 3.5. Il software è gratuito e potete scaricarlo direttamente da qui: https://www.python.org/downloads/.

Una volta installato, potete verificarne il corretto funzionamento lanciando il comando “python” da terminale, la risposta dovrebbe essere simile alla seguente:

Scaricare l’API Connector

 Una volta installato correttamente Python, non ci resta che ricercare un API connector che ci permetta di interagire con le API. Il connector che abbiamo provato è il seguente:

https://github.com/BitMEX/api-connectors/tree/master/official-ws/python

Installarlo è semplicissimo, basta lanciare il seguente comando:

pip install bitmex-ws

… et voilà, siamo pronti ad interagire con BitMEX in modo automatico, sfruttando il web socket.

Quali dati possiamo ricavare?

 Il connector mette già a disposizione anche un semplice codice, il main.py che potete trovare qui, per ricavare i dati di mercato di qualsiasi cross presente su Bitmex. Facendo un po’ di modifiche al codice, sarà possibile anche inviare o cancellare nuovi ordini alla piattaforma.

In particolare i dati che si possono estrarre sono:

  1. Il prezzo aggiornato di una criptovaluta: la funzione da utilizzare è ws.get_ticker() e restituisce il prezzo di domanda, offerta e l’ultimo prezzo, ad esempio

{‘last’: 8844.0, ‘buy’: 8844.0, ‘sell’: 8844.0, ‘mid’: 8844.0}

  1. Le transazioni più recenti, tramite ws.recent_trades() , che ci restituisce i dati relativi al prezzo, size e valore (sia in criptovaluta che in Dollari) delle ultime transazioni. Questa funzione è molto utile per coloro che intendono monitorare i grandi movimenti di mercato, come fanno alcuni trading bots.

 

  1. La profondità del mercato, ovvero quanti ordini sono stati immessi sulla piattaforma e la relativa quanità (orderbook). La funzione che ci assiste con questa operazione è ws.market_depth().

I risultati di queste operazioni vengono scritti automaticamente su terminale, il che può risultare poco fruibile. Per chi volesse salvarsi su file i risultati (che vengono restituiti di BitMex in formato Json), è sufficiente aggiungere un paio di righe di codice:

with open(‘data.json’, ‘w’) as outfile:

json.dump(data, outfile)

In data mettiamo il risultato della funzione che ci interessa salvare e poi li scriviamo su data.json.

Effettuare degli ordini in maniera programmatica

Finora abbiamo parlato di dati di mercato che sono disponibili a tutti. Per conoscere i propri dati personali, effettuare degli ordini in base ai dati che abbiamo reperito grazie alle funzioni precedenti e magari crearsi un trading bot, è necessario iscriversi a BitMEX e recuperare , sul proprio account, una coppia di chiavi che permetta al codice di entrare nella piattaforma, ovvero api_key ed api_secret.

Se vuoi speculare sull'andamento delle criptovalute principali, clicca qui sotto:Confronto Piattaforme Broker >>

Una volta reperita la coppia di chiavi ed inserite nel codice del main.py (è necessario ricordarsi anche di cambiare https://testnet.bitmex.com/api/v1  con https://www.bitmex.com/api/v1 per non accedere alla testnet) possiamo utilizzare:

ws.funds() per reperire le informazioni sui fondi e sul margine presenti sul nostro account.

ws.open_orders() per ricavare tutti gli ordini che abbiamo aperto sulla piattaforma.

A coloro che volessero addrentrarsi nel trading programmatico, per creare automaticamente i propri ordini a seconda dei dati di mercato reperiti, rimandiamo alla lettura dell’API explorer di Bitmex, per conoscere tutte le funzionalità e le modalità di apertura e chiusura ordini, l’utilizzo della leva etc.