Re: MI SONO ROTTO I CO.GLIONI
Lord_Mib ha scritto:
Ragazzi mi sono rotto i co.glioni di sentirvi insultare. Trovatevi in chat e risolvete i vostri problemi.
Ho un sistema intraday che potrebbe farmi fare i miliardi ma devo assolutamente risolvere i problemi relativi all'ottimizzazione. Devo decidere se metterci dei soldi. Ho pochissimo tempo e da qdo ho aperto questo forum sperando di poter costruire un team di validi interlocutori a tal proposito ho ricevuto pochissime informazioni, prese come delle gocce d'acqua da un assetato (e vi ringrazio per ciò che mi avete suggerito) , e tantissime stronzate e insulti. Ma dove credete di andare in questo modo? Qual'è l'aiuto che questo tipo di discussioni danno? Avete letto il titolo della dicsussione? Mi sembra eloquente! Ora, fate un giochino. Prendete 2 fogli di carta...sul primo trascrivete tutte le parole che centrano con il titolo e sul secondo le altre...poi riflettete...
Spero che i validi interlocutori che sono intervenuti sinora possano rientrare nei ranghi per partecipare attivamente al buon esito di questo post.
Mi scuso per i toni e vi auguro buon trading.
Saluti.
Lord_Mib
Ti rinnovo gli inviti alla prudenza nell'ottimizzare troppe variabili; ma se proprio devi farlo, leggi almeno queste note di Lorenzo Vercesi.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Una nota di cautela per chi sviluppa trading system.
Un trading system è composto essenzialmente da regole e parametri: le prime vengono decise sulla scorta di ciò che noi pensiamo essere il comportamento del mercato, i parametri (relativi ad ogni regola) verranno decisi poi sulla scorta di quanto le regole si sono adattate al mercato nel passato.
Supponiamo di analizzare un system a perforazione di media mobile: la regola di base sarà quella di assumere posizioni long quando i prezzi perforeranno all’insù la media mobile a X giorni, e viceversa uscire (o assumere posizioni short) nel caso la perforazione sia all’ingiù. Ora non ci resta che decidere il periodo di loockback, cioè il numero di barre su cui calcolare la nostra media mobile.
La cosa più facile, possedendo un programma di analisi tecnica munito di System Analizer (Tradestation, Metastock…), è quella di ottimizzare questo valore scegliendo quello che nel passato ha massimizzato il risultato economico del nostro trading-system.
Il punto nodale del discorso sarà: questo valore è ottimale perché dipende da caratteristiche ripetibili del mercato in esame, oppure è ottimale solo per un caso fortuito ?
Per rispondere a questa domanda è necessario fare un passo indietro. Consideriamo l’andamento dei prezzi nel tempo come la somma di due componennti:
1) una “legge” (un comportamento deterministico), molto piccola, ma che caratterizza i prezzi in esame e che si riproporrà sempre, anche nel periodo futuro in cui faremo trading reale usando il system
2) un andamento casuale, grandissimo rispetto al comportamento deterministico, generato da molti trade con scarsa valenza tecnica, che mai più si riprodurrà con la stesa sequenza (essendo appunto random per definizione) nel futuro.
Se il vostro system ha “catturato” l’andamento del punto 1 siete a cavallo: produrrà utili anche nel futuro. Se invece ha agganciato il “noise”, il punto 2, allora siete perduti: nel futuro il vostro system produrrà dei trade casuali , e perderà quattrini.
Notate che complicando enormemente la complessità del vostro system (aumentando il numero di regole e ottimizzandone i parametri) è sempre possibile catturare totalmente il “noise” del passato, ottenedo un system che nel passato sarà stato in grado di conseguire il rendimento massimo esprimibile dalla serie storica in esame.
Chi si occupa di reti neurali conosce bene questo problema: il system ha “memorizzato” il passato, mentre a noi interessa che “generalizzi”, che colga le regole nascoste che si riproporranno nel futuro: imparare a memoria come si sono mossi i prezzi del fib degli ultimi sei mesi ci permetterà di simulare un trading perfetto in questo periodo, ma non ci servirà a nulla per fare trading domani.
Come evitare di cadere in questa trappola?
Si può diminuire la probabilità di cadere nel pernicioso over-fittig seguendo alcune regole auree:
1) mantenere semplice il trading system; poche regole e pochi parametri
2) ottimizzare i parametri su uno storico lungo: più lungo è meglio è
3) controllare che nello storico siano presenti tutte le fasi di mercato: trend positivi, negativi e fasi di congestioni
4) non considerare MAI realistici i rendimenti ottenuti nel periodo temporale in cui si sono ottimizzati i parametri, ma analizzare solo i risultati nel periodo di VALIDAZIONE
Il punto 4 è il più importante: una volta ottimizzati i parametri è necessarie procedere alla fase di validazione, analizzando il comportamento del trading system su dati freschi che non sono entrati in gioco durante l’ottimizzazione dei parametri. In questo modo ci porremo nelle realistiche condizioni di chi usa il system. Si raggiunge questo risultato in due modi: attraverso la tecnica In sample - Out of sample, oppure usando la tecnica Walk forward analysis
In sample – out of sample
Si divide la serie storica in esame in due spezzoni diseguali (il più antico di dimensioni maggiore) ,controllando che ambedue i periodi contengano le tre fasi di mercato. Si procede all’ottimizzazione dei parametri nel primo spezzone di dati : nel caso il risultato ottimale sia di nostro gradimento si applica il system al secondo spezzone. Sarà questo solo risultato economico a convalidare la bontà del sistema. Se lo riterrete valido, solo allora ri-ottimizzerete il system sull’intero periodo e inizierete ad usarlo sul serio nel trading reale.
Walk forward analysis
Una tecnica più complessa della precedente, ma concettualmente intrigante. Si sceglie inizialmente un periodo temporale su cui ottimizzare i parametri, ad esempio 4 anni di dati, e un periodo molto più piccolo su cui usare il system con i parametri precedentemente ottimizzati,ad esempio 4 mesi. Si ottimizzano i parametri su 4 anni e poi si testa il system sui successivi 4 mesi di dati registrandone il risultato, dopo di che si sposta in avanti al finestra temporale e si ripete il processo fino ad arrivare alla fine dei dati: basterà “linkare” i risulati dei vari periodi di 4 mesi per ottenere il risultato economico complessivo. Questo metodo simula esattamente il comportamento di un trader che periodicamente ri-ottimizza i parametri del system per adattarli alle mutate condizioni del mercato.
.......
Ciao.
Bibliografia
J. O. Katz D. L. McCormick
Evaluating Trading System With Statistics
TASC
R. Pardo
Design and Testing of Trading System
Wiley