Vai al contenuto

Machine Learning Academy

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 vincenti 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 (comunque utile per accelerare l’apprendimento).

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 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

Elementi di Base
Introduzione e teoria del Machine Learning
Introduzione al Supervised Learning o Apprendimento Supervisionato
Introduzione all’Unsupervised Learning o Apprendimento non Supervisionato
Introduzione al Reinforcement Learning o Apprendimento per Rinforzo
Sistemi Black Box e White Box
Problemi di Regressione
Problemi di Classificazione
Problemi di Clustering

Data Cleaning & Trasformation
L’importanza della qualità dei dati
La gestione dei dati mancanti
Stazionarietà e Detrend
Normalizzazione
Standardizzazione
Ulteriori modelli di trasformazione

Funzioni di Fitness
Indicatori di performance per problemi di regressione
Indicatori di performance per problemi di classificazione

Sistemi di base di Machine Learning
Modello e Applicazioni a Regressione Lineare
Modello e Applicazioni a Regressione Logistica
Modello e Applicazioni K-Nearest Neighbours
Modello e Applicazioni K Means Clustering
Modello e Applicazioni Decision Trees
Modello e Applicazioni Random Forest
Modello e Applicazioni Support Vector Machine

Teoria e Pratica delle Reti Neurali
Teoria delle Reti Neurali 
Modello e Applicazioni Multi Layer Perceptron e Deep Neural Networks
Modello e Applicazioni Recurrent Neural Networks e Long Short Term Memory Networks
Modello e Applicazioni Convolutional Neural Networks
Modello e Applicazioni Stacked Neural Networks

Sistemi Ensemble di Machine Learning
Modello e Applicazioni Extreme Gradient Boosting (XGBoost)
Modello e Applicazioni Light Gradient Boosting Machine (LightGBM)
Modello e Applicazioni CatBoost

Minimizzazione dell’Overfitting per modelli di Machine Learning
Lettura della curva di Apprendimento dei modelli di machine learning
Instabilità a garanzia della persistenza
Architetture con Dropout negli stadi intermedi
Architetture con Dropout sull’Input Layer
L’importanza del Learning Rate

Teoria e Pratica degli Algoritmi Genetici
Differenze tra Algoritmi Genetici e Programmazione Genetica
Teoria degli Algoritmi Genetici
Creazione di un motore elementare di ottimizzazione ad Algoritmo Genetico in Python
Raffinamento di un motore evoluto ad Algoritmo Genetico in Python
Creazione di un motore elementare di ottimizzazione ad Algoritmo Genetico in Julia
Raffinamento di un motore evoluto ad Algoritmo Genetico in Julia
Applicazioni sul mercato Azionario multiday ed intraday
Applicazioni sul mercato dei Future multiday ed intraday
Applicazioni sul mercato delle Crypto Currency multiday ed intraday

Minimizzazione dell’Overfitting negli Algoritmi Genetici
Lettura dell’Equity Curve per la stima dell’overfitting
Instabilità a garanzia della persistenza
Architetture con aggiunta di rumore sintetico durante la fase di training
Architetture con perdita randomica durante la fase di training


PROSSIMA EDIZIONE

Prossima giornata: corso registrato integralmente 
fruibile da settembre 2022
(ma da subito disponibile la registrazione integrale del Bootcamp 2019 che prepara al percorso!)

Location: Online Registrato (più assistenza diretta con il docente)

Quota di partecipazione: 1990 € + IVA

Promozione in corso (fino al 31 giugno 2022): 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 €)

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 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).
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.
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).

E’ founder & Chief Investment Officer di “Rocket Capital Investment”, startup innovativa basata a Singapore che propone un modello di Asset Management 3.0 (“tokenized fund”) tramite l’utilizzo di avanzati modelli basati su tecnologia blockchain e AI. 
È 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 libro “Strategie di trading con Python”.