Gli Oracoli nel mondo antico
Nell’antica Grecia, il concetto di “oracolo” aveva radici profonde nella cultura religiosa e spirituale. I templi sacri erano i centri in cui i sacerdoti e le sacerdotesse fungevano da intermediari tra gli uomini e gli dei. Il più celebre di questi templi era il Tempio di Apollo a Delfi, considerato il centro dell’oracolo più influente dell’antichità.

Gli oracoli ricevevano domande da parte dei fedeli e meditavano o entravano in uno stato di trance per comunicare con le divinità stesse. La loro risposta, spesso pronunciata in versi o in modo enigmatico, veniva interpretata dagli intermediari come una guida per affrontare questioni cruciali, sia personali che politiche.
Un aspetto peculiare degli oracoli era l’ambiguità delle loro risposte. Questo consentiva interpretazioni multiple, poiché gli intermediari cercavano di decifrare il vero significato dietro le parole degli oracoli stessi. Era un processo che richiedeva una profonda riflessione e, spesso, lasciava spazio all’autosuggestione.
Gli oracoli avevano un’influenza significativa nella politica delle città-stato greche e dell’antico mondo mediterraneo. Le decisioni dei leader erano spesso influenzate dalle profezie degli oracoli, che potevano portare a importanti cambiamenti nella storia.
“Psico-Storia” di Isaac Asimov: La Scienza al Servizio della Predizione
Isaac Asimov, uno dei grandi autori di fantascienza del XX secolo, ha introdotto il concetto affascinante di “psico-storia” nella celebre serie di romanzi di fantascienza della “Fondazione”. La psico-storia è un campo immaginario che fonde psicologia, matematica e storia per predire il comportamento delle masse umane su scala galattica.

Nel mondo immaginario di Asimov, la psico-storia è stata sviluppata da Hari Seldon, un matematico visionario, e il concetto è centralizzato nella Trilogia della Fondazione. Seldon prevede la caduta dell’Impero Galattico e il conseguente periodo di anarchia e caos che durerà per migliaia di anni. Per mitigare questa fase oscura, sviluppa la psico-storia come uno strumento per predire e guidare il futuro.
La psico-storia si basa su due principi fondamentali:
- Legge delle Masse: La psico-storia considera il comportamento delle masse umane come un sistema complesso, analizzando come le decisioni e le azioni di migliaia di miliardi di individui si combinino in modelli predittivi.
- I cicli storici: La psico-storia assume che i cicli storici si ripetano e che gli esseri umani reagiscano in modo simile alle stesse circostanze in momenti diversi. In questo modo, possono essere previsti i punti di svolta e le tendenze future.
Hari Seldon utilizza la psico-storia per identificare i momenti chiave di crisi e creare il “Seldon Crisis Index”, che fornisce una guida per affrontare le sfide future. La sua visione è quella di preservare la conoscenza umana e accorciare il periodo di caos tra la caduta dell’Impero e la nascita di una nuova civiltà galattica.
La psico-storia nella narrativa di Asimov solleva interessanti questioni filosofiche e sociali, tra cui la possibilità di prevedere il comportamento umano su larga scala, le conseguenze della perdita di controllo sul proprio destino e la lotta per mantenere il progresso e la conoscenza in momenti di turbolenza.
In sintesi, la psico-storia è una parte iconica del lavoro di Isaac Asimov, che sfida la nostra comprensione della predizione del futuro basata sulla scienza e la matematica. Benché sia pura fantasia, ha ispirato generazioni di lettori e ha aperto la porta a riflessioni interessanti sulla relazione tra individuo e società, storia e matematica.
Nella visione di Asimov, la matematica è un ingrediente fondamentale per la psico-storia. Questa disciplina impiega equazioni complesse e calcoli statistici per analizzare il comportamento umano su vasta scala.

Modelli Matematici e Mercati Finanziari
Declinando quanto detto a proposito della Psico-Storia, nulla interpreta meglio la teoria di Asimov che il mondo dei mercati finanziari. Milioni di operatori interagiscono su mercati elettronici quasi istantanei, dando forma alla propria avidità, la propria paura e i propri desideri. Se a questo aggiungiamo le macchine (che ormai cubano una percentuale ingente delle transazioni a seconda dei contesti) capiamo quanto complesso possa essere dare ordine al disordine.

