Vai al contenuto

AIBridge

E’ da un po’ di tempo che, con Giovanni Trombetta discutiamo di come risolvere i problemi di comunicazione che esistono tra la comunità scientifica, che sviluppa modelli di AI (e in particolare modo sistemi basati su algoritmi genetici), e la comunità finanziaria, che tali modelli deve poi metterli in opera.

Questo è il motivo per cui abbiamo provato a costruire un “ponte” tra gli strumenti che le due comunità generalmente utilizzano: Python e TradeStation /Multicharts.

AiBridge è in sostanza una API che rende fruibili ad utenti professionali di TradeStation /Multicharts  i risultati di modelli complessi di AI e/o algoritmi genetici costruiti in Python. 

Traders e fund managers, infatti, spesso non sono esperti di intelligenza artificiale in genere e di algoritmi evolutivi (algoritmi genetici) in particolare; in aggiunta, per capire la logica dietro le strategie, in genere vogliono mettere le mani sui e “nei” grafici; hanno bisogno di allargarli e restringerli, di guardare i livelli di entrata e uscita per capire come il modello si è comportato nelle diverse fasi di mercato e fare dei confronti con il modo in cui loro stessi hanno gestito quelle fasi di mercato; spesso hanno bisogno di essere concentrati da soli sugli strumenti a loro più familiari:  i grafici e gli scanner di borsa.

Questo primo progetto che vi presento, e che Giovanni Trombetta sta gentilmente ospitando  nell’incubatore Gandalf (in realtà Giovanni sta anche fornendo la materia prima di questo primo prototipo, cioè un modello di Genetic Asset Management), si chiama AiBridge_100 ed ha come obbiettivo quello di alimentare con cadenza settimanale i desktop e workspace degli utenti di TradeStation /Multicharts, con i forecast di un algoritmo genetico costruito sui 100 titoli più capitalizzati dell’indice americano S&P 500.

In sintesi (seguiranno altri articoli di dettaglio su come siano concepiti tali algoritmi), il modello genetico assegna settimanalmente ad ognuno delle top 100 azioni dell’indice americano, una valutazione Risk ON / Risk OFF. 

Fig.1: AiBridge Pipeline

La prima cosa che mi è venuta in mente, appena AiBridge è stato sviluppato, è cercare di visualizzare il comportamento del modello sui mercati attraverso gli strumenti che mi sono familiari: i grafici ed i “Radarcreen” di TradeStation.

Ho quindi costruito con i dati forniti da Python, un primo Radarscreen che visualizzasse il comportamento del modello nelle ultime 12 settimane.

Fig.2: Tradestation Radarscreen from AiBridge

Quello che vedete in Figura 2 è un esempio di RadarScreen Tradestation alimentato da AiBridge.

Il Radar presenta, oltre al ticker, alla descrizione ed al settore di appartenenza delle azioni, 12 colonne, ogni colonna rappresenta una settimana. Nella riga 1 sono riportate le date, che vanno come nei grafici, da sinistra verso destra in ordine cronologico: ad esempio nella colonna 1 trovate la settimana più recente disponibile, in questo caso la settimana con chiusura Venerdì 17 maggio.

Ogni settimana valutata Risk ON dal modello genetico viene illuminata in verde: per esempio, alla data di venerdì 17 maggio, il modello ha individuato 8 azioni su 100 (le vedete nelle righe da 4 a 11).

Le percentuali all’interno delle celle rappresentano il net change % della settimana successiva; questo permette un veloce controllo su come il modello si sta comportando: ad esempio, nella settimana del 17 maggio, sono riportati i net change% della settimana che chiude il 24 maggio, e così via.

Nella riga 2 trovate il net change % dello SPY, anche qui relativa alla settimana successiva, in modo da poter fare un veloce confronto tra le performance dei titoli evidenziati rispetto al mercato.

Analizzando il RadarScreen si intuisce che è come se il modello proponesse tra i 100 simboli di partenza, un portafoglio diverso ogni settimana.

Ho provato poi ad aggiungere su grafici Tradestation un istogramma che mi segnalasse quando il modello entra in modalità risk-ON. E come questa informazione può essere letta congiuntamente ad altri indicatori tecnici standard.

Fig.3: Tradestation Chart from AiBridge

In Figura 3 potete vedere la valutazione Risk-ON fornita dal modello genetico sotto forma di istogramma verde scuro: l’istogramma si colora evidenziando una valutazione Risk-ON da parte del modello genetco, Questa visualizzazione permette un’analisi visiva immediata del comportamento storico del modello : nel grafico di Chevron, ad esempio, si può osservare che nelle ultime 30 settimane, il modello ha mantenuto una valutazione Risk-ON quasi ininterrottamente;

