
La colonna portante del nostro business sono i trading system, gli algoritmi in cui vengono codificate le regole operative (condizioni di entrata ed uscita dal mercato) delle nostre strategie di investimento. Il lavoro principale del trader quantitativo è quello di creare sistemi, affrontando mercati diversi con approcci altrettanto diversi.
Il processo di costruzione di un trading system può essere abbastanza insidioso: partendo da dati storici per testare la strategia, è facile farsi sedurre da risultati eclatanti sulla carta, ma poi irrimediabilmente perdenti una volta a mercato, con denaro reale. E quand’anche si sia lavorato cum grano salis, il deterioramento delle performance in real time è sempre in agguato.
Esiste un modo oggettivo, un metodo comprovato per riuscire a creare dei trading system non “curvati” sul passato, ma performanti nel futuro? Quali sono i passaggi da seguire per evitare di sbagliare?
Un tema importante a questo proposito è sicuramente quello della validazione, ossia la scelta di come gestire lo storico a nostra disposizione per addestrare il trading system: utilizziamo l’intero periodo? Spezziamo i dati in due o più tronconi, costruendo il sistema su uno di questi (in sample data), per poi verificarne la tenuta sull’altra/e parte/i di storico non oggetto di test (out of sample data)?

Una volta ultimato il trading system, andiamo subito a mercato oppure seguiamo il suo andamento in virtuale per una validazione finale (incubation)?

Dopo aver deciso il periodo storico su cui fare i test, dovremmo partire dalla nostra idea di trading iniziale, il nostro nucleo base, e provare ad affinane gli ingressi e le uscite, aggiungendo dei filtri ed ottimizzandone i parametri, nel tentativo di migliorare l’equity line del trading system ed il rapporto rischio/rendimento collegato al sistema.
Ed ecco che qui subentra un’ulteriore insidia, la trappola della “sovra ottimizzazione”, in gergo “fitting”: software di ultima generazione, come Multicharts e Tradestation consentono di effettuare dettagliate analisi su qualunque filtro vogliamo inserire nel sistema, andandone ad ottimizzare i parametri. Con quale criterio valuteremo i risultati di queste ottimizzazioni?

Nell’immagine sovrastante è possibile osservare un esempio di grafico 3D realizzato da Multicharts a seguito di un’ottimizzazione contemporanea di due parametri di un filtro relativo al trading system Barrels. La scelta di una combinazione di parametri efficiente contribuisce alla robustezza del sistema.
Ancora: c’è un limite a filtri che possiamo aggiungere per cercare di migliorare l’equity line del nostro sistema. Che tipo di degrado, in termini di performance, è lecito aspettarsi sull’out of sample data, rispetto all’in sample data?
Giovanni Trombetta
Marco Vironda Gambin