Con il termine Intelligenza Artificiale si abbraccia un ampio ecosistema di algoritmi che comprende il Machine Learning, gli Algoritmi Evolutivi, la Swarm Intelligence e altre discipline, che di giorno in giorno vanno ad aggiungersi a quelle note. Ognuna sottoclasse di algoritmi comprende ulteriori categorie: ad esempio il Machine Learning può essere declinato in Supervised Learning (Apprendimento Supervisionato), Unsupervised Learning (Apprendimento non Supervisionato) e Reinforcement Learning (Apprendimento per Rinforzo). Il Deep Learning, che di fatto è un sottoinsieme del Machine Learning, si muove trasversalmente alle tre categorie enunciate.

A loro volta i modelli di Machine Learning si suddividono in Modelli Lineari, Modelli Non Lineari e Modelli Esemble (come ad esempio i moderni XGBoost, LightGBM e CatBoost, protagonisti, negli ultimi anni, nelle competizioni di Machine Learning di Kaggle).
La famiglia degli Algoritmi Evolutivi, rappresentati principalmente dagli Algoritmi Genetici, caratterizza invece la declinazione informatica di processi presi in prestito dal mondo biologico, in cui una popolazione di individui evolve il proprio comportamento per ottimizzare una o più funzioni obiettivo.
Tutti questi mondi, apparentemente disgiunti, possono concorrere a generare algoritmi che prendono il meglio dalle differenti caratteristiche di ciascuno. Ad esempio le Reti Neurali, per evolversi, possono beneficiare degli algoritmi di ottimizzazione propri degli algoritmi genetici.

La Machine Learning Academy è un percorso per diventare esperti di Machine Learning e di Algoritmi Evolutivi, apprendendo e sviluppando competenze sulle principali tecniche di Analisi dei Dati e Apprendimento Automatico. Si spazia dalle tecniche di Regressione Lineare alla Regressione Logistica, dagli Alberi Decisionali al Random Forest, dal K Nearest Neighbors al K Means Clustering, dalle Support Vector Machines fino alle Reti Neurali (nelle diverse declinazioni Deep Neural Networks, Convolutional Neural Networks, Long Short Term Memory Networks). L’utilizzo di tale bagaglio è ovviamente inter-disciplinare, ma ci concentreremo in particolare su applicazioni nell’ambito della Analisi Quantitativa. Avere la qualifica di Data Scientist ed esperto di Machine Learning, oggi più che mai, significa essersi costruiti una nuova credibilità professionale che trascende l’ambito finanziario.
L’approfondimento sugli Algoritmi Genetici è un corso nel corso, che porterà alla costruzione di un motore evoluto per setacciare qualsiasi serie storica alla ricerca di inefficienze da poter sfruttare su qualsiasi mercato finanziario. Ovviamente, anche in questo caso, la teoria ed il codice consentono applicazioni immediate anche in ambiti esterni a quello finanziario.

I vari moduli sono fruibili in modo incrementale e sono corredati da esempi pratici con decine di Jupyter Notebook pronti all’uso. Gli esempi partiranno da ambiti in cui quello specifico algoritmo è utile a rispondere al problema, per comprenderne la corretta applicazione. Successivamente vengono fornite applicazioni finanziarie e di Analisi Quantitativa in particolare, in piena continuità con la Python Academy.
Lo strumento di lavoro è il linguaggio Python (per chi fosse digiuno può valutare il bundle con la Python Academy) cui viene aggiunto il linguaggio Julia (per potenziare l’efficienza in alcune applicazioni specifiche).




STRUTTURA DEL CORSO

Obiettivo della Machine Learning Academy: acquisire competenze in ambito algoritmico, in particolare all’interno del mondo del Machine Learning. Tali competenze permetteranno di applicare tali modelli in modo interdisciplinare, con una attenzione particolare ai problemi di carattere finanziario: previsione dei prezzi e della volatilità, asset allocation dinamico, sviluppo di trading system, previsioni di probabilità.
A chi si rivolge la Machine Learning Academy:
– Trader: chi operi già sui mercati da tempo o chi lo faccia da poco, sia in intraday che in multiday. Alcune tecniche sono particolarmente adatte ad essere utilizzate anche con granularità fini o addirittura sul book.
– Investitori: l’orizzonte temporale non conta. I modelli di “clusterizzazione”, ad esempio, permettono di migliorare la varietà dei propri portafogli in ottica selezione dei sottostanti o dei sistemi di investing.
– Studenti: facoltà di economia o ingegneria, ma anche matematica, fisica o statistica (in generale di qualsiasi facoltà scientifica o economica).
– Professionisti della finanza: gestori retail o institutional, consulenti finanziari, ma anche operatori di sala operativa e professionisti di modelli finanziari.
– Imprenditori: chi abbia il compito (delegato o autoassunto) di getire il proprio patrimonio di famiglia.
– Semplici appassionati: chi ami il trading e/o l’investing (a prescindere da titoli di studio pregressi).
– Informatici: programmatori che vogliano aggiungere strumenti di lavoro da offrire ai propri clienti, approfondendo un ambito di applicazione fortemente stimolante come quello finanziario.
Prerequisiti: la PYTHON ACADEMY o in alternativa una buona conoscenza del linguaggio Python (librerie Numpy, Pandas, Matplotlib, Seaborn, Plotly & Cufflinks). Non è richiesta una conoscenza pregressa del linguaggio Julia (il primo modulo didattico “Julia Crash Course” è dedicato interamente all’apprendimento di Julia da zero).
Modalità di fruizione: il corso è fruibile online, in ogni momento, mediante video lezioni registrate. E’ possibile interagire su ciascun argomento trattato con il docente e con gli altri corsisti all’interno di uno spazio Discord (dove si trovano i differenti canali tematici dedicati). L’interazione con il docente è garantita anche mediante Zoom o via email.