Le informazioni del modello possono essere integrate con le librerie di indicatori tecnici presenti nelle piattaforme commerciali in modo da creare dei template grafici personalizzati. In questo grafico ho aggiunto, a titolo puramente dimostrativo, uno stocastico ed una media mobile. Chi utilizza lo stocastico noterà che, il sistema comincia ad evidenziare un Risk-ON in una situazione di “ipervenduto”: il che potrebbe rafforzare una valutazione di acquisto o di incremento su Chevron. Chi utilizza le medie mobili, noterà che, il titolo “crossa” la media settimanale a 40 periodi durante la valutazione Risk-ON, ma che subito dopo la media si appiattisce, evidenziando una debolezza del titolo. 

Poi ho pensato: posso back-testare le previsioni fornite su singoli simboli?

Fig.4: TradeStation Strategy from AiBridge

In Figura 4, ho provato ad agganciare una strategia EasyLanguage che compra quando la valutazione del modello è Risk_ON e vende quando la valutazione ritorna Risk-OFF. La strategia, su Chevron produce l’Equity Line in Figura 5.

Fig.5: TradeStation Equity Line 

Poi mi è venuta una gran curiosità: ho pensato, ma il modello è stato costruito sui Top 100 titoli dell’indice americano, che succede se lo testiamo sull’intero S&P 500?

AiBridge Performance su S&P 500

Quindi ho organizzato a tal fine il Portfolio Maestro di Tradestation che, con size identiche da 20000 USD (pari ad una allocazione totale di 10 Milioni), porta questi risultati:

Fig.6: Portfolio Maestro from AiBridge: Performance Report S&P 500

Fig.7: Portfolio Maestro from AiBridge: Out of Sample Realized Equity S&P 500

Fig.8: Portfolio Maestro from AiBridge: Exposure S&P 500

Fig.9: Portfolio Maestro from AiBridge: Out of sample P&L by symbol S&P 500

Una performance annua media del 4% ed un drawdown massimo del 12%, per essere un risultato out of sample (peraltro su un paniere diverso da quello su cui il modello è stato costruito) mi sembra un buon punto di partenza. Peraltro, dall’Exposure che vedete, il modello ha una media di impiego del capitale sotto 5 milioni USD, quindi potrebbe essere tranquillamente gestito a leva 2, portando la performance media annua all’ 8% (con un drawdown massimo al 24%).

Buy & Hold Benchmark

Ma come si comporta il modello di fronte al problema che attanaglia tutti i gestori algoritmici di portafoglio azionari, in particolar modo americano: il modello sovraperforma il Buy&Hold in un’ottica di rapporto rischio rendimento?

Utilizzando il ROA (Return on Asset di Tradestation, cioè il rapporto tra Profitto totale e max drawdown x 100 ) , abbiamo quindi provato a rispondere a questa domanda.

Su 492 azioni analizzate possiamo rilevare che:

  • Negative Performers: sui 30 titoli che hanno un Buy&Hold ROA  negativo, AiBridge riesce a battere il Buy & Hold, portando il ROA medio da -26 a 55
  • Average Performers: sui 312 titoli che mostrano un Buy&Hold da 0 a 200, AiBridge sovra performa portando il ROA medio da 96 a 162
  • Top Performers: sui 150 titoli che mostrano un ROA > 200, AiBridge perde in  termini di sovra-performance portando la media ROA da 318 a 301. 

Conclusioni

Insomma, per concludere, man mano che entriamo più nel dettaglio, abbiamo la sensazione di aver aperto un “vaso di Pandora” dal quale potrebbero venir fuori risposte a domande del tipo:

  • si può utilizzare uno strumento del genere nell’Asset Allocation?
  • e se utilizzassimo più modelli genetici per dare un rating anziché soltanto un semaforo verde/rosso?
  • come funzionerebbe il modello su un portafoglio di ETFs?
  • come funzionerebbe sui singoli settori? 
  • e se applicassimo una copertura di portafoglio?
  • e se aprissimo una posizione short sull’indice ogni volta che il modello è in fase di risk-ON? 
  • i risultati del modello genetico sono ottenuti senza nessuna gestione del rischio: e se applicassimo un position-sizing legato alla volatilità?
  • .. né tantomeno di Money Management: e se utilizzassimo il forecast genetico solo per entrare in posizione, o solo per uscire?

Sembra che abbiamo qualcosa su cui investigare sia in termini di Trading che di Asset Management nelle prossime settimane.

Domenico D’Errico

Esperto Easylanguage/Powerlanguage
Collaboratore Gandalf Project

2 commenti su “AIBridge”

  1. Buongiorno,
    seguo sempre con interesse i vostri articoli dei vostri lavori.
    Lungi da me fare un paragone, anche io , nel mio piccolo, essendo un utilizzatore di Multicharts ho avuto la necessità di scrivere un bridge per poter dialogare e mandare ordini a MT5.
    I vostri sono progetti sempre interessanti e concreti.
    Grazie.

    Mauro Bonvini

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *