- Torna al menu
- Torna al menuPrezzi
- Torna al menuRicerca
- Torna al menuConsenso
- Torna al menu
- Torna al menu
- Torna al menu
- Torna al menuWebinar ed Eventi
Trading ad alta frequenza su Coinbase Exchange
Dopo aver letto del trading ad alta frequenza in Flash Boys di Michael Lewis, Andrew Barisser ha creato il suo bot di trading Bitcoin . Ecco le sue scoperte.

Andrew Barisser è un ingegnere informatico e Criptovaluta presso Assembly. In precedenza era uno studente laureato in biofisica presso l'UCSB, dove afferma che una "fascinazione lancinante" per i Bitcoin lo ha portato al software. In questo articolo, condivide le lezioni apprese dalla creazione del suo bot di trading Bitcoin nelle "acque infestate dagli squali" del nuovo exchange di Coinbase.
Ho iniziato di recente a fare trading di bitcoin in modo algoritmico sul nuovo exchange Coinbase. Dopo aver letto del trading ad alta frequenza nel libroRagazzi Flashdi Michael Lewis, ho deciso che ci avrei provato anch'io, anche se in un modo più goffo e amatoriale.
L'esperienza è stata affascinante, sia a livello tecnico che strategico. Scrivere una logica che controlla il denaro stesso è una cosa strana. Liberarla per la prima volta, sapendo che qualsiasi bug potrebbe letteralmente buttare via denaro, è stato terrificante.
Bitcoin è un sistema incredibilmente aperto, particolarmente amichevole per gli sviluppatori senza nome. Gli exchange hanno API aperte che consentono a chiunque, letteralmente a chiunque, di fare trading. Non c'è accesso premium, né credenziali costose per il trading floor. È totalmente aperto, lo adoro.
Acque infestate dagli squali
Mentre progettavo il mio bot di trading, mi sono reso conto di quanta profondità strategica ci sia in questo genere di giochi. Gli exchange sono giàdiffusocon i bot di trading; queste sono acque infestate dagli squali. I bot danzano l'uno intorno all'altro in un vortice caotico. Impiegano così tante strategie diverse. È come se tanti microbi competessero nella melma primordiale.
Entrando in questo ambiente, ho dovuto immediatamente essere consapevole della presenza di altri bot.
I trader algoritmici devono occupare una nicchia specifica. Traggono profitto dalle inefficienze del mercato. In un mercato perfetto, ciò che fanno non sarebbe redditizio.
È proprio perché i Mercati, nel loro stato nativo, sono non idealmente liscio, continuo e ben funzionante, che i trader algoritmici possano estrarre qualsiasi valore. Nel correggere i piccoli errori, i piccoli casi di slittamento che si verificano nei Mercati, ONE possono ricavare piccoli profitti.
Se un grande squalo è la forza ineguagliabile del mercato stesso, i piccoli pesciolini che lo seguono, pulendo gli scarti, tenendo le cose in ordine, sono i trader algoritmici. Anche loro hanno il loro posto.

Un altro paradosso è che non posso rivelare la mia strategia di trading senza comprometterla.
In una certa misura, spiegare la mia strategia sarebbe un invito ai concorrenti, per i quali il costo marginale di installazione del software è molto basso. Molto più minacciosamente, tuttavia, se la strategia esatta del mio bot fosse nota,potrebbe essere depredato.
Se potessi sempre prevedere ogni suo passo, potresti ingannarlo e convincerlo a rinunciare ai soldi ancora e ancora. Questa è un'altra cosa che mantiene viva la mia paranoia, la paura che qualcuno là fuori osservi il mio bot e, nel susseguirsi dei suoi ordini, ne capisca la strategia.
Immagino di tornare al mio bot e di vedere il suo saldo vuoto, perché qualche genio lo ha manipolato algoritmicamente, prosciugando centesimi a ogni ciclo.

