spot_img
spot_imgspot_imgspot_imgspot_img

Intervista a Thomas Vittner

Ultima ora

Scelti per te

I TRADER hanno chiesto all’esperto Thomas Vittner come costruire un sistema di trading di successo.

Thomas Vittner è un noto autore best-seller ed è stato per molti anni amministratore delegato del primo robo-advisor azionario al mondo (fornitore di servizi finanziari digitali). Inoltre, ha tenuto numerose conferenze presso delle università tedesche (Monaco, Amburgo, Halle, Augusta e molte altre) sul trading azionario. La sua specialità è l’analisi quantitativa delle azioni e dei portafogli azionari. Puoi trovare ulteriori informazioni su Thomas Vittner e le sue offerte di formazione sulla sua homepage thomasvittner.com.

TRADERS´: Cosa consiglieresti a un principiante quando cerca un sistema di trading adatto?

Vittner: Un principiante deve prima avere una panoramica delle diverse classi di attività e dei prodotti che desidera tradare. Dovrebbe quindi cercare soluzioni software che possano essere utilizzate per sviluppare sistemi di trading nel mercato target desiderato. Perché non tutti i software sono adatti a ogni mercato. Un esempio: se un trader desidera eseguire il backtest dei portafogli azionari, ha bisogno di un software in grado di gestirlo, e non tutti i programmi disponibili sul mercato possono farlo. Quindi, prima di arrivare allo sviluppo della strategia vera e propria, è necessario ricercare le basi. E solo allora inizia lo sviluppo del sistema. Quindi cercherei prima le nozioni di base sui canali dei social media. Ad esempio sul mio canale. Ma attenzione alle persone che promettono grandi cose su Facebook, YouTube e simili e fanno pubblicità intensa. La maggior parte delle volte non c’è molto da dire.

TRADERS´: Dove prendi le tue idee strategiche per costruire un sistema di trading?

Vittner: Ci sono diversi approcci. Da un lato, mi piace osservare l’andamento dei prezzi a occhio nudo per riconoscerne i modelli. Quando penso di aver trovato qualcosa di interessante, valuto se esistono regole che riflettono questo comportamento dei prezzi e che siano chiare. Regole che mi permettono di fare un’analisi statistica (backtest). Quindi mi chiedo: esiste un modo per quantificare/testare retrospettivamente questa idea? Ci sono indicatori che mostrano il modello? Non tutte le idee che hai possono essere sistematicamente testate. Tuttavia, dovresti tradare solo cose che puoi quantificare. Se non posso testare un’idea perché le regole non sono sufficientemente chiare o semplicemente perché manca la riproducibilità, allora rifiuto quell’idea. Perché voglio tradare solo ciò che posso testare e ciò che ha dimostrato di funzionare dopo i test. E poi c’è l’altro modo, quello basato sul computer. Oggi ho l’opportunità di utilizzare vari algoritmi di machine learning nello sviluppo di sistemi. E non devi nemmeno sapere come programmare. Ad esempio, il mio software di backtesting Wealth Lab contiene l’espansione delle reti neurali, nonché ottimizzatori genetici che migliorano da soli dalla generazione del sistema alla sua implementazione o vari profili di indicatori con i quali posso misurare l’alfa di un indicatore. L’algoritmo trova buone combinazioni di indicatori e impostazioni di parametri utilizzando diversi algoritmi di apprendimento automatico. Ma è importante capire che l’intelligenza artificiale non sostituirà i trader nell’area dello sviluppo. Perché devi osservare correttamente questi processi. E, ultimo ma non meno importante, il trader determina quale sistema vuole effettivamente usare dal vivo in base a vari parametri. Non importa se lo ha “inventato” lui stesso o se è il computer l’ideatore della logica.

TRADERS´: Quale pensi sia la parte difficile della costruzione di un sistema di trading?

Vittner: Una delle mie frasi preferite quando si parla di sviluppo di sistemi è: “Ottimizziamo anche quando non ottimizziamo”. Con questo intendo dire che, nonostante la separazione tra “dati visibli” e “dati invisibili”, che è anche “in-sample” rispetto a ciò che può essere definito “out-of-sample” spesso ottimizza eccessivamente. Ecco perché, ad esempio, nel nostro programma di formazione Quant Master 1 ci dedichiamo esclusivamente a questo tema dell’ottimizzazione eccessiva. Questo è estremamente importante. Ora per rispondere alla domanda: l’eccessiva ottimizzazione è il problema più grande nello sviluppo di sistemi di trading e quindi una delle parti più difficili. Probabilmente potresti scrivere un intero libro a riguardo. L’ottimizzazione eccessiva di solito non avviene intenzionalmente. Lo sviluppatore vuole semplicemente troppo. Il suo obiettivo è quello di ottenere costantemente l’1% di performance in più nel backtest, un drawdown leggermente inferiore o un rapporto netto leggermente migliore. E presto il sistema viene accidentalmente ottimizzato in eccesso. Certamente, l’approccio dei dati in-sample rispetto a quelli out-of-sample è un buon inizio per tenere sotto controllo l’eccessiva ottimizzazione. Ma anche in questo caso i dati sconosciuti diventano ben presto dati conosciuti. Vale a dire, quando guardi il periodo out-of-sample dopo lo sviluppo in-sample ti rendi conto che, dopotutto, ciò che vedi potrebbe non piacerti così tanto. Naturalmente, di solito accade che i dati out-of-sample abbiano prestazioni peggiori rispetto ai dati interni. Inoltre non è difficile ottimizzare il sistema sui dati visti o conosciuti, quindi i risultati sono buoni. È molto più difficile progettare bene il sistema sulla base di dati invisibili fuori campione. Quindi, se decido che l’out-of-sample non è abbastanza buono per me, utilizzo queste informazioni per tornare al periodo in-sample e ottimizzare nuovamente. E sono già nel ciclo. Ho ottimizzato un po’ troppo. E ora, se lo ripeto alcune volte, ho sistemi che sono perfetti nel backtest, ma falliscono miseramente nel trading dal vivo. Fino a poco tempo fa si poteva fare poco o nulla per combattere l’eccessiva ottimizzazione. La maggior parte delle volte non veniva nemmeno notata. Al massimo, posso iniziare a vedere se il mio sistema è eccessivamente ottimizzato con un’analisi Forward. Ma essa fornisce solo un’indicazione approssimativa di un’ottimizzazione eccessiva, con alcune riserve. Andare avanti non mi offre un modo per ridurre l’ottimizzazione eccessiva. Almeno un buon software di backtesting mi dà l’opportunità di visualizzare l’ottimizzazione eccessiva nel primo passaggio e ridurla lentamente nei passaggi successivi. Mostrerò tre grafici di tre sistemi di trading in diverse fasi di ottimizzazione eccessiva. La prestazione in-sample (curva blu) confrontata in diversi colori con la prestazione out-of-sample (curva rossa) lo visualizza molto bene (vedere figura 1).

F1) Esempio di un sistema di trading eccessivamente ottimizzato
Possiamo vedere nel grafico che l’ottimizzatore utilizzato trova impostazioni sempre migliori durante il periodo in-sample (curva blu), e quindi le prestazioni aumentano enormemente. Tuttavia, la curva rossa, il nostro periodo out-of-sample, non riesce a tenere il passo e, in senso stretto, tende leggermente verso il basso e la distanza tra le due curve diventa sempre più grande (APR = rendimento annuo in percentuale).
Fonte: wealth-lab.com

Possiamo vedere nella figura 1 che l’ottimizzatore genetico utilizzato trova impostazioni sempre migliori durante il periodo in-sample (curva blu), e quindi le prestazioni aumentano enormemente. Tuttavia, la curva rossa, il nostro periodo out-of-sample, non riesce a tenere il passo e in realtà tende leggermente verso il basso e la distanza tra le due curve sta diventando sempre più grande. Questo è un ottimo esempio di grave ottimizzazione eccessiva. Puoi tranquillamente mettere da parte questo sistema. In questo caso non ha alcun senso investire ulteriore tempo per ridurre l’ottimizzazione eccessiva. Fin dall’inizio i parametri sono adattati troppo fedelmente ai dati conosciuti. Si può vedere un altro esempio nella figura 2. Mostra la normalità comune nello sviluppo del sistema. Il processo di sviluppo sembra essere completo, ma la visualizzazione del rendimento interno in-sample rispetto a quello out-of-sample non corrisponde. L’esempio mostra che la curva rossa (out-of-sample) può tenere il passo con la curva blu (in-sample) fino a un massimo di due terzi del percorso. Dopo circa 200 iterazioni, le curve di ritorno si separano. A destra nella figura 2 ci sono le operazioni che l’ottimizzatore trova in-sample, che nella pratica non esisteranno mai più. Ciò significa che il sistema è in una certa misura eccessivamente ottimizzato, ma questo non è un problema. Tale ottimizzazione eccessiva può essere gradualmente ridotta nelle fasi successive di sviluppo del sistema. Per fare ciò è necessario reimpostare i parametri individualmente. Ripeti l’operazione finché non trovi una figura di ritorno come nella figura 3. Come accennato in precedenza, quasi tutti i sistemi di trading sottoposti a backtest contengono una leggera ottimizzazione eccessiva. Nell’esempio mostrato è stato notevolmente ridotto al minimo. Non ottimizzerei più questo sistema e lo descriverei come pratico. Se il rendimento indicato possa essere realizzato anche nella realtà è un’altra questione.

F2) Caso standard di ottimizzazione eccessiva
Ciò che vediamo qui è la consueta normalità dello sviluppo del sistema. Il processo è stato completato e lo sviluppatore è soddisfatto degli ottimi ritorni ottenuti nel backtest. Ma la visualizzazione dei rendimenti è suddivisa in un periodo in-sample e uno out-of-sample. L’esempio mostra che la curva rossa (out-of-sample) può tenere il passo con la curva blu (in-sample) fino a un massimo di due terzi del percorso. Dopo circa 200 iterazioni, le curve si separano. Quindi anche qui c’è un’eccessiva ottimizzazione.
Fonte: wealth-lab.com
F3) Processo di ottimizzazione e riduzione
Qui puoi vedere il caso ideale di un processo di ottimizzazione. Entrambe le curve dei rendimenti (rossa e blu) corrono insieme. L’eccessiva ottimizzazione è stata ripulita.
Fonte: wealth-lab.com

TRADERS´: Come ottimizzi le impostazioni all’interno del sistema di trading? C’è una figura chiave che è particolarmente buona?

Vittner: Per l’ottimizzazione ho a disposizione diversi algoritmi che utilizzo a seconda della situazione. È importante capire la necessità di ottimizzare attentamente. Ad esempio, l’obiettivo non è sempre quello di avere il sistema di trading con il rendimento più elevato, ma entrano in gioco anche criteri come la stabilità. La stabilità è importante, anche se va a scapito dei rendimenti. Quando si tratta dell’importanza delle metriche, ce ne sono alcune a cui prestiamo particolare attenzione. Oltre alla performance e al drawdown, giocano un ruolo cruciale anche l’esposizione, il rapporto netto o il profitto medio per operazione, per citare solo alcune cifre chiave. È un’interazione di parametri diversi che alla fine decide se un sistema riesce a entrare nel trading dal vivo o meno.

TRADERS´: Che cosa è più facile da progettare: un sistema di trend trading o un sistema di oscillatore ciclico?

Vittner: Non è possibile dirlo con certezza su tutti i livelli. Il fatto è che ogni target di mercato ha le sue tendenze e questo si traduce nel tipo di sistema appropriato. Nella nostra Masterclass per Trader lavoriamo con i nostri clienti su quattro diversi tipi di sistemi: inversione, momentum/breakout, sistemi di rotazione e limiti dip buyer. Dividiamo i sistemi di trading in modelli prociclici e anticiclici. Ad esempio, ciò che tende a funzionare bene con le azioni potrebbe funzionare diversamente o non funzionare affatto con le valute. E naturalmente l’unità temporale scelta e soprattutto la distinzione “intraday” vs. “end of day” giocano un ruolo non trascurabile. Secondo me, ogni mercato di riferimento ha una tendenza. Se si scopre la tendenza, è possibile trovare con relativa facilità la giusta logica di sistema. Tuttavia, se si desidera sviluppare un sistema che vada contro questa tendenza, il processo di sviluppo può diventare laborioso e difficile.

TRADERS´: Quanti parametri può avere un sistema di trading affinché rimanga controllabile?

Vittner: Anche qui non si può dare una risposta generale. Penso che non dovrebbe essere né troppo semplice né troppo complicato. Ogni parametro aggiuntivo aumenta il rischio di un’ottimizzazione eccessiva e se dovessi scegliere tra due sistemi oggi che funzionano quasi altrettanto bene dove il sistema A è composto da 18 parametri di ingresso e il sistema B è composto da 12, allora probabilmente propenderei per il sistema più semplice. In definitiva, come sviluppatore, devo sapere in che modo il mio parametro contribuisce alla metrica target desiderata. Se ogni parametro è importante, molti parametri possono e dovrebbero essere importanti, purché si tenga sotto controllo l’ottimizzazione eccessiva. Tuttavia, se vengono “portati con sé” parametri che hanno poca o nessuna influenza sulla metrica desiderata (ad esempio APR – Percentuale di rendimento annuale), potrei essere in grado di rimuovere il parametro. La figura 4 mostra dodici parametri e la loro influenza sulle prestazioni del sistema. I singoli parametri vengono valutati con un punteggio. Tutti i parametri hanno un’influenza importante sulle prestazioni. Nel caso successivo (figura 5) la situazione è leggermente diversa. I due parametri inferiori non sembrano essere importanti per il TAEG target. Qui dovresti quindi verificare se i parametri possono essere rimossi. Se ciò non è possibile perché l’indicatore è composto da diversi parametri ed essi hanno una grande influenza sulla metrica target, puoi almeno astenerti da ulteriori ottimizzazioni e correggere, risparmiando tempo. Alla fine, però, tutto dipende dalla questione se hai ottimizzato eccessivamente il sistema di trading o meno. Fortunatamente oggi possiamo visualizzare l’eccessiva ottimizzazione, misurarla e ridurla con varie fasi di lavoro.