Materiale del Corso: oltre 100 Jupyter Notebook e manuale di oltre 200 pagine in formato elettronico pdf.
Prove intermedie: al termine di ogni Modulo vengono fornite delle prove intermedie non competitive, che rimangono riservate con il docente. Tali prove servono a comprendere se i concetti siano stati appresi nei tempi giusti.
Al termine del percorso verrà consegnato il DIPLOMA FINALE valido come attestato di partecipazione.

PROGRAMMA
LEZIONI INTRODUTTIVE E AMBIENTE DI LAVORO
Orientamento
MODULO 1: JULIA CRASH COURSE [PARTE 1]
Il Linguaggio
Le Variabili
Tipologie di Numeri
Operazioni & Operatori
Le Stringhe
Gli Array
Tuple, Set e Dictionary
Le Funzioni
Il Controllo di Flusso
I Costruttori (Oggetti, Istanze & Metodi)
MODULO 1: JULIA CRASH COURSE [PARTE 2]
Ambiente di Lavoro e Aggiunta di Packages
Dataframes Basics
Dataframes Join – Groupby
Dataframes Reshaping
Dataframes Sorting
Dataframes Missing Data
DataFramesMeta – Query
Performance Tips
MODULO 2: SUPERVISED LEARNING [PARTE 1]
Elementi Introduttivi
Teoria della Linear Regression
<> Lab: Pipeline per Problemi di Regressione in Python
<> Lab: ISE Price Prediction con Linear Regression in Python
<> Lab: ETF Price Prediction con Linear Regression in Python
Teoria della Logistic Regression
<> Lab: Churn con Logistic Regression
<> Lab: ISE Price Direction con Logistic Regression
Teoria del K-Nearest Neighbors
<> Lab: ISE Price Direction con K-Nearest Neighbors
Teoria del SVM Support Vector Machine
<> Lab: ISE Price Direction con SVM
Teoria dei Decision Trees & Random Forest
<> Lab: Regression con Random Forest in Python
<> Lab: Multiple Classification con Random Forest in Python
<> Lab: Binary Classification con Random Forest in Python
Teoria dei Metodi Ensemble
<> Lab: Binary Classification con XGBoost in Python
<> Lab: Regression con XGBoost in Python
<> Lab: ETFs Regression con XGBoost in Python
<> Lab: ETFs Regression con CatBoost in Python
<> Lab: ETFs Regression con LightGBM in Python
<> Lab: ETFs Classification con XGBoost in Python
<> Lab: ETFs Classification con CatBoost in Python
<> Lab: ETFs Classification con LightGBM in Python
MODULO 2: SUPERVISED LEARNING [PARTE 2]
Teoria delle Reti Neurali Artificiali
<> Lab: Regression MLP con Keras – Vanilla Sum
<>Lab: Regression con Keras – Vanilla + DNN Square Root
<> Lab: Classification Overfitting & Dropout con MLP in Python
<> Lab: ISE Price Classification con MLP in Python
<> Lab: ISE Price Regression con MLP in Python
Teoria delle RNN e delle LSTM
<> Lab: Univariate Weather TSF Regression con LSTM
<> Lab: Univariate AvgPrice TSF Regression con LSTM
<> Lab: Univariate Price PctChange TSF Regression con LSTM
<> Lab: Multivariate Price PctChange TSF Regression con LSTM
<> Lab: Multivariate Price PctChange TSF – 2 Classes con LSTM
<> Lab: Multivariate Price PctChange TSF 3 – Classes con LSTM
Teoria delle Reti Neurali Convoluzionali CNN
<> Lab: Multivariate MNIST Classification con CNN
<> Lab: Computer Vision Classification Single Asset con CNN
MODULO 3: UNSUPERVISED LEARNING [PARTE 1]
Introduzione all’Unsupervised Learning
Teoria del K-Means Clustering
<> Lab: Prima Applicazione con Synthetic Data
<> Lab: Classification Iris con K-Means
<> Lab: Classification S&P500 per Asset Allocation con K-Means
<> Lab: Classification per Single Asset BTCUSD con K-Means
<> Lab: Classification Deeper per Single Asset BTCUSD con K-Means
<> Lab: Classification Deeper per Single Asset AAPL con K-Means
Teoria del Hierarchical Clustering
<> Lab: Classification Iris con Hierarchical Clustering
<> Lab: Multiple Classification per Single Asset ETF SPY con HC
Teoria dell’Hidden Markov Models
<> Lab: Classification per Single Asset ETF IWM con HMM
<> Lab: Classification per Single Asset Gold Intraday con HMM
MODULO 3: UNSUPERVISED LEARNING [PARTE 2]
Teoria del PCA
<> Lab: Multiple Classification per Single Asset con PCA
Teoria del DBSCAN
<> Lab: Multiple Classification per Single Asset con DBSCAN
Teoria del Singular Value Decomposition
<> Lab: Dimensionality Reduction con SVD
Teoria delle Restricted Boltzmann Machines
<> Lab: Multiple Classification per Single Asset con RBMs
Teoria degli Autoencoders
<> Lab: Dimensionality Reduction con Autoencoders
MODULO 4: ALGORITMI EVOLUTIVI [PARTE 1 IN PYTHON]
Introduzione agli Algoritmi Evolutivi
Introduzione agli Algoritmi Genetici
<> Lab: Esempio di Convergenza con Motore Genetico in Python
Teoria degli Algoritmi Genetici per Modelli Finanziari
Algebra delle Regole
Validazione, Robustezza e Persistenza dei Modelli
<> Lab: Motore Genetico Elementare per Problemi Finanziari
<> Lab: Velocizzazione del Motore Genetico in Numpy
<> Lab: Velocizzazione del Motore Genetico in Numba
<> Lab: Applicazione del Motore Genetico su Azioni USA Daily
<> Lab: Applicazione del Motore Genetico su Gold Future Intraday
MODULO 4: ALGORITMI EVOLUTIVI [PARTE 2 IN JULIA]
<> Lab: Scrittura in Julia di un Motore Genetico Elementare
<> Lab: Aggiunta al motore di una architettura grafica di base
<> Lab: Nuova Funzione “Operate” a trade non sovrapposti
<> Lab: Out of Sample, Instability Factor e nuove Fitness Function
<> Lab: Approvvigionamento Dati e nuovi Upgrade
<> Lab: Caricamento funzioni da file, Score & Robustness
<> Lab: Troubleshooting Motore Genetico
<> Lab: Applicazione Motore Genetico su Azionario Daily
<> Lab: Applicazione Motore Genetico su Crypto Daily
<> Lab: Applicazione Motore Genetico su Future Intraday
MODULO 5: REINFORCEMENT LEARNING
Cos’è il Reinforcement Learning: il lungometraggio AlphaGo
Introduzione al Reinforcement Learning
Equazione di Bellmann e Reti Neurali
Teoria dell’Experience Replay
Policy dinamica: Exploration vs Exploitation
<> Lab: Prima implementazione su Coin Toss
<> Lab: Libreria Gym: l’esempio del CartPole
<> Lab: Primo Agent DQN senza Replay su Trading Environment
<> Lab: Agent DQN con algoritmo di Replay su Trading Environment
<> Lab: Agent DDQN con Replay su Trading Environment
<> Lab: Agent DDQN con Replay e Reward AvgTrade
<> Lab: Agent DDQN con Replay e Reward Profit Factor
<> Lab: Agent DDQN con Replay e Reward Calmar Ratio
Criteri di Progetto e di Ottimizzazione
Stato dell’arte degli Algoritmi di DRL e Multi Agent
MODULO 6: PLAYGROUND
PERCORSO DISPONIBILE DA SUBITO!
Modalità di fruizione: ultimata l’iscrizione è possibile iniziare a fruire dei contenuti immediatamente (è compresa anche la registrazione integrale del Python Bootcamp 2019 che costituisce il materiale introduttivo al corso). Il corso è costituito da moduli video-registrati e da un’interattività continua con il docente (attraverso sessioni dirette, live session periodiche e condivisione con il docente e i corsisti di ieri e di oggi, 24 ore su 24, nei canali tematici all’interno dello spazio Discord).
Investimento: 1990 € + IVA
Promozione in corso (fino al 30 aprile 2023): 1690 € + IVA (-300 €).
Promozione Corsisti Modulo Specialistico Data Science del Master SIAT: 1590 € + IVA (-400 €)
Promo Upgrade per partecipanti Python Bootcamp 2019: scrivere ad info@gandalfproject.com per quotazione.
Bundle Python Academy + Machine Learning Academy: 2980 € + IVA
(anziché 3980 € + IVA equivalente ad uno sconto di -1000 € e a 1490 € + IVA a prodotto).
Ogni investimento, anche in ambito formativo, richiede di ponderare con attenzione le proprie decisioni. A tale proposito è possibile richiedere un colloquio non impegnativo con il docente, via telefono o via Zoom, per capire se il percorso possa essere adatto o meno alle proprie esigenze. E’ sufficiente scrivere una email ad info@gandalfproject.com