Nozioni fondamentali sulla creazione del mercato
D'altro canto, la strategia del mio bot è estremamente conservativa e sarebbe difficile da manipolare. È fondamentalmente un market Maker sofisticato. Fornisce liquidità all'exchange Coinbase. Ciò significa che LOOKS il libro degli ordini e osserva dove gli ordini sono sottili. Forse c'è pochissima profondità di ordine sul lato degli acquisti.
Può piazzare ordini limite, come piccole trappole, a profondità variabili sui lati di acquisto e vendita. Varia il modo esatto in cui lo fa in base alle recenti condizioni di mercato. Se un'operazione di grandi dimensioni viene eseguita all'improvviso, potrebbe sopraffare la disponibilità di offerte al miglior prezzo. Un'offerta così grande potrebbe quindi innescare ONE delle mie offerte, in attesa, a un prezzo più vantaggioso.
Questa è la strategia di market making 101. È praticamente la strategia meno opinabile in circolazione, anche se ho temperato la mia implementazione con un po' di logica aggiuntiva di previsione dei prezzi. Nel complesso è una strategia estremamente noiosa.
Il market-making offre anche una reale utilità sociale. Più profonda è la liquidità fornita dai market maker, più difficile è causare picchi irregolari nei prezzi. I market maker riducono anche lo spread bid-ask, un concetto di cui la maggior parte delle persone T è nemmeno a conoscenza: una testimonianza di professionisti di successo a Wall Street.
Altre strategie dei bot
Altri bot impiegano strategie molto diverse. Alcuni rettificano lo spread tra exchange separati, una strategia completamente dipendente dalla velocità. Se qualcuno perde 1.000 BTC su Bitfinex, il prezzo su Coinbase crolla in sincronia perché qualcuno ha fatto a gara per eseguire un ordine di mercato.
Altre strategie ruotano attorno all'ingannare altri bot, per i quali ci sono infinite tattiche. Spesso implicano elaborati atteggiamenti, ingannando la logica altrui in passi falsi fatali. Altre ancora sono progettate per intimidire gli esseri Human con massicci ordini di acquisto o vendita. Sono sicuro che ce ne siano altre ancora di cui non ho idea.
A livello pratico, il mio bot deve essere molto QUICK. Se ci sono ritardi anche di pochi secondi tra l'annullamento e l'inserimento degli ordini, le condizioni di mercato possono far sì che i nuovi ordini diventino inappropriati.
Gli ordini che faccio Seguici una logica solida supponendo che il bot abbia una corretta comprensione dello stato del portafoglio ordini. Questa ipotesi non regge a lungo. Nel giro di un secondo, una raffica di ordini significativi avrebbe potuto alterare ilattualeportafoglio ordini, per cui i nuovi ordini che ho ideato ora sono semplicemente sbagliati.
Devo anche stare attento ai bot ostili, che potrebbero piazzare e rimuovere rapidamente grandi ordinicon l'intenzione di ingannare altri bot. Più velocemente il mio bot riesce a mantenere la consapevolezza del libro degli ordini, meno sarà suscettibile a tali tattiche. Il mio bot ha anche una logica aggiuntiva per evitare di essere ingannato da falsi muri di volume di altri bot.
Velocità Human vs velocità bot
Nella ricerca della velocità, ho dovuto pensare a dettagli tecnici con cui non avevo molta familiarità. Ho dovuto parallelizzare un sacco di funzioni banali e noiose. T posso annullare ordini obsoleti in serie, ci vorrebbe troppo tempo perché le mie richieste JSON vadano avanti e FORTH su Internet.
Perché Base monetarianon offre un singolo endpoint API per annullare tutti gli ordini contemporaneamente,qualcosa che ho chiesto, li annullo con molte richieste separate in parallelo. Allo stesso modo, Coinbase non ha un endpoint per creare più ordini contemporaneamente. Quindi devo emettere più richieste contemporaneamente. Una soluzione sincrona richiederebbe diversi secondi, il che è decisamente troppo lungo.
È buffo come il senso del tempo Human sia del tutto inappropriato rispetto a quello dei bot. Anche una frazione di secondo può essere irrimediabilmente lunga. Sforzarsi la metà o muoversi la metà della velocità T garantiscono la metà dei profitti; danno zero (o peggio). Addentrandosi nel trading algoritmico, ONE abitare il ciclo di vita di un bot, estendendo il proprio concetto di tempo a millisecondi. È su questa scala che vedo ancora il mio bot come stupido e lento.
Almeno la consapevolezza del bot del libro degli ordini è molto veloce. Trasmette in streaming un feed websocket di nuovi ordini. Ogni articolo è una permutazione del libro degli ordini, quindi devo mantenere lo stato del libro e apportare piccole modifiche man mano che arrivano.
Questo processo è anche parallelizzato. È davvero sorprendente quanto sia veloce, ci sono circa 20 permutazioni di ordine al secondo.
Quindi il mio bot fornisce principalmente liquidità. Ne guadagna una piccola ma costante quantità. Detiene quantità pressoché uguali di bitcoin e dollari, quindi bruschi cambiamenti di prezzo possono lasciarlo con perdite in una data denominazione. Ma nel complesso sta realizzando profitti decenti rispetto a un paniere 50/50 di bitcoin/USD.
[post-citazione]
Il mio bot funziona meglio quando il volume è alto, ma le oscillazioni dei prezzi sono basse. Come fornitore di liquidità, attenua le ondulazioni irregolari che altrimenti si verificherebbero senza market maker. In questo fornisce una funzione utile, quindi i periodi di volume elevato sono i più redditizi. In alcuni casi, le oscillazioni brusche, avanti e FORTH, possono far sì che il mio bot continui a detenere l'asset sbagliato. Quindi è possibile perdere denaro.
Ho scoperto che i regimi a basso volume sono i più pericolosi. Il mio bot cerca di stimare il tasso di negoziazione e moderare di conseguenza la profondità dei suoi ordini. Ciò limita il rischio di essere catturati in grandi oscillazioni, a costo di avere i suoi ordini eseguiti meno spesso.
Ho anche scoperto che c'è una notevole quantità di rumore attorno al mio saldo. Quando il prezzo oscilla, il mio bot perde periodicamente denaro. Potrebbe perdere denaro il 45% delle volte. Ma se sta guadagnando nell'altro 55%, WIN in modo massiccio nel lungo periodo.
Date queste probabilità, misurare il bot su unfrequente base ONE ad osservare più casi di perdita rispetto ainfrequenteosservazioni.
È come controllare il tuo portafoglio azionario. Se avessi una strategia garantita che rende il 10% all'anno, ma con una normale quantità di rumore, osserveresti perdite quasi il 50% delle volte se osservassi il tuo saldo abbastanza spesso, anche se hai impiegato una strategia di successo. La legge dei grandi numeri funziona solo... su scale temporali più lunghe.
Mentre all'inizio questo bot era solo una distrazione, ho capito che ciò che fa, seppur in modo semplicistico, è davvero necessario. ONE dei più grandi problemi con Bitcoin è il modo in cui viene scambiatoL'illiquidità degli scambi è un problema enorme.
Confronta il trading Bitcoin con quello di qualsiasi asset finanziario reale e noterai un mondo di differenza. Gli esperti di finanza estraggono un valore enorme nel mantenimento di Mercati efficienti in altri asset.
Questo non avviene per magia. Bitcoin ha bisogno Mercati che funzionino meglio se vuole attrarre giocatori seri. È anche un'opportunità di profitto.
Anche con gli attuali volumi di trading, si può catturare molto valore attenuando le fluttuazioni del mercato. Se il Bitcoin dovesse crescere, aumenterebbe anche la necessità di liquidità. Ho imparato che l'infrastruttura T è fatta solo di server e repository github. Sono anche gli intermediari finanziari che fanno funzionare i Mercati . Il solo fatto che io abbia potuto cimentarmi in questo, come nessun altro, illustra la meravigliosa apertura del Bitcoin.
Questo post è apparso originariamente suMedioÈ stato ripubblicato qui con autorizzazione.
Immagine dei bottramite Shutterstock
Disclaimer:Questo articolo non deve essere considerato un consiglio finanziario o una raccomandazione di investimento. Si prega di effettuare una ricerca approfondita prima di prendere decisioni di investimento.
Nota: Le opinioni espresse in questa rubrica sono quelle dell'autore e non riflettono necessariamente quelle di CoinDesk, Inc. o dei suoi proprietari e affiliati.
Andrew Barisser
Andrew Barisser è un ingegnere informatico e Criptovaluta presso Assembly. In precedenza era uno studente laureato in biofisica presso UCSB, dove un'ossessione per i Bitcoin lo ha portato al software. Ha anche prestato servizio nei Peace Corps in Africa. Oltre alla scienza e Bitcoin, ama le lingue straniere, scrivere e contemplare la volatilità.
