Trailing Profit in Easy Script, gioie e dolori !

Collapse
X
 
  • Ora
  • Show
Clear All
new posts
  • Apocalips
    Senior Member

    • May 2011
    • 2630

    #1

    Trailing Profit in Easy Script, gioie e dolori !

    Buongiorno Tiziano

    Sto effettuando Backtest di un mio TS (cerberus 1.0 ) che prevede l\'uscita in trailing profit e che ha queste caratteristiche:

    sottostante: Dax
    timeframe: 5 minuti
    modalità backTest: Normal distribution
    storico: 6000 barre

    Ii TS, come si vede dall\' immagine restituisce equity di tutto rispetto costantemente superiori a 3 di profit factor

    Click image for larger version

Name:	1.jpg
Views:	1
Size:	96.3 KB
ID:	165230

    Il precedente problema della sovraperformance di trading System con trailing stop è stato risolto brillantemente con la Normal distribution, tuttavia ho una percezione che anche in questa modalità ci sia una sovrastima del risultato finale ma puo essere che mi sbagli, non sono un matematico e quindi mi limito solo a registrare quanto di strano osservo.

    mi spiego:

    Il mio TS prevede un trailing profit che scatta quando il gain, una volta raggiunti i 125 euro retrocede di un 10% ovvero almeno di 1 tick, evento questo che ha probabilità del 50%. Questo mi porta ad affermare che su un campione statisticamente significativo ( >100) dovrei avere mediamente il 50% di trade chiusi sotto i 125 euro mentre in realtà richiamando il grafico dei Winning trades osservo che solo pochissimi ( 23 su 143) sono al di sotto di questa soglia il che mi fa dubitare che quel 214 euro di Average Winning trade sia una sovrastima di quello che potrebbe accadere in real market.
    Click image for larger version