A tale scopo ci viene in soccorso l’intelligenza artificiale che, facendo riferimento a ciò che accade con i servizi di sentiment, permette di analizzare i dati in differenti modalità che dipendono dai modelli utilizzati e dai dati che diamo loro in pasto.
Andando più in dettaglio, esistono diverse categorie di modelli di machine learning, ognuna delle quali è progettata per affrontare tipi specifici di problemi. Ecco alcune (sarebbe impossibile trattarle tutti in. un articolo come questo):
- Regressione Lineare: Questo modello viene utilizzato per problemi di regressione, in cui l’obiettivo è prevedere un valore numerico continuo in base a variabili di input. La regressione lineare cerca di stabilire una relazione lineare tra le variabili di input e l’output.
- Regressione Logistica: Questo modello è utilizzato per problemi di classificazione binaria, in cui l’obiettivo è assegnare un’istanza a una delle due classi possibili. La regressione logistica stima la probabilità che un’istanza appartenga a una classe specifica.
- Alberi Decisionali: Gli alberi decisionali sono utilizzati per problemi di classificazione e regressione. Rappresentano decisioni in forma di albero, suddividendo i dati in base a condizioni specifiche.
- Random Forest: Questo è un modello di ensemble learning che combina diversi alberi decisionali per ottenere previsioni più accurate. È utilizzato per problemi di classificazione e regressione.
- Support Vector Machine (SVM): Le SVM sono utilizzate per la classificazione e la regressione. Questo modello cerca di trovare un iperpiano che meglio separi le diverse classi o approssimi la relazione tra le variabili di input e l’output.
- Reti Neurali Artificiali (ANN): Le reti neurali sono modelli ispirati al funzionamento del cervello umano e sono utilizzate per problemi complessi di classificazione e regressione. Le reti neurali profonde (Deep Learning) sono in grado di apprendere gerarchie di feature nei dati.
- K-Means: Questo è un modello di clustering utilizzato per raggruppare dati simili in cluster. È un modello di apprendimento non supervisionato che identifica pattern nei dati.
- Naive Bayes: Questo modello è utilizzato per problemi di classificazione, in particolare per il riconoscimento di testo. Si basa sul teorema di Bayes e assume l’indipendenza condizionale tra le variabili di input.
- Rete Bayesiane: Questo modello rappresenta le relazioni tra variabili mediante un grafo aciclico diretto. È utilizzato per la modellazione delle probabilità condizionali.
- Autoencoder: Questo modello è utilizzato per l’apprendimento non supervisionato e la riduzione della dimensionalità. È particolarmente utile nella compressione dei dati e nell’estrarre feature significative dai dati.
Una seconda categoria di algoritmi di AI fortemente utilizzati anche in finanza è quella del Reinforcement Learning. Si tratta di una branca dell’apprendimento automatico che si concentra sulla formazione di agenti in grado di prendere decisioni sequenziali per massimizzare una ricompensa. Ecco alcune delle principali categorie di modelli di reinforcement learning:
- Q-Learning: Questo è uno dei principali algoritmi di reinforcement learning. Si basa sulla stima di una funzione Q, che valuta l’azione migliore da intraprendere in uno stato specifico per massimizzare la ricompensa cumulativa nel tempo.
- Deep Q-Networks (DQN): Le DQN sono una estensione del Q-learning che utilizza reti neurali profonde per approssimare la funzione Q. Questo consente di gestire spazi di stato più complessi e migliorare la generalizzazione.
- Policy Gradient Methods: Questi approcci mirano a direttamente apprendere la policy, ovvero la strategia dell’agente per selezionare azioni. Gli algoritmi di policy gradient cercano di massimizzare l’aspettativa della ricompensa accumulata.
- Actor-Critic: Questo è un approccio ibrido che combina elementi di apprendimento basato su valore (critic) e apprendimento basato su policy (actor). L’agente utilizza una rete neurale (l’attore) per prendere decisioni e una seconda rete neurale (il critico) per stimare i valori delle azioni.
- Algoritmi Basati su Modello: Questi approcci costruiscono un modello interno dell’ambiente e lo utilizzano per pianificare e prendere decisioni. Questo modello interno può essere una rete neurale o un’altra rappresentazione.
- Algoritmi di Apprendimento Imitativo: Questi algoritmi addestrano un agente a imitare un comportamento esperto piuttosto che scoprire direttamente una policy. Vengono spesso utilizzati quando è disponibile un esperto umano da cui apprendere.
- Approcci a Tempo Continuo: Mentre molti algoritmi di reinforcement learning operano in ambienti discreti, esistono anche approcci a tempo continuo che gestiscono azioni e stati continui.
- Multi-Agent Reinforcement Learning: Questa categoria si concentra sul coordinamento di più agenti in un ambiente condiviso. Gli agenti possono collaborare o competere tra loro per massimizzare la ricompensa complessiva.
- Apprendimento Gerarchico: In questo contesto, gli agenti apprendono in modo gerarchico, suddividendo il problema in sottoproblemi più gestibili. Questo può migliorare l’efficienza dell’apprendimento in ambienti complessi.
Queste sono alcune delle categorie principali di modelli di reinforcement learning, ma esistono molte varianti e approcci specifici all’interno di ciascuna categoria. La scelta del modello di reinforcement learning dipenderà dal tipo di problema, dalla complessità dell’ambiente e dalle specifiche esigenze dell’applicazione.
Gli algoritmi evolutivi sono una classe di algoritmi di intelligenza artificiale ispirati alla teoria dell’evoluzione darwiniana. Questi algoritmi sono utilizzati anche per le previsioni finanziarie, in particolare per l’ottimizzazione di strategie di trading e la gestione dei portafogli. Ecco alcuni dettagli sugli algoritmi evolutivi utilizzati in questo contesto:
- Ottimizzazione Genetica: Gli algoritmi genetici sono uno dei tipi più comuni di algoritmi evolutivi utilizzati nel campo delle previsioni finanziarie. Questi algoritmi simulano il processo di selezione naturale, in cui le soluzioni migliori sono selezionate e combinate per creare nuove generazioni di soluzioni. Nel contesto finanziario, le “soluzioni” sono spesso strategie di trading. Gli algoritmi genetici cercano di identificare le strategie più efficaci modificando e combinando iterativamente le strategie esistenti.
- Programmazione Genetica: Questo è un altro approccio evolutivo che cerca di creare programmi computerizzati ottimizzati per risolvere problemi specifici. Nell’ambito finanziario, la programmazione genetica può essere utilizzata per generare algoritmi di trading personalizzati.
- Algoritmi “Monkey”: Questo è un termine informale per gli algoritmi che generano casualmente strategie di trading per testarle sul mercato finanziario. Le strategie che ottengono risultati positivi vengono mantenute, mentre quelle che non lo fanno vengono eliminate. Questo processo si ripete iterativamente fino a ottenere strategie redditizie.
- Algoritmi a Popolazione Multipla: Questi algoritmi utilizzano più popolazioni di soluzioni, ciascuna con le proprie caratteristiche e parametri. L’evoluzione delle popolazioni può generare una diversità di strategie di trading, consentendo una maggiore flessibilità nell’adattamento alle condizioni di mercato mutevoli.
- Selezione di Caratteristiche Evolutiva: Questo approccio mira a identificare le caratteristiche più rilevanti dai dati finanziari attraverso l’evoluzione. Le caratteristiche selezionate possono poi essere utilizzate per costruire modelli di previsione più efficaci.
- Ottimizzazione del Portafoglio: Gli algoritmi evolutivi sono utilizzati anche per l’ottimizzazione dei portafogli. Questi algoritmi cercano di determinare la composizione ottimale di un portafoglio di investimenti, tenendo conto di obiettivi di rendimento, rischio e vincoli.
L’uso combinato di algoritmi di machine learning, reinforcement learning e algoritmi genetici può contribuire in modo significativo a una migliore previsione multipla di mercato. Questi tre approcci possono lavorare sinergicamente per fornire previsioni più accurate e robuste. Ecco in che modo ciascuno di questi può contribuire allo scopo:
- Machine Learning (ML): Gli algoritmi di machine learning possono essere utilizzati per analizzare dati finanziari storici, identificare pattern e tendenze nei movimenti dei mercati e sviluppare modelli predittivi. Questi modelli possono essere addestrati per prevedere il comportamento futuro degli asset finanziari. Ecco come il machine learning può contribuire:
- Analisi dei Dati: I modelli di machine learning possono elaborare grandi quantità di dati storici per identificare pattern nascosti e relazioni complesse tra variabili finanziarie.
- Previsione delle Tendenze: Gli algoritmi di machine learning, come le reti neurali, possono essere addestrati per prevedere il prezzo futuro di un’azione o di un altro asset sulla base delle informazioni storiche.
- Gestione del Rischio: I modelli di machine learning possono aiutare a valutare il rischio associato a determinate decisioni di investimento e a sviluppare strategie di mitigazione del rischio.
2. Reinforcement Learning (RL): Gli algoritmi di reinforcement learning sono utilizzati per apprendere come prendere decisioni ottimali in situazioni sequenziali. Nel contesto finanziario, possono essere utilizzati per gestire portafogli di investimento e prendere decisioni di trading. Ecco come il reinforcement learning può contribuire:
- Ottimizzazione delle Strategie di Trading: Gli agenti di reinforcement learning possono essere addestrati per apprendere quale azione intraprendere in base alle condizioni di mercato al fine di massimizzare il rendimento del portafoglio.
- Gestione dei Portafogli: Il reinforcement learning può aiutare a bilanciare e gestire un portafoglio di investimento in modo dinamico, tenendo conto delle fluttuazioni del mercato e delle preferenze dell’investitore.
- Adattamento alle Condizioni di Mercato: Gli algoritmi di reinforcement learning possono adattarsi in tempo reale alle mutevoli condizioni di mercato, prendendo decisioni informate sulla base dei dati più recenti.
3. Algoritmi Genetici: Gli algoritmi genetici sono utilizzati per ottimizzare strategie di trading e portafogli di investimento. Possono contribuire alla ricerca delle combinazioni ottimali di parametri e regole di trading. Ecco come gli algoritmi genetici possono contribuire:
- Ottimizzazione delle Strategie: Gli algoritmi genetici possono esplorare una vasta gamma di strategie di trading, modificando e combinando iterativamente le strategie esistenti per identificare quelle più efficaci.
- Ricerca dei Parametri Ottimali: Possono essere utilizzati per trovare i parametri ottimali per i modelli di machine learning utilizzati nelle previsioni finanziarie.
- Diversificazione del Portafoglio: Gli algoritmi genetici possono contribuire a identificare la composizione ottimale di un portafoglio di investimenti, tenendo conto delle diverse caratteristiche degli asset.
In sintesi, l’integrazione di questi tre approcci – machine learning, reinforcement learning e algoritmi genetici – può portare a una previsione multipla di mercato più accurata e resiliente. Ogni approccio ha le proprie forze e capacità, e l’uso sinergico di questi strumenti può migliorare notevolmente la capacità di adattarsi alle mutevoli condizioni di mercato e prendere decisioni più informate nel mondo degli investimenti finanziari.
Una volta decise le categorie di modelli da legare tra loro (o da far concorrere) esistono tre differenti modalità di utilizzo:
- Ensemble Learning: L’ensemble learning è una tecnica che combina i risultati di diversi modelli di machine learning per ottenere una previsione complessiva più accurata. Ad esempio, si possono utilizzare modelli di regressione, reti neurali e alberi decisionali e aggregare le loro previsioni.
- Approccio a Cascata: In questo approccio, i modelli vengono organizzati in una cascata, in cui il risultato di un modello influenza o guida l’output di un altro. Questo può essere utile per affinare ulteriormente le previsioni e ridurre il margine di errore.
- Voto a Maggioranza: Si può anche adottare un approccio di voto a maggioranza, in cui i modelli emettono previsioni e la previsione finale è determinata dalla maggioranza dei voti. Questo metodo è particolarmente efficace quando i modelli sono eterogenei.
Il Ruolo dei Dati
Il successo di questi modelli dipende in gran parte dalla qualità e dalla quantità dei dati utilizzati. I dati finanziari storici sono fondamentali per l’addestramento e la validazione dei modelli. Tuttavia, quando possibile, è anche importante considerare i dati in tempo reale e le fonti di notizie finanziarie per adattarsi alle condizioni di mercato in evoluzione.