F4) Esempio dei dodici parametri di un sistema di trading
L’immagine mostra un sistema di trading con molti parametri e la rispettiva influenza sulla performance. Più alto è il rispettivo punteggio, maggiore è l’influenza. Ogni parametro è significativo e contribuisce più o meno alla metrica target desiderata. Qui viene scelta la metrica APR (rendimento percentuale annualizzato – performance annuale in percentuale).
Fonte: wealth-lab.com
F5) Esempio dei parametri di un sistema di trading
I due parametri inferiori non sembrano essere importanti per il target. Si dovrebbe verificare se è possibile rimuoverli.
Fonte: wealth-lab.com

TRADERS´: Cosa ne pensi dei sistemi di trading che includono una componente AI? Questi sistemi sono superiori agli altri nel lungo termine?

Vittner: Diversi algoritmi di machine learning alleggeriscono il carico dello sviluppatore del sistema perché anche parti del processo di sviluppo possono essere automatizzate e quindi ottimizzate. Intelligenza artificiale è una parola d’ordine oggi, ma le reti neurali, ad esempio, sono presenti nel trading di azioni dalla fine degli anni ’80. Quindi questa non è una novità, ma a causa del dibattito pubblico sull’intelligenza artificiale ora è tornata di moda nel trading. A mio avviso, i sistemi di intelligenza artificiale non possono rivendicare una superiorità, né oggi né tra dieci anni. Basti pensare alla potenza di calcolo di grandi aziende come Google. Cosa accadrebbe se utilizzassero la loro potenza di calcolo per decifrare il codice definitivo del mercato azionario? Ebbene, non lo fanno perché il loro vero core business sembra essere più redditizio. Quindi hai già una risposta. A causa dei milioni di partecipanti al mercato, siano essi umani o AI, il mercato azionario e quindi il trading rimarranno sempre in gran parte una passeggiata casuale. Il successivo movimento dei prezzi è spesso puramente casuale e il rumore è ampio. Tutto ciò che facciamo è utilizzare le nostre analisi statistiche (backtest) per cercare di catturare questo rumore e trovarvi degli schemi. I modelli esistono e alcuni dei nostri sistemi sono in uso da anni e funzionano ancora. Nessuna intelligenza artificiale sarà in grado di crackare il mercato azionario in modo permanente. Altrimenti i mercati dovrebbero chiudere per sempre a causa della non più interazione tra domanda e offerta.

TRADERS´: I vostri attuali sistemi di trading sono soggetti a un monitoraggio continuo, per così dire, a un intervallo di manutenzione?

Vittner: Ciò che viene affrontato qui è probabilmente uno dei compiti più difficili nei sistemi di trading esistenti: il monitoraggio nell’uso dal vivo. Secondo la mia esperienza dipende anche dal mercato di riferimento. Esso determina la frequenza con cui deve avvenire l’aggiustamento. Ad esempio, secondo la mia esperienza, i sistemi di trading nei mercati azionari tendono a funzionare molto più a lungo rispetto, ad esempio, alle coppie di valute. Anche i mercati azionari sono meno efficienti del Forex. Ma anche con i sistemi azionari controlliamo regolarmente se il sistema sta ancora facendo quello che dovrebbe fare secondo il backtest. Ciò inizia con il controllo quotidiano della slip page fino alle osservazioni periodiche delle prestazioni. Qui prestiamo attenzione a diverse cifre chiave. Soprattutto sui drawdown, anche se non sul drawdown massimo, che non ha alcuna rilevanza dal punto di vista statistico perché si tratta di un evento unico. Tuttavia, sono più adatti tempi di drawdown ad esempio del 10 o 20%, che vengono monitorati insieme a molti altri valori chiave. Quindi non è un dato fondamentale a dirmi se il mio sistema non funziona più e deve essere rivisto o addirittura disattivato. Si tratta piuttosto di un insieme di cifre chiave e di un’impressione generale che decidono se un sistema continuerà ad essere utilizzato nonostante i risultati temporaneamente scarsi o se debba essere adattato.

 

Articoli dello stesso numero

Abbonati a Traders' Magazine Italia

A partire da 63€/10 mesi

Riceverai ogni settimana la versione digitale, di TRADERS’ Magazine

× Come posso aiutarti?