Name:	2.jpg
Views:	1
Size:	60.2 KB
ID:	165231

    Non so Tiziano se sono riuscito a speiegarmi, in caso affermativo come si spiega questa incongruenza ?
    il ragionamento che ho fatto è sbagliato ?

    grazie per la consueta disponibilità

    Apo

    ps: allego anche il report completo
    File Allegati
    Last edited by Apocalips; 19-02-15, 14:13.
    ....non si desidera ciò che è facile ottenere (Ovidio)....
  • Marco Bosco
    Senior Member

    • Sep 2012
    • 419

    #2
    Originariamente Scritto da Apocalips
    Buongiorno Tiziano

    Sto effettuando Backtest di un mio TS (cerberus 1.0 ) che prevede l\'uscita in trailing profit e che ha queste caratteristiche:

    sottostante: Dax
    timeframe: 5 minuti
    modalità backTest: Normal distribution
    storico: 6000 barre

    Ii TS, come si vede dall\' immagine restituisce equity di tutto rispetto costantemente superiori a 3 di profit factor

    [ATTACH=CONFIG]17713[/ATTACH]

    Il precedente problema della sovraperformance di trading System con trailing stop è stato risolto brillantemente con la Normal distribution, tuttavia ho una percezione che anche in questa modalità ci sia una sovrastima del risultato finale ma puo essere che mi sbagli, non sono un matematico e quindi mi limito solo a registrare quanto di strano osservo.

    mi spiego:

    Il mio TS prevede un trailing profit che scatta quando il gain, una volta raggiunti i 125 euro retrocede di un 10% ovvero almeno di 1 tick, evento questo che ha probabilità del 50%. Questo mi porta ad affermare che su un campione statisticamente significativo ( >100) dovrei avere mediamente il 50% di trade chiusi sotto i 125 euro mentre in realtà richiamando il grafico dei Winning trades osservo che solo pochissimi ( 23 su 143) sono al di sotto di questa soglia il che mi fa dubitare che quel 214 euro di Average Winning trade sia una sovrastima di quello che potrebbe accadere in real market.
    [ATTACH=CONFIG]17715[/ATTACH]

    Non so Tiziano se sono riuscito a speiegarmi, in caso affermativo come si spiega questa incongruenza ?
    il ragionamento che ho fatto è sbagliato ?

    grazie per la consueta disponibilità

    Apo

    ps: allego anche il report completo


    ciao APO buogiorno,
    direi che : Average Winning trade ti da una "sovrastima" di quello che potrebbe accadere solo nel limiti in cui tu ti discosti dal suo significato.


    Infatti Average Winning trade è semplicemente la media di numeri e nulla può sapere dei loro "pesi probabilistici" / distribuzione e probabilità.


    Nel tuo grafico per esempio ci sono diversi trade che hanno avuto un grande gain che inevitabilmente alza la media.




    Capisco però il tuo problema e ciò che ti turba, ma questa lontananza dalla realtà è probabilmente dovuta al fatto che hai la possibilità solo di backtestare in distribuzione normale.
    Ma non puoi farci niente i prezzi non ce l\'hai e quindi vanno ipotizzati in qualche modo.




    scusami APO se mi sono intromesso,
    Tiziano se ha da aggiungere qualcosa sicuramente lo farà.


    ciao,
    Marco

    p.s. non ho avuto tempo di esaminare il report quindi se non ho capito bene e continui a rilevare anomalie insisti pure...
    I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. L’insieme dei due costituisce una forza incalcolabile. (Albert Einstein)

    Comment

    • civvic
      Senior Member

      • May 2012
      • 593

      #3
      Originariamente Scritto da Apocalips
      Buongiorno Tiziano

      Sto effettuando Backtest di un mio TS (cerberus 1.0 ) che prevede l\'uscita in trailing profit e che ha queste caratteristiche:

      sottostante: Dax
      timeframe: 5 minuti
      modalità backTest: Normal distribution
      storico: 6000 barre

      Ii TS, come si vede dall\' immagine restituisce equity di tutto rispetto costantemente superiori a 3 di profit factor

      [ATTACH=CONFIG]17713[/ATTACH]

      Il precedente problema della sovraperformance di trading System con trailing stop è stato risolto brillantemente con la Normal distribution, tuttavia ho una percezione che anche in questa modalità ci sia una sovrastima del risultato finale ma puo essere che mi sbagli, non sono un matematico e quindi mi limito solo a registrare quanto di strano osservo.

      mi spiego:

      Il mio TS prevede un trailing profit che scatta quando il gain, una volta raggiunti i 125 euro retrocede di un 10% ovvero almeno di 1 tick, evento questo che ha probabilità del 50%. Questo mi porta ad affermare che su un campione statisticamente significativo ( >100) dovrei avere mediamente il 50% di trade chiusi sotto i 125 euro mentre in realtà richiamando il grafico dei Winning trades osservo che solo pochissimi ( 23 su 143) sono al di sotto di questa soglia il che mi fa dubitare che quel 214 euro di Average Winning trade sia una sovrastima di quello che potrebbe accadere in real market.
      [ATTACH=CONFIG]17715[/ATTACH]

      Non so Tiziano se sono riuscito a speiegarmi, in caso affermativo come si spiega questa incongruenza ?
      il ragionamento che ho fatto è sbagliato ?

      grazie per la consueta disponibilità

      Apo

      ps: allego anche il report completo
      Ciao Maurizio, visto che mi pare stiamo procedendo di pari passo, ti confermo, perchè ho in strategy diversi trading system 5\' su dax e altri future, che il backtest con trailing profit sovrastima di gran lunga.
      Avevo scritto in un post che ora non ricordo che purtroppo la normal distribution non va bene , ci vorrebbe una distribuzione di probabibilità diversa (miracolosa ), sempre una campana centrata sul prezzo d\'ingresso a scendere verso prezzo d\'uscita e magari che cala molto velocemente verso l\'HIGH e il LOW ... non so .
      Forse l\'unico modo di simulare in backtest è quello di levare il \'trailing profit\' e mettere solo \'take profit\'.
      Io non vendo tasti ! - Tiziano Cagalli ...quindi se c'è un tasto (su Fiuto) vuol dire che serve !!

      Comment

      • Apocalips
        Senior Member

        • May 2011
        • 2630

        #4
        Originariamente Scritto da civvic
        ....ci vorrebbe una distribuzione di probabibilità diversa (miracolosa ), sempre una campana centrata sul prezzo d\'ingresso a scendere verso prezzo d\'uscita e magari che cala molto velocemente verso l\'HIGH e il LOW ... non so
        Tiziano potrebbe introdurre nell\'algoritmo un fattore di correzione che riporti i gain a valori piu prossimi alla realta, non so come potrebbe fare ma essendo l\' ideatore dell\' algoritmo, di certo impiegherà una manciata di minuti

        Per quanto riguarda l\'utilizzo nel backTest del take profit al posto del trailing profit avremmo lo stesso problema solo che questa volta i gain saranno sottostimati, insomma Vittorio, lasciamo la palla rovente a Tiziano che senza dubbio risolverà anche questo problema.

        Apo
        ....non si desidera ciò che è facile ottenere (Ovidio)....

        Comment

        • Apocalips
          Senior Member

          • May 2011
          • 2630

          #5
          Originariamente Scritto da Marco Bosco



          Capisco però il tuo problema e ciò che ti turba, ma questa lontananza dalla realtà è probabilmente dovuta al fatto che hai la possibilità solo di backtestare in distribuzione normale.
          Ma non puoi farci niente i prezzi non ce l\'hai e quindi vanno ipotizzati in qualche modo.

          Ciao Marco, e grazie della tua risposta

          in effetti l\'unico modo per verificare quanto osservato è quello di effettuare dei frontTest in strategy e poi confrontarli con il backtest, però mi sembra di aver capito che Vittorio stia procedendo con diversi test proprio in questo senso e riferisce che ci sono forti disallineamenti.

          Apo
          ....non si desidera ciò che è facile ottenere (Ovidio)....

          Comment

          • Francario Massimiliano
            Administrator
            • Jul 2008
            • 1033

            #6
            Salve,

            Originariamente Scritto da Apocalips
            Buongiorno Tiziano

            Sto effettuando Backtest di un mio TS (cerberus 1.0 ) che prevede l\'uscita in trailing profit e che ha queste caratteristiche:

            sottostante: Dax
            timeframe: 5 minuti
            modalità backTest: Normal distribution
            storico: 6000 barre

            Ii TS, come si vede dall\' immagine restituisce equity di tutto rispetto costantemente superiori a 3 di profit factor



            Il precedente problema della sovraperformance di trading System con trailing stop è stato risolto brillantemente con la Normal distribution, tuttavia ho una percezione che anche in questa modalità ci sia una sovrastima del risultato finale ma puo essere che mi sbagli, non sono un matematico e quindi mi limito solo a registrare quanto di strano osservo.

            mi spiego:

            Il mio TS prevede un trailing profit che scatta quando il gain, una volta raggiunti i 125 euro retrocede di un 10% ovvero almeno di 1 tick, evento questo che ha probabilità del 50%. Questo mi porta ad affermare che su un campione statisticamente significativo ( >100) dovrei avere mediamente il 50% di trade chiusi sotto i 125 euro mentre in realtà richiamando il grafico dei Winning trades osservo che solo pochissimi ( 23 su 143) sono al di sotto di questa soglia il che mi fa dubitare che quel 214 euro di Average Winning trade sia una sovrastima di quello che potrebbe accadere in real market.


            Non so Tiziano se sono riuscito a speiegarmi, in caso affermativo come si spiega questa incongruenza ?
            il ragionamento che ho fatto è sbagliato ?

            grazie per la consueta disponibilità

            Apo

            ps: allego anche il report completo
            si, il Trailing Stop in Backtest presenta quasi sempre una sovra-stima (migliorativa), qualsiasi distribuzione di prezzi venga applicata.
            Questa è una caratteristica comune a qualsiasi piattaforma di analisi tecnica che preveda l\'utilizzo del Trailing Stop in Backtest.


            L\'unico modo per ottenere dei risultati più in linea con quanto si ottiene con una strategia in real-time sarebbe quello di generare una sequenza di tick casuali.

            Lo schema di funzionamento di un tale generatore sarebbe a grandi linee questo.

            1. Genero un nuovo tick di prezzo a partire dal prezzo precedente, con le seguenti caratteristiche:
            - Tick con prezzo maggiore del prezzo precedente (prezzo precedente + 1 tick), con probabilità 50%
            - Tick con prezzo minore del prezzo precedente (prezzo precedente - 1 tick), con probabilità 50%

            2. Se il nuovo valore di prezzo è tale da portarmi a chiudere la posizione, concludo la sequenza di generazione e chiudo il trade con il prezzo attuale.

            3. Se il nuovo valore è maggiore dell\'high della barra attuale o è minore del low della barra attuale, scarto il tick e torno al punto 1.

            4. Torno al punto 1.

            Questo schema presenta però un problema: è potenzialmente uno schema a ciclo infinito!
            In pratica è un sistema che richiede moltissime risorse di calcolo, un semplice backtest senza ottimizzazione e su uno storico breve potrebbe richiedere parecchi secondi o minuti per essere completato.
            Per questo motivo non viene implementato in nessun software di analisi tecnica, ma si preferisce generare un prezzo casuale, compreso tra l\'high ed il low della barra attuale, a seconda della distribuzione statistica scelta.

            Stiamo comunque studiando diverse soluzioni per poter implementare una distribuzione statistica più accurata dei prezzi dei Trailing Stop da implementare per le prossime release di beeTrader.

            Max Francario
            Manuale di beeTrader
            Manuale di Fiuto Beta

            Comment

            • Cagalli Tiziano
              Senior Member
              • Dec 2007
              • 11252

              #7
              Originariamente Scritto da Apocalips
              Tiziano potrebbe introdurre nell\'algoritmo un fattore di correzione che riporti i gain a valori piu prossimi alla realta, non so come potrebbe fare ma essendo l\' ideatore dell\' algoritmo, di certo impiegherà una manciata di minuti

              Per quanto riguarda l\'utilizzo nel backTest del take profit al posto del trailing profit avremmo lo stesso problema solo che questa volta i gain saranno sottostimati, insomma Vittorio, lasciamo la palla rovente a Tiziano che senza dubbio risolverà anche questo problema.

              Apo
              Questo è un problema atavico e non di immediata soluzione anche se sembrerebbe semplice:

              utilizzando la distribuzione normale come surrogato al non avere lo storico dei tick, introduciamo una sovrastima perchè attribuiamo il 33% all\'evento Tick Up e Tick Down in un unico momento. Bisognerebbe spostare di un tick ogni tick e ristimare e via così....facendo una curva della campana ....questo richiederebbe una potenza di calcolo impressionante. Poco tempo a scriverlo ma una eternità a fare i calcoli.

              Le strade da percorrere sono solo due:

              1) avere dei tick da mettere nel calcolo e questo si potrebbe attuare in un prossimo futuro
              2) andare in front test che è già fattibile

              Il front test è comunque la soluzione migliore a cui si arriva solo con un TS che ha superato le precedenti verifiche.
              Si fa girare un paio di giorni, se ha dato risultati buoni, si mette in reale un paio di ore.
              Si fanno le varie analisi e eventuali aggiustamenti e poi è pronto.
              ..se corri dietro a due lepri, non ne prendi nemmeno una.

              Comment

              • Apocalips
                Senior Member

                • May 2011
                • 2630

                #8
                Grazie a Tiziano e Max per le puntuali risposte

                quindi la strada piu semplice e veloce da percorrere per verificare i reali rendimenti è quella di effettuare il frontTest previo superamento del backTest! Il confronto tra questi 2 modelli ripetuto una decina di volte ci dirà di quanto mediamente devo depotenziare la equity del backTest per quel determinato setting di parametri. Giusto?

                Comunque Tiziano, Max dice che state studiando diverse soluzioni per poter implementare una distribuzione statistica più accurata dei prezzi dei Trailing Stop da implementare per le prossime release di beeTrader.

                ....e se riuscite anche in questo avremo raggiunto la perfezione


                grazie
                Apo
                Last edited by Apocalips; 19-02-15, 17:25.
                ....non si desidera ciò che è facile ottenere (Ovidio)....

                Comment

                • civvic
                  Senior Member

                  • May 2012
                  • 593

                  #9
                  risultati ottimizzazione al variare del trailingprofit

                  Inserisco qui il post anche se non sono sicuro sia giusto ma sempre di trailing profit si parla!
                  In pratica ho voluto creare una strategia con un money management variabile con l\'ATR (allegato)
                  Ma poi quando vado a fare un\'ottimizzazione ottengo:
                  Click image for larger version