Il trattamento di matrici di dati eterogenei in modo da poterli utilizzare come input per modelli di machine learning è una sfida comune nell’ambito dell’apprendimento automatico. I dati eterogenei si riferiscono a dati che provengono da diverse fonti o che presentano diversi tipi di variabili (ad esempio, numeriche, categoriche, testuali). Ecco alcuni passaggi fondamentali per trattare e preparare dati eterogenei per l’apprendimento automatico:
- Raccolta e Integrazione dei Dati
– Raccogliere tutti i dati da diverse fonti e assicurarsi che siano accessibili in un’unica struttura dati.
– Risolvere eventuali incongruenze nei formati dei dati o nelle unità di misura. - Gestione dei Dati Mancanti
– Identificare e gestire i valori mancanti in modo appropriato. Questo potrebbe comportare l’imputazione dei dati mancanti o la rimozione delle righe o delle colonne interessate. - Codifica delle Variabili Categoriche
– Le variabili categoriche devono essere convertite in una forma numerica utilizzabile. Ciò può essere fatto attraverso tecniche di codifica come l’encoding one-hot o l’encoding ordinale. - Normalizzazione o Standardizzazione delle Variabili Numeriche
– Permettere una migliore convergenza degli algoritmi di machine learning, è spesso utile normalizzare o standardizzare le variabili numeriche in modo che abbiano una scala comune. - Creazione di Feature Aggiuntive
– A volte è possibile migliorare le prestazioni del modello creando nuove feature dai dati esistenti. Questo processo è noto come feature engineering. - Trasformazione dei Dati
– In alcuni casi, potrebbe essere necessario applicare trasformazioni ai dati per renderli più adatti all’uso nei modelli. Ad esempio, la log-transform può essere utilizzata per rendere i dati più simili a una distribuzione normale. - Selezione delle Feature
– In presenza di un gran numero di feature, è possibile utilizzare tecniche di selezione delle feature per identificare le variabili più rilevanti per il problema. - Partizione dei Dati
– Dividere i dati in un set di addestramento e un set di test per valutare le prestazioni del modello. È importante mantenere una partizione coerente tra le diverse fonti di dati. - Validazione Incrociata
– Utilizzare la validazione incrociata per valutare il modello su più sottoinsiemi dei dati e garantire che sia in grado di generalizzare bene. - Scelta dei Modelli
– Selezionare la pletora di modelli di machine learning più adatti al problema e ai dati eterogenei forniti in ingresso. - Addestramento e Ottimizzazione del Modello
Addestrare il modello sui dati e ottimizzarne i parametri per massimizzare le prestazioni. - Valutazione del Modello
– Valutare le prestazioni del modello utilizzando metriche appropriate e confrontare i risultati con le aspettative. - Aggiornamento Continuo
– Mantenere i dati aggiornati e il modello allineato con le nuove informazioni.

