Un bot per il trading di criptovalute per il bene superiore

Jan 31 2023
La prima cosa che potrebbe colpire la tua mente dopo aver letto questo dovrebbe essere qualcosa del tipo: "Come diavolo può fare del bene un Crypto Trading Bot?". Ho a lungo nutrito scetticismo nei confronti del sistema neoliberista e della sua tendenza a dare la priorità agli interessi dei ricchi a scapito della democrazia, dell'ambiente e dei più poveri.
Almeno ora sei sicuro che non sono un grafico

La prima cosa che potrebbe colpire la tua mente dopo aver letto questo dovrebbe essere qualcosa del tipo: "Come diavolo può fare del bene un Crypto Trading Bot?".

Ho a lungo nutrito scetticismo nei confronti del sistema neoliberista e della sua tendenza a dare la priorità agli interessi dei ricchi a scapito della democrazia, dell'ambiente e dei più poveri. I robot di trading ad alta frequenza sono un perfetto esempio dei nuovi strumenti tecnici che supportano le carenze e la vacuità di questo sistema economico dannoso.

L'idea alla base di questo progetto è quella di realizzare un bot di trading redditizio utilizzando Python sull'exchange di criptovalute Binance e di dare i profitti generati a organizzazioni non governative. RobotHood non cambierà la faccia del mondo ma costituirà un umile tentativo di ridistribuire la ricchezza alla mia scala.

1. Quando comprare, quando vendere?

Questa è la domanda. E diciamocelo una volta per tutte: trovare questa risposta rimane un sogno irrealizzabile, soprattutto sul mercato delle criptovalute che è altamente volatile. Quando ho iniziato questo progetto un anno fa, mi sono subito reso conto che non potevo generare da solo i segnali di trading. Inoltre, per alcuni motivi, non volevo dedicare tempo all'apprendimento del trading.

Si spera che un mio buon amico che scambia criptovalute nel tempo libero mi abbia fatto conoscere un canale discord privato in cui la comunità invia segnali di trading di grande qualità. Ecco i motivi per cui il loro lavoro è perfetto per quello che sto cercando di ottenere:

  • I loro risultati sono pubblicati da anni e sono abbastanza buoni (~ il 97% dei segnali ha raggiunto il primo obiettivo di vendita).
  • I loro segnali di trading sono formattati, il che li rende facili da scartare con alcune espressioni regolari.
  • Discord è abbastanza facile da monitorare con Python.
  • La comunità fornisce circa 50 segnali al mese.

2. Dai messaggi Discord ai segnali di trading eseguibili

Come spesso accade con i problemi orientati ai dati, la prima sfida è stata quella di estrarre i dati e renderli utilizzabili. Inoltre, poiché non sappiamo mai quando verrà visualizzato un messaggio, dobbiamo utilizzare un bot che esegue la scansione in tempo reale del canale discord del segnale di trading.

Per fare ciò utilizzo la libreria discord.py-self , che consente l'esecuzione del mio codice quando viene attivato da eventi specifici all'interno del mio account Discord, ad esempio quando viene inviato un messaggio su un canale designato

Una volta ricevuto, un messaggio discord verrà quindi trattato e trasformato in un oggetto python di TradingSignal . Ecco un esempio di trasformazione con un vecchio segnale:

3. Esecuzione di segnali di trading

Ora che abbiamo un vero e proprio oggetto TradingSignal possiamo usare TradingSignalManager. Questo oggetto utilizzerà python-binance per interagire con l'API di Binance e:

  • Calcola le quantità di acquisto in base ai fondi gratuiti che ho sul mio conto Binance.
  • Fai un ordine di acquisto sul mercato.
  • Calcola le quantità di vendita in base alla nostra strategia di trading (in quali proporzioni utilizziamo ciascun obiettivo di prezzo).
  • Effettua uno o più ordini di vendita OCO con i parametri corrispondenti.
Processo semplificato di RobotHood

4. Copriti le spalle

Dato che qui abbiamo a che fare con i soldi, dobbiamo prendere delle misure per evitare di perdere tutto quello che abbiamo. Ecco cosa ho fatto per coprirmi le spalle:

  • Usando il mio token Discord come variabile di ambiente (non codificarlo mai da nessuna parte).
  • Proteggi le mie chiavi API di Binance e usale come variabile di ambiente (non codificarle mai da nessuna parte).
  • Proteggere il mio account Binance.
  • Testare tutte le funzioni che ho creato come un maniaco (le trovi nella cartella test del repository git).
  • Utilizzo di azioni GitHub CI/CD per garantire la qualità del codice.
  • Containerizzazione del bot in un'immagine Docker protetta.
  • Generazione di registri durante tutto il processo per consentire un'efficiente risoluzione dei problemi.
  • Investendo solo denaro che posso permettermi di perdere.

Ultimo, ma non per importanza

Potresti chiedermi come faccio a sapere se funzionerà? Non lo so davvero. Mi spiego: ho testato questo bot negli ultimi tre mesi e ho generato qualcosa come 100€ con un investimento iniziale di 2000€. Tuttavia le criptovalute sono altamente volatili e non possiamo sapere né fare supposizioni su cosa accadrà dopo.

La motivazione principale che mi spinge nello sviluppo di questo bot è dimostrare che possiamo hackerare ciò che è stato originariamente progettato per generare profitto personale per rendere il mondo un posto migliore. Come sviluppatore odio il modo in cui la tecnologia viene solitamente utilizzata, questo progetto è un tentativo di accendere un barlume di speranza per coloro che la pensano allo stesso modo.

È stata anche l'occasione per apprendere nuove competenze risolvendo problemi complessi lavorando su un progetto significativo.

/!\ DISCLAIMER: Ho pubblicato solo una versione fittizia e innocua di RobotHood su GitHub in modo che nessuno possa usarla a proprio vantaggio o perdita. Non contiene TradingSignalManager che è la caratteristica principale.

In effetti RobotHood non sarebbe RobotHood se pubblicassi il codice sorgente completo sul web. Inoltre non rivelerò quale gruppo discord utilizzo per ottenere i segnali di trading.

Conclusione

Sono molto orgoglioso di scrivere finalmente di questo lavoro, troverai il link GitHub qui . Questa è stata una rapida panoramica delle caratteristiche principali di RobotHood, altri articoli sono in arrivo, ora in arrivo:

  • Come tenere traccia dei profitti generati da RobotHood.
  • Un approccio di data science all'ottimizzazione della strategia di investimento.
  • Una presentazione delle ONG supportate e del sistema di donazione di RobotHood.
  • E ancora qualcosa su altri progetti e trucchi degli sviluppatori!

PS: ora sono un Data Scientist freelance, se ti piace il mio lavoro e hai bisogno (o conosci qualcuno che ha bisogno) di aiuto con un progetto di dati non esitare a contattarmi. Per ulteriori informazioni, controlla il mio profilo Malt qui o il mio sito web lì .