Giovanni Trombetta
Head of R&D in Gandalf Project, CIO in Rocket Capital Investment, Presidente del Comitato Scientifico di SIAT e membro del Board of Directors in IFTA.
Ingegnere elettronico, sviluppatore di trading system, trader quantitativo e apprezzato formatore. Ha una pluriennale esperienza di programmazione con diversi linguaggi tra i quali C, C++, Java, Ruby, Swift e Python e continua ad approfondire i nuovi linguaggi orientati al machine learning come Julia. È fra i migliori conoscitori delle piattaforme Tradestation, Multicharts, Visual Trader ed Amibroker, su cui implementa strategie di portafoglio a rischio controllato.
Le sue principali competenze sono orientate all’applicazione dell’intelligenza artificiale al mondo della finanza quantitativa, allo sviluppo di trading system, all’asset allocation evoluto e allo sviluppo di nuovi modelli finanziari. In particolare è specializzato nella programmazione genetica e nelle differenti varianti di algoritmi genetici e di algoritmi di machine learning (Linear and Logistic Regression, K-Nearest Neighbors, Decision Trees and Random Forest, Support Vector Machine, Multi Layer Perceptron Neural Networks, Recurrent Neural Networks, Long Short Term Memory Networks, Convolutional Neural Networks, Multi Stacked Neural Networks, Adversarial Networks) e di Reinforcement Learning.
Come progettista quantitativo fa ricerca su temi legati alla persistenza dei differenti modelli previsionali. Ha sviluppato la GSA (Gandalf Segmented Architecture), un metodo innovativo per testare la forza di una strategia di trading genetica (sull’argomento ha tenuto un intervento in occasione dell’IFTA Conference 2017 “Sailing to the Future”).
Nel 2006 ha contribuito alla redazione del libro “Visual Trader II: Implementare Strategie Vincenti” edito da Trading Library. Nel 2009 ha collaborato con la Traderlink al restyling della sezione Trading System del software Visual Trader. Nello stesso anno ha sviluppato il software “Gandalf”, per la ricerca di inefficienze statistiche sulle serie storiche dei prezzi di azioni, future, valute ed ETF. Nel 2012 ha ideato e fondato il progetto “G.A.N.D.A.L.F.” (www.gandalfproject.com) all’interno del quale guida il gruppo di ricerca e sviluppo, specializzato nell’applicazione dell’Intelligenza Artificiale al mondo della Finanza Quantitativa.
La sua principale attività è quella di trader e progettista di trading system, materia sulla quale tiene corsi di formazione, coaching e consulenze a privati ed aziende.
Dal 2016 è Socio Ordinario Professional e da luglio 2020 Presidente del Comitato Scientifico di S.I.A.T. (la branca italiana dell’I.F.T.A.). Dal 2018 è stato uno degli organizzatori ed uno dei docenti del nuovo Modulo Data Science del Master SIAT (organizzato da SIAT valido per la certificazione IFTA). A ottobre 2019 è stato eletto all’interno del Board of Directors di IFTA, dove è attualmente al suo secondo mandato.
Relatore sin dalle prime edizioni all’Investment and Trading Forum di Rimini e al TOL Expo di Borsa Italiana, collabora in progetti di formazione con banche, broker e società di IT (Traderlink, Tradestation).
Nel 2017 è stato relatore al Convegno IFTA “Sailing to the future”, a Milano e nel 2022 al Convegno IFTA “Maximising Opportunity in an Uncertain World” a Melbourne.
È possibile leggere i suoi articoli anche su “Milano Finanza”, sulla rivista “Traders” e sulla rivista internazionale “Technical Analysis of Stocks & Commodities”. Ad aprile 2020 ha pubblicato con Hoepli il suo ultimo libro “Strategie di trading con Python”.
Attualmente è Founder e Chief Investment Officer in Rocket Capital Investment, una fintech company e un hedge fund, basato a Singapore, che applica un modello decentralizzato e distribuito di asset management, basato su AI e Blockchain.