Il Presente dei Dati Alternativi
Mettendo insieme tutti gli elementi citati finora è possibile far concorrere alcune o tutte le categorie seguenti:
- Modelli di Machine Learning Supervisionati
- Modelli di Machine Learning non Supervisionati
- Allocazioni GAM generate mediante Algoritmi Genetici
- Trading System generati mediante Reinforcement Learning
Le categorie citate consentono di mantenere un livello sufficiente di diversificazione dei modelli, che vengono addestrati su diverse banche dati (mutando la profondità dell’informazione ed il numero di feature). Questo garantisce una buona eterogeneità degli output, che vengono generati in un ambiente protetto dove sia noto ogni singolo elemento della filiera di progetto. Questo approccio si differenzia da un puro approccio “blind” di wisdom of crowd, dove si delega a terzi lo sviluppo dei singoli modelli. Se da un punto di vista teorico con il primo approccio si potrebbe perdere qualcosa in termini di varietà dei modelli (un singolo team ha risorse limitate e skill limitate), l’avvento dei sistemi si Intelligenza Auto-Generativa (sistemi AI capaci di generare autonomamente nuove banche dati partendo da quelle note, oppure nuove declinazioni di modelli di machine learning, combinando lo stato dell’arte dei modelli noti) ha nuovamente cambiato le carte in tavola, permettendo di esplorare nuove soluzioni. Va ricordato che entrambi gli approcci si basano su criteri statistici e possono non essere sempre accurati.
E’ ad esempio possibile creare dei classificatori di tendenza a probabilità combinata, che restituiscano cinque differenti scenari, per ciascun asset, per il periodo temporale successivo (come in figura).

