Announcement

Collapse
No announcement yet.

Walk Forward Analysis

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #61
    Se hai due parametri da ottimizzare sl e tp, li ottimizzi uno alla volta e pre non più di due ri-ottimizzazione per il periodo in sample o di training e verifichi l'efficacia sul periodo OOS di test poi sposti il periodo OOS avanti (anni successivi). Per scegliere i valori da applicare fai il training sui più recenti 3 anni e lo applichi in reale. I cicli precedenti all'ultimo di training non servono a calcolare i parametri da usare, ma a verificare la solidità del TS.
    Ciao

    Comment


      #62
      La WFA è un metodo che verifica la PROCEDURA o MODELLO di ottimizzazione, NON se un setting è meglio di un altro, perciò si opera come segue.

      Si sceglie il range di setting da provare
      TP start: 10, passo: 2, stop: 30 --> 11 valori
      SL start: 10, passo: 5, stop: 60 --> 11 valori
      totale 11 x 11 = 121 combinazioni da testare

      Poi si sceglie il parametro di fitness con cui si decide quale migliore setting scegliere,
      ad esempio il maggior valore del rapporto Protitto totale /Max drawdown

      Infine si sceglie quale combinazione IS/OOS si vuole usare, ad esempio IIS 5 anni e OOS pari al 40% dei dati IIS, quindi 2 anni.

      Si fa partire la prima ottimizzazione... scegli il setting che ti dà il maggior valore del parametro di fitness
      verifichi questo setting sui dati OOS e calcoli la WFE1

      Fai una nuova ottimizzazione sul secondo range di dati IIS e verifichi il setting ottimale sul secondo range di dati OOS
      calcoli la WFE2

      ed infine la terza ottimizzazione, e dal risultato sui dati OOS del terzo range trovi la WFE3

      Se ti soddisfa questa procedura è quella che userai come logica per il quarto range di dati IIS, che sono i dati storici degli ultimi 5 anni, mentre i dati OOS sono i dati in reale che ancora non conosci e su cui andrai in live.

      .................

      Se invece questo MODELLO di ottimizzazione non ti soddisfa come risultato di WF Efficiency, CAMBI la LOGICA della PROCEDURA di ottimizzazione,
      quindi ad esempio decidi che farai 5 cicli IIS/OOS con 3 anni di dati IIS e il 33% di dati OOS pari ad 1 anno
      e poi magari cambi anche il range dei dati delle variabili da provare, ad esempio
      TP start: 5, passo: 1, stop: 10 --> 6 valori
      SL start: 10, passo: 10, stop: 100 --> 10 valori
      totale 6 x 10 = 60 combinazioni da testare

      E su questo nuovo modello di ottimizzazione riparti con la tua verifica di WF Analysis.
      La vita non è un giro di prova, cogli l’attimo..
      Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

      Comment


        #63
        Grazie Umberto,

        adesso è un po più chiaro ma ti chiedo un ultimo chiarimento.....
        quindi se ho capito bene io posso avere una WFE1 valida che mi dice che il mio setting 1 è affidabile e robusto una WFE2 valida che mi dice della validità del setting 2 e una WF3 sulla bontà del setting 3. Quindi so che i 3 setting del TS sono tutti validi e quindi possibili da usare in futuro perché stabili poi sta a me decidere quali dei tre usare basandomi su altri criteri giusto? quindi se per ipotesi avessi che setting 1 = setting 2 = setting 3 sarei super sicuro sul futuro giusto?
        Quello che non ho capito a questo punto visto che ho già deciso il setting da usare in live, a cosa mi serve il quarto setting nel quarto range se poi devo aspettare 2 anni di live per capire se è affidabile e robusto? Non certo per usarlo da subito in reale ma forse per capire alla fine dei due anni di reale, (nei quali ho usato uno dei tre setting precedenti) a seconda della WF4, se è possibile continuare in avanti con il setting4 che è robusto?..... E continuando cosi in avanti al secondo anno di reale trovo un 5° range di IIS degli ultimi 5 anni, un setting 5 da applicare per altri 2 anni in OOS e cosi via n modo da aggiornare nel tempo il mio TS e adattarlo ai cambiamenti del mercato?

        Grazie ancora magari sono domande ovvie per gli addetti ai lavori, ma non per me.... :02.sadsmile_80_anim


        Comment


          #64
          Originally posted by ste View Post
          quindi se ho capito bene io posso avere una WFE1 valida che mi dice che il mio setting 1 è affidabile e robusto una WFE2 valida che mi dice della validità del setting 2 e una WF3 sulla bontà del setting 3. Quindi so che i 3 setting del TS sono tutti validi e quindi possibili da usare in futuro perché stabili poi sta a me decidere quali dei tre usare basandomi su altri criteri giusto? quindi se per ipotesi avessi che setting 1 = setting 2 = setting 3 sarei super sicuro sul futuro giusto?
          No, i tre setting ormai NON valgono più nulla, la loro profittabilità è stata verificata nel periodo dei dati storici OOS, una volta usati li puoi buttare nel cestino!

          Se sei soddisfatto della performance delle WFE1, WFE2, WFE3 e decidi che "si, il modello di ottimizzazione che ho scelto ha performato bene sui dati storici per cui voglio riproporlo per andare in reale"

          devi necessariamente ri-ottimizzare l'EA con lo stesso modello usato per la walk forward analysis, stavolta sugli ultimi dati IS storici disponibili: se hai verificato la WFA con 5 anni IS e 2 OOS, farai l'ottimizzazione sugli ultimi 5 anni disponibili, che ti darà un nuovo setting ottimizzato per il TP e SL e userai questo nuovo setting per andare in reale nei prossimi 2 anni!

          La walk forward analysis fornisce la prova che la LOGICA di ottimizzazione è valida, quindi dopo aver verificato che lo è, devi fare una nuova ottimizzazione prima di andare live in reale.
          La vita non è un giro di prova, cogli l’attimo..
          Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

          Comment


            #65
            Ok quindi l'ultima ottimizzazione, quella prima di andare in reale, su gli ultimi 5 anni di storico, alla fine dei due anni di live mi serve per calcolare una nuova WFE e se viene confermata di nuovo la logica di ottimizzazione, faro ancora una nuova ottimizzazione su gli ultimi 5 anni di storico e andrò avanti con questa per altri due anni, e cosi via continuando in avanti......
            In pratica con questo metodo posso nel tempo adattare il TS ai possibili cambiamenti del mercato mantenendo la robustezza e l'affidabilità?

            Se invece alla fine dei due anni di reale la WFE non passa, allora cosa faccio? Abbandono il TS, mi metto a rifare una nuovo processo di WFA dall'inizio per ritrovare un altro modello di ottimizzzazione, o invece continuo a prendere per buono il modello originario ma trovo una nuova ottimizzazione soltanto degli ultimi 5 anni di storico?

            Grazie mille :01.smile_80_anim_gi

            Comment


              #66
              Originally posted by ste View Post
              Se invece alla fine dei due anni di reale la WFE non passa, allora cosa faccio?
              1) Abbandono il TS,
              2) mi metto a rifare una nuovo processo di WFA dall'inizio per ritrovare un altro modello di ottimizzzazione,
              3) o invece continuo a prendere per buono il modello originario ma trovo una nuova ottimizzazione soltanto degli ultimi 5 anni di storico?
              ti rispondo con Quelo : https://www.youtube.com/watch?v=jYQWVnKEFRk
              La vita non è un giro di prova, cogli l’attimo..
              Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

              Comment


                #67
                :03.bigsmile_80_anim:03.bigsmile_80_anim:03.bigsmi le_80_anim

                Grazie Umberto sei un mito!!!

                Comment


                  #68
                  Umberto, avrei alcune domande sulla WFA in merito all'equilibrio tra numero dati significativi a disposizione e numero di cicli da fare; mi spiego meglio.

                  Ho due strategie sulle quali intendo applicare la WFA. Su entrambe dispongo di 10 anni di storico, ma la prima con circa 50 operazioni totali e la seconda con 80 operazioni. I miei dubbi sono:

                  1) Devo fare un unico ciclo oppure più cicli (quanti e con quale ripartizione IS/OOS per ognuna delle due strategie che mi trovo a tradare)?

                  2) E' più importante di fatto avere più di un ciclo nella WFA, anche se con pochi dati per ogni ciclo, o avere magari un unico ciclo ma più consistente e significativo in termini di operazioni?

                  3) Qual è in sostanza la soglia minima come numero di operazioni per un ciclo WFA quindi considerando le 2 finestre IS+OOS?

                  Comment


                    #69
                    Originally posted by ste View Post
                    Umberto, avrei alcune domande sulla WFA
                    Ottime domande, hai centrato il punto debole della WFA.
                    Con la WFA non si conosce a priori qual è il numero di giorni In Sample adatto per effettuare una ottimizzazione da verificare poi su dei dati storici successivi Out Of Sample, che sono una percentuale anch'essa sconosciuta dei dati In Sample.

                    Come spiegano bene Tomasini e Jaekle, al post 2, la teoria ed il buon senso dicono che i dati In Sample devono considerare tutte le fasi di mercato classiche dello strumento finanziario, quindi trend, reversal, congestione.
                    Sta a te individuare il numero di giorni ottimale.

                    Riguardo il range dei dati Out Of Sample su cui verificare la bontà del setting ottimizzato sui dati In Sample, l'esperienza di Robert Pardo, l'ideatore della WFA, dice che il 20% potrebbe andare bene, mentre Michael L. Barna, l'ideatore del Trading System Lab nel suo sito scrive di usare dati OOS che siano soltanto il 10% dei dati IS.

                    Per poter effettuare una WFA, il numero di minimo consigliato è di 3 cicli, ma possono essere anche di più, e naturalmente questo dipende anche dal timeframe.
                    Su 10 anni
                    - sul daily puoi fare 3 cicli IS-OOS : circa 5 anni IS + 2 OOS
                    - mentre su H1 puoi fare anche 6 cicli : circa 3 anni IS + 1 OOS

                    Una misura utile per decidere il range di dati IS è il numero minimo di trade che la strategia deve fare sui dati In Sample, dai 100 trade in su, più ne fai e più affidabile e robusto sarà il risultato,

                    Per una strategia costruita su logiche di psicologia di mercato, quindi analisi tecnica, pattern grafici, ecc., possono bastare anche 100 trade minimi sui dati IS (è indifferente quanti ne farai sui dati OOS): perciò sceglierai una finestra temporale di IS tale che la strategia faccia almeno 100 trade.

                    Se invece usi trading system generati algoritmicamente, quindi senza una costruzione ragionata delle regole di entrata ed uscita, ma regole scelte arbitrariamente e randomicamente da un software, Michael L. Barna consiglia di avere dati In Sample che permettano di fare dai 600 trade in su.


                    Originally posted by ste View Post
                    Ho due strategie sulle quali intendo applicare la WFA. Su entrambe dispongo di 10 anni di storico, ma la prima con circa 50 operazioni totali e la seconda con 80 operazioni.
                    Sono davvero troppe poche operazioni, su ben 10 anni di storico: la WFA in questi casi non ha molto senso.
                    La vita non è un giro di prova, cogli l’attimo..
                    Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

                    Comment


                      #70
                      Originally posted by umbertosm View Post


                      Una misura utile per decidere il range di dati IS è il numero minimo di trade che la strategia deve fare sui dati In Sample, dai 100 trade in su, più ne fai e più affidabile e robusto sarà il risultato,

                      Per una strategia costruita su logiche di psicologia di mercato, quindi analisi tecnica, pattern grafici, ecc., possono bastare anche 100 trade minimi sui dati IS (è indifferente quanti ne farai sui dati OOS): perciò sceglierai una finestra temporale di IS tale che la strategia faccia almeno 100 trade.

                      Se invece usi trading system generati algoritmicamente, quindi senza una costruzione ragionata delle regole di entrata ed uscita, ma regole scelte arbitrariamente e randomicamente da un software, Michael L. Barna consiglia di avere dati In Sample che permettano di fare dai 600 trade in su.



                      Sono davvero troppe poche operazioni, su ben 10 anni di storico: la WFA in questi casi non ha molto senso.


                      Leggendo Pardo se ho capito bene lui dice che un numero di trade statisticamente significativo è 30 meglio se 50 o più, quindi nelle mie due strategie un unico ciclo di WFA non avrebbe senso?
                      Ma allora se le strategie sono valide, e di questo sono certo, non c'è un modo per verifcarlo e quindi in teoria uno senza WFA è costretto ad abbandonarle?

                      Comment


                        #71
                        Originally posted by ste View Post
                        Leggendo Pardo se ho capito bene lui dice che un numero di trade statisticamente significativo è 30 meglio se 50 o più, quindi nelle mie due strategie un unico ciclo di WFA non avrebbe senso?
                        Ma allora se le strategie sono valide, e di questo sono certo, non c'è un modo per verifcarlo e quindi in teoria uno senza WFA è costretto ad abbandonarle?
                        Si, 30 o 50 trade sono il minimo numero di trade affinché la performance del trading system sia in grado di predire, se non fa overfitting, come potrebbe performare quell'EA nell'immediato futuro.
                        Io preferisco dai 100 trade in su, ma è una mia preferenza.

                        Se la strategia è valida lo puoi scoprire sempre lavorando "al limite", con 1 solo ciclo di WFA!
                        Quindi sui 10 anni a disposizione:
                        - ottimizzi 8 anni di dati In Sample, con cui farai almeno 50 trade
                        - e poi verifichi la validità del setting sui 2 anni rimanenti di dati storici Out Of Sample.

                        Se la performance sui dati OOS ti soddisfa, allora puoi mettere il trading system in live sui dati futuri:
                        - dopo aver effettuato una nuova ottimizzazione sugli ultimi più recenti 8 anni di dati storici,
                        - prendi il setting ottimizzato e mandi in live l'EA per i prossimi 2 anni.



                        La vita non è un giro di prova, cogli l’attimo..
                        Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

                        Comment


                          #72
                          Per aumentare il numero di trade e generare parametri ottimizzati più robusti puoi utilizzare la tecnica di detrend dei dati in modo da aumentare il numero di trade. Alcuni autori indicano in 20 trade per ciclo oos il numero minimo.

                          Comment


                            #73
                            Originally posted by MatteoP View Post
                            Per aumentare il numero di trade e generare parametri ottimizzati più robusti puoi utilizzare la tecnica di detrend dei dati in modo da aumentare il numero di trade.

                            Interessante la tecnica Matteo, ma purtroppo non la conosco, potresti darmi qualche riferimento o dirmi di cosa si tratta nello specifico?

                            Comment


                              #74
                              In pratica si tratta di generare delle curve nuove di dati partendo da quella originale. Queste curve sono diverse dalla originale però mantengano alcune caratteristiche statistiche. In sintesi se il tuo TS non sarà profittevole sulle nuove curve, difficilmente lo sarà anche live. Purtroppo il viceversa non vale.

                              Appena torno, ti cerco qualche link e te posto

                              Comment


                                #75
                                Perdonami, ma mi ero sbagliato la funzione di cui ti dicevo prima non è la funzione di detrend ma di oversampling. Di fatto vengono generate curve con caratteristiche simili a quella originale
                                Sulla parte teorica dell'oversamplig trovi diversi video su youtube.

                                Più praticamente per il trading se vai a questo link http://zorro-project.com/manual/
                                e cerchi la funzione NumSampleCycles vedrai la spiegazione, le opzioni, e i casi di utilizzo e non utilizzo dell oversampling nel trading. Presumo ci siano funzioni analoghe in altre piattaforme evolute.

                                Ricordo di aver letto qualcosa in qualche libro se mi ritorna in mente ti scrivo i riferimenti. Ciao

                                Comment

                                Working...
                                X