|

Piazzaffari.org - L'angolo
del trader http://www.piazzaffari.org/trader/trader.htm E- mail: webmaster@piazzaffari.org
Ing. Giuseppe
Belfiori (IGB Trading System)
redazione@piazzaffari.org
Esempi concreti di Trading
System su Piazzaffari sono
sull'angolo del trader : http://www.piazzaffari.org/trader/trader.htm
Il
processo di ottimizzazione
Il processo di ottimizzazione consiste nella variazione degli input
del Trading System (l'input è un parametro modificabile del modello
di analisi come, ad esempio, la lunghezza di una media mobile) e
nella verifica della conseguente variazione delle performance. I
software presenti sul mercato (Tradestation e Metastock e altri)
eseguono questa operazione in automatico. È sufficiente indicare
loro quale valore iniziale assegnare all'input, quale valore finale
e con che passo muoversi in questo intervallo. È possibile eseguire
test modificando contemporaneamente più parametri. È da tenere
presente, a questo proposito, che il numero totale di test da
effettuare è dato dal prodotto dei test di ciascun parametro.
Pertanto è necessario verificare che il numero di test e di
conseguenza il tempo di esecuzione rimangano entro livelli
accettabili.
Lo scopo per cui si esegue il processo di ottimizzazione è quello
di verificare la capacità del Trading System nel generare profitto
in condizioni differenti da quelle di progetto.
Spesso, purtroppo, questa metodica viene impiegata per trasformare
un Trading System di modesta se non scarsa qualità in una macchina
da soldi: naturalmente soldi virtuali perché ottenuti su banche
dati, sul passato. L'errore è quello di movimentare i parametri del
Trading System fino a trovare la migliore combinazione in termini di
Net Profit ed illudersi che ciò significhi poter replicare gli
stessi guadagni nel futuro. Niente di più falso e pericoloso.
Questa operazione si chiama curve fitting, sovraottimizzazione: il
modello di analisi viene adattato ai dati passati in maniera
esasperata. E i report sembrano davvero confortanti. Ma non appena i
parametri vengono leggermente modificati si assiste al crollo delle
performance che da positive spesso divengono negative. Il pericolo
è dovuto al fatto che anche se noi continueremo a utilizzare il
Trading System con i parametri apparentemente ottimi ciò che
cambierà (e per noi sarà impossibile prevedere come) saranno i
dati del mercato su cui il modello farà le sue analisi. Il
risultato del cambiamento dei dati sarà equivalente al risultato
prodotto dal cambiamento dei parametri: ed il fatto che il nostro
Trading System mostri fortissime oscillazioni delle performance a
fronte di piccole variazioni dei parametri provocherà le stesse
oscillazioni anche con i dati futuri che saranno certamente almeno
un poco differenti da quelli passati e andranno sempre più
modificandosi con il passare del tempo, il cambio della volatilità,
della direzionalità, la modifica di regole di mercato, l'entrata di
nuovi attori, le migliorie tecnologiche e così via.
Il processo di ottimizzazione, quindi, non deve avere lo scopo di
trovare la migliore combinazione di parametri che sarebbe stata
utile in passato, ma di verificare la stabilità del Trading System
e la sua robustezza. Un buon Trading System deve essere capace di
generare performance comparabili in condizioni di messa a punto
differenti, impiegando valori dei parametri diversi. A piccole
variazioni dei parametri devono corrispondere piccole variazioni
delle performance. Meglio ancora: a variazioni significative dei
parametri devono corrispondere variazioni contenute delle
performance.
In quest'ottica è bene rendere modificabili tutti i parametri del
Trading System in modo da poter verificare la stabilità di tutte le
componenti. Per esempio potremmo scrivere un Trading System basato
sulle medie mobili e utilizzare un valore di lunghezza della media
fisso a 14 barre. Quindi questo valore non rientrerebbe nel processo
di ottimizzazione. Questo non ci permetterebbe di verificare che se
invece di 14 adottassimo un valore di 12 o di 16 i risultati
sarebbero comunque confrontabili.
È giusto che chi scrive un Trading System abbia la sensibilità per
scegliere dei valori di default sensati ma è un'ottima metodologia
quella di permette a tutte le leve del Trading System di esplicitare
la loro influenza sul comportamento del Trading System stesso.
Nella realtà dei fatti il Trading System opererà con i parametri
bloccati ma su serie di dati differenti da quella o quelle
utilizzate per la messa a punto. Serie di dati che nessuno può
conoscere nel loro svolgimento. Per questo motivo è necessario
garantire innanzitutto la stabilità e la robustezza delle
performance sul lungo periodo, scegliendo quei modelli e quei
parametri che garantiscano la massima durata delle performance a
scapito del valore assoluto sul passato.
In quest'ottica è interessante anche eseguire il processo di
ottimizzazione su serie storiche differenti e verificare se la
stabilità trovata su una serie coincide oppure no con i dati
desunti su serie differenti. Trovare gli stessi valori stabili per
gli input su serie differenti è indice della robustezza del Trading
System e della sua capacità di affrontare in modo profittevole i
futuri trades.
È altrettanto errato pensare di utilizzare il processo di
ottimizzazione per cercare sempre il picco di performance adeguando
man mano che passa il tempo i valori degli input. Questo processo,
infatti, al di là di non permettere alcuna valutazione sulle
possibili performance del sistema, poiché si opera sempre in
condizioni di sovraottimizzazione, tende ad inseguire il mercato
arrivando però sempre in ritardo potendosi basare solo su dati
passati e non conoscendo quelli futuri.
Nel prossimo articolo approfondiremo i concetti relativi all'uso
delle banche dati e accenneremo a metodologie per costruire
possibili scenari futuri.
Indice
|