Ma come sfruttare queste informazioni?
Trattandosi di dati alternativi, possono essere utilizzati sia per arricchire il proprio modello di machine learning (per aumentare l’accuratezza dei propri risultati) oppure per alimentare il proprio algoritmo operativo di asset allocation. E’ anche possibile eseguire delle simulazioni che tengano conto unicamente della classe con probabilità associata più elevata per ciascun asset, verificando l’eventuale miglioramento in termini di rischio atteso.

Nell’esempio in figura è possibile vedere l’effetto dell’applicazione dell’asset allocation a classi su un basket con forte bias rialzista come quello preso in esame: viene limitato il rischio atteso a fronte di una perdita di profitto (tale perdita di profitto si configura come il pagamento di un premio di assicurazione dal rischio).
Va comunque tenuto presente che questo tipo di architetture può aumentare la probabilità di identificare correttamente il posizionamento di ciascun asset di una percentuale limitata (seppur preziosa) rispetto ad una allocazione randomica, non potendo prevedere fattori esogeni non contenuti nei dati stessi. Per dare un riferimento, la percentuale erosa da questo tipo di architetture su dati sconosciuti (Out of Sample) varia tra il 5 ed il 10% rispetto ad una allocazione randomica.
Per ulteriori informazioni potete invece scrivere ad info@gandalfproject.com.
Giovanni Trombetta
Founder – Head of R&D
Gandalf Project
Saifer Goldman
Generative AI Expert System