Name:	errStratLRI.jpg
Views:	1
Size:	170.7 KB
ID:	157996

                  cioè sembra che il total profit o la perdita non vari ma poi cliccando sia su normal distribution che su high-low prices si vede il risultato (penso reale) nella finestrella !
                  Qualcosa non funziona o sono io ?
                  File Allegati
                  Io non vendo tasti ! - Tiziano Cagalli ...quindi se c'è un tasto (su Fiuto) vuol dire che serve !!

                  Comment

                  • Francario Massimiliano
                    Administrator
                    • Jul 2008
                    • 1033

                    #10
                    Salve,

                    Originariamente Scritto da civvic
                    Inserisco qui il post anche se non sono sicuro sia giusto ma sempre di trailing profit si parla!
                    In pratica ho voluto creare una strategia con un money management variabile con l\'ATR (allegato)
                    Ma poi quando vado a fare un\'ottimizzazione ottengo:


                    cioè sembra che il total profit o la perdita non vari ma poi cliccando sia su normal distribution che su high-low prices si vede il risultato (penso reale) nella finestrella !
                    Qualcosa non funziona o sono io ?
                    abbiamo testato la sua strategia in fase di debug di beeTrader, ed i valori calcolati di trailing stop cambiano correttamente barra per barra.
                    Analizzando nel dettaglio i risultati, abbiamo notato però che i trades chiusi con segnale di trailing stop sono molto rari, pertanto anche se questo è variabile, in realtà è come se fosse quasi costante perchè non interviene quasi mai.
                    Può analizzare lei stesso in modo più preciso se la sua strategia genera correttamente i segnali di trailing stop disabilitando momentaneamente le altre condizioni di uscita (stoploss, take profit, ed i due segnali exit long ed exit short).

                    Inoltre, nelle impostazioni avanzate del backtest è possibile impostare in quale modo calcolare i prezzi di uscita dei trades chiusi con il segnale di trailing stop.
                    L\'impostazione di default utilizza i prezzi High/Low delle barre dove il segnale di trailing stop è avvenuto. Il risultato è che il prezzo di uscita eseguito da quel determinato segnale di trailing stop in quella determinata barra sarà sempre uguale.
                    Le altre impostazioni disponibili generano dei prezzi di uscita casuali sulla barra stessa, e pertanto i risultati ottenuti sono sempre variabili, anche a parità di condizioni. Tali risultati sono peggiorativi rispetto all\'impostazione standard, ma più realistici man mano che si aumenta il timeframe.

                    Max Francario
                    Manuale di beeTrader
                    Manuale di Fiuto Beta

                    Comment

                    • civvic
                      Senior Member

                      • May 2012
                      • 593

                      #11
                      Originariamente Scritto da Francario Massimiliano
                      ...
                      L\'impostazione di default utilizza i prezzi High/Low delle barre dove il segnale di trailing stop è avvenuto. Il risultato è che il prezzo di uscita eseguito da quel determinato segnale di trailing stop in quella determinata barra sarà sempre uguale.
                      Le altre impostazioni disponibili generano dei prezzi di uscita casuali sulla barra stessa, e pertanto i risultati ottenuti sono sempre variabili, anche a parità di condizioni. Tali risultati sono peggiorativi rispetto all\'impostazione standard, ma più realistici man mano che si aumenta il timeframe.

                      Max Francario
                      Grazie!
                      Però qui il Backtest funziona perfettamente, è l\'ottimizzazione che non capisco!
                      Perchè nella finestrella (ottimizzazione) accanto a \'High/Low Prices\' c\'è un valore che cambia per ogni configurazione ottimizzata mentre sotto in \'Total Net Profit\' (calcolato sempre con metodo High/Low Prices) i valori sono tutti uguali?
                      Per cui poi non riesco ad ottimizzare!
                      Io non vendo tasti ! - Tiziano Cagalli ...quindi se c'è un tasto (su Fiuto) vuol dire che serve !!

                      Comment

                      • Francario Massimiliano
                        Administrator
                        • Jul 2008
                        • 1033

                        #12
                        Salve,

                        Originariamente Scritto da civvic
                        Grazie!
                        Però qui il Backtest funziona perfettamente, è l\'ottimizzazione che non capisco!
                        Perchè nella finestrella (ottimizzazione) accanto a \'High/Low Prices\' c\'è un valore che cambia per ogni configurazione ottimizzata mentre sotto in \'Total Net Profit\' (calcolato sempre con metodo High/Low Prices) i valori sono tutti uguali?
                        Per cui poi non riesco ad ottimizzare!
                        ok, ora ho capito il problema.
                        In effetti è presente un bug nell\'ottimizzatore, che però si può evitare semplicemente chiamando in modo diverso gli inputs dello script.
                        Le riallego lo script già modificato.

                        Max Francario
                        File Allegati
                        Manuale di beeTrader
                        Manuale di Fiuto Beta

                        Comment

                        • civvic
                          Senior Member

                          • May 2012
                          • 593

                          #13
                          Originariamente Scritto da Francario Massimiliano
                          Salve,



                          ok, ora ho capito il problema.
                          In effetti è presente un bug nell\'ottimizzatore, che però si può evitare semplicemente chiamando in modo diverso gli inputs dello script.
                          Le riallego lo script già modificato.

                          Max Francario
                          Grazie Max, perfetto!
                          Io non vendo tasti ! - Tiziano Cagalli ...quindi se c'è un tasto (su Fiuto) vuol dire che serve !!

                          Comment

                          • AleZan
                            Senior Member

                            • Sep 2016
                            • 246

                            #14
                            Buongiorno a tutti
                            una cortesia effettivamente anche io ho problemi a capire come possa filtrare i risultati da teoria a pratica .
                            esempio ho un ts che lavora su dax daily con un trailing a 250 e un percent=1 ho una equity da linea retta "troppo bello per essere vero"
                            Come posso pesare il vero valore di trailing? se poi vado in reale tic x tick?
                            Se metto un take profit uguale al trailing come consigliato in altri post il risultato peggiora anche se non è male... il problema è che non approfitto dei take che prenderei quando parte per il trend uscendo troppo presto dalla festa....
                            Avreste consigli?
                            e soprattutto leggendo nel manuale il Percent dovrebbe essere settato come soglia che qualora raggiungo la percentuale si innesca il meccanismo che mi fa uscire se ritorna il prezzo a quella percentuale. ma ho notato che il valore migliore nei test è =1 quindi non mi torna nemmeno questa...
                            Grazie

                            Comment

                            • Cagalli Tiziano
                              Senior Member
                              • Dec 2007
                              • 11252

                              #15
                              Originariamente Scritto da AleZan
                              Buongiorno a tutti
                              una cortesia effettivamente anche io ho problemi a capire come possa filtrare i risultati da teoria a pratica .
                              esempio ho un ts che lavora su dax daily con un trailing a 250 e un percent=1 ho una equity da linea retta "troppo bello per essere vero"
                              Come posso pesare il vero valore di trailing? se poi vado in reale tic x tick?
                              Se metto un take profit uguale al trailing come consigliato in altri post il risultato peggiora anche se non è male... il problema è che non approfitto dei take che prenderei quando parte per il trend uscendo troppo presto dalla festa....
                              Avreste consigli?
                              e soprattutto leggendo nel manuale il Percent dovrebbe essere settato come soglia che qualora raggiungo la percentuale si innesca il meccanismo che mi fa uscire se ritorna il prezzo a quella percentuale. ma ho notato che il valore migliore nei test è =1 quindi non mi torna nemmeno questa...
                              Grazie
                              Fai girare in tempo reale ma in Paper Trading varie ipotesi. quelle che hai scritto qui.
                              Poi vedi il risultato reale e decidi.
                              io faccio così
                              ..se corri dietro a due lepri, non ne prendi nemmeno una.

                              Comment

                              Working...