Il prossimo esempio fa riferimento ad un’architettura del bot di trading che ho trovato sul sito di Quantisti.com.
Leggendo lo schema si comprende che l’architettura tradizionale o “standard” è identificata per Quantisti da cinque elementi principali: il “Market Data”, il “Data Warehouse”, il “Trader”, l’”Order Manager” e la “GUI Interface”.
Nell’esempio di Matt Gosden abbiamo già trovato il “Market Data” e come già descritto precedentemente, in sostanza tale elemento si occupa di eseguire il download dei dati delle pair dagli Exchange. Il DBMS compare nell’elemento “Operational Data Store” ed è equiparabile, come elemento, a quello individuato nello schema di Gosden, ed è utilizzato per salvare i dati provenienti dal “Market Data” e non solo, ma funge da base dati anche per gli altri componenti. Il “Trader” elabora i dati del componente “Operational Data Store” secondo alcune strategie di trading, generando dei segnali di acquisto e di vendita che prontamente, vengono inviati all’l’Order Manager, che a sua volta, si occupa di inviare gli ordini di acquisto e di vendita prodotti agli Exchanges. Infine, non può mancare il client o “GUI Interface” per la gestione del bot da parte degli utenti.
Rispetto al primo esempio, è stato aggiunto un elemento, l’”Order Manager”. In realtà il componente “Trading algorithms and order management” disegnato da Gosden, nell’architettura proposta da Quantisti.com è stato suddiviso in due componenti: il “Trader” e l’“Order Manager”.
Inoltre, in questo schema appare un altro elemento molto importante, il “Data Wharehouse” che funge sia da DBMS per il “Trader Data” e sia da contenitore per l’analisi dei dati. Normalmente la differenza tra DBMS e Data Wharehouse è proprio questa, il primo gestisce i dati ad un primo livello, “operazionale”, il secondo li mette a disposizione per una serie di analisi di Business Intelligence o di analytics.
Dopo la lettura dello schema ho individuato i seguenti elementi fondamentali del bot di trading:
- Il “Market Data” ossia l’elemento che permette di eseguire il download dei dati dagli Exchanges.
- Il DBMS, o meglio chiamato come “Operational Data“, qualificato sia come “contenitore” dei dati delle elaborazioni del “Trader” e sia come “contenitore” delle comunicazioni / configurazioni degli altri componenti.
- Il “Data Wharehouse”. Tale elemento viene utilizzato come piattaforma per l’analisi dei dati, ma anche come repository dei dati storici.
- Il “Calculate Indicator and Triggers”. Si occupa del calcolo automatico degli indicatori e degli oscillatori tecnici nonchè dell’applicazione di alcuni triggers.
- Il “Trader”. L’elemento essenziale senza il quale non si potrebbe dire che siamo difronte ad un bot di trading o Trading System.
- L’Order Manager. Tale elemento si occupa della gestione degli ordini di acquisto e di vendita e dell’invio di questi agli Exchanges.
- Il “Client Data” o “GUI Interface”. App o il client web/desktop per la gestione del bot di trading.
Lo schema dei componenti, ora, assume una diversa configurazione e diventa come descritto nella tabella successiva.
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 |
Calculate Indicators and Triggers | In questo avvengono i calcoli relativi ai vari indicatori o oscillatori tecnici e l’applicazione di vari “triggers” in grado di scatenare determinati eventi. | 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 |
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. | 2 |
(Schema dei componenti di un bot trading).