Il prossimo esempio fa riferimento ad una proposta di Claudiu Vinte presente nel sito di ResearchGate.net di cui ne vediamo lo schema nella seguente immagine.
In questo esempio, emergono dei nuovi elementi: il “Portfolio Management Server“, lo “Stock Exchange Simulation Engine“, e l’ “OPenMQ Broker“. Il primo si occupa della scelta degli assets. L’obiettivo è quello di massimizzare il profitto ma senza dover per forza rischiare troppo. A tal proposito, esistono degli algoritmi che hanno l’obiettivo di scegliere gli assets migliori. Il loro compito è di non esporre al rischio il capitale e contemporaneamente di produrre un rendimento allocando il capitale nei vari assets scelti in base ad alcune regole ben precise. E’ ovvio, che l’operazione di selezione degli assets potrebbe essere eseguita manualmente, ma visto che stiamo parlando di sistema di trading o bot di trading il tutto si traduce in un sistema completamente automatico o al massimo si parla di in un sistema ibrido, in cui si richiede un minimo di configurazione o intervento manuale.
Per quanto concerne il secondo elemento, lo “Stock Exchange Simulation Engine“, questo ha il compito di simulare le strategie di Trading. Si tratta di un “backtester” in cui è possibile eseguire diverse strategie di trading e valutarne i risultati sul lungo e breve periodo.
Infine, l'”OPenMQ Broker” è un componente molto interessante, in grado di gestire tutte le comunicazioni fra i componenti, secondo dei protocolli ben precisi.
Di seguito, trovate lo schema dei componenti dell’architettura di un bot di trading.
Nome Componente | Funzione | Importanza |
---|---|---|
Market Data | Elemento che permette il download dei dati degli assets dagli Exchanges. | 1 |
DBMS | Database operazionale che contiene i dati da elaborare o o i dati di comunicazione o configurazione degli altri componenti. | 1 |
Data Wharehouse | Tale elemento viene utilizzato per l’analisi dei dati o in genere come repository per la Business Intelligence. | 1 |
OpenMQ Broker | Questo componente si occupa di gestire la comunicazione tra i vari componenti. | 1 |
Il Trader | Componente essenziale che contiene gli algoritmi per l’esecuzione delle strategie di trading. | 1 |
L’Order Manager | Tale componente si occupa della gestione degli ordini e dell’invio di quest’ultimi agli Exchanges | 1 |
Client Data | App o Client Web / Desktop che permette la gestione del client da parte degli utenti. | 1 |
Portfolio Management | Tale componente gestisce l’allocazione del capitale nei vari assets. | 1 |
Stock Exchange Simulation Engine | Con tale elemento è possibile individuare, simulando, le strategie di trading migliori. | 2 |
Telegram API | Elemento utilizzato normalmente per la notifica delle informazioni del sistema di trading. | 2 |
Rest API | Elemento che permette l’integrazione degli altri sistemi con il Bot. | 2 |
Jobs & Scripts | Tali permettono l’esecuzione di più istanze del bot o vengono utilizzati per alcune operazioni di organizzazione dei dati. | 3 |
(Schema dei componenti di un bot trading).
Il “Trader”, in questo schema dei componenti ha inglobato il componente “Calculate Indicators and Triggers” così da rendere ancora più importante tale elemento.
Ora, che lo schema dei componenti, almeno, per quanto riguarda questo articolo, risulta terminato, tentiamo di costruire un grafico riassuntivo.
In questa rielaborazione dell’architettura di un sistema di trading compaiono quasi tutti i componenti che abbiamo trovato negli schemi di esempio presenti nell’articolo. Ecco, di seguito riassunte nella tabella rielaborata tutti i componenti e le loro descrizioni.
Nome Componente | Funzione | Processo | Importanza |
---|---|---|---|
Market Data | Elemento che permette il download dei dati degli assets dagli Exchanges. | 1 | 1 |
DBMS “Operazionale” | Database operazionale che contiene i dati da elaborare e/o i dati di comunicazione o configurazione degli altri componenti. | 1 | |
Data Wharehouse | Tale elemento viene utilizzato per l’analisi dei dati o in genere come repository per la Business Intelligence. | 1 | |
Component System Comunication (CSC) | Questo componente si occupa di gestire la comunicazione tra i vari componenti. | 1 | |
Il Trader | Componente essenziale che contiene gli algoritmi per l’esecuzione delle strategie di trading. | 2 | 1 |
L’Order Management System | Tale componente si occupa della gestione degli ordini e dell’invio di quest’ultimi agli Exchanges | 4 | 1 |
Client Data | App o Client Web / Desktop che permette la gestione del client da parte degli utenti. | 1 | |
Portfolio Management System | Tale componente gestisce l’allocazione del capitale nei vari assets. | 3 | 1 |
BackTrader o Stock Exchange Simulation Engine | Con tale elemento è possibile individuare, simulando, le strategie di trading migliori. | 1 | |
Telegram API | Elemento utilizzato normalmente per la notifica delle informazioni del sistema di trading. | 2 | |
Rest API | Elemento che permette l’integrazione degli altri sistemi con il Bot. | 2 |
(Rielaborazione dello schema dei componenti di un bot trading).
Come si vede, ho cambiato qualche nome, il componente “OpenMQ Broker” l’ho chiamato “Component System Comunication” o in breve “CSC”. Inoltre, ho eliminato la riga degli “Jobs & Scripts” in quanto ho ritenuto poco significativa nell’architettura di un sistema di trading. Infine, ho aggiunto una colonna “Processo” che indica sequenzialmente l’ordine di flusso principale di attraversamento delle informazioni e di partecipazione dei componenti. Si tratta di un flusso semplice, a cui a seconda delle logiche previste possono essere “innestati” altri componenti attraverso l’ausilio del componente fondamentale, il “CSC”. In questo esempio, il DBMS è molto importante, ma sicuramente il lavoro più “interessante” è quello del “CSC” che in base a determinate logiche e tramite dei protocolli ben definiti offre la possibilità di organizzare a proprio piacimento l’architettura lavorando su un solo componente, rendendo di fatto “slegati” gli altri componenti.
La ricerca dell’architettura dei componenti di un sistema di trading non è finita con questa breve lettura, e sicuramente ho dimenticato qualche elemento importante, ma almeno ora, sappiamo da dove partire per poter progettare e quindi sviluppare un nostro “sistema” di trading. Sempre in questo articolo, ho utilizzato le parole bot e sistema di trading allo stesso modo, ma in realtà il primo è per definizione un sistema automatico di trading, il secondo può anche non esserlo. Infine, se realizzare un vostro “sistema” di trading non dimenticate di inviarmi almeno uno schema con qualche descrizione così potrei pubblicarlo e quindi alimentare questa documentazione.
Come al solito, per eventuali domande e integrazioni inviate un e-mail a webmaster@megalinux.cloud. Aiutate a sostenere The Megalinux, l’unico sito nel Web senza pubblicità inviando Bitcoin al seguente indirizzo.
3LpoukFpvDHTZPn5qGbLwUzve3rX9zsSq6