Discussione: Trailing Profit in Easy Script, gioie e dolori !
-
19-02-15, 13:51 #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
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 completoUltima modifica di Apocalips; 19-02-15 alle 14:13
....non si desidera ciò che è facile ottenere (Ovidio)....
-
19-02-15, 15:16 #2
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)
-
19-02-15, 15:43 #3
- Data Registrazione
- May 2012
- Località
- Roma
- Messaggi
- 593
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 !!
-
19-02-15, 16:17 #4
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)....
-
19-02-15, 16:27 #5
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)....
-
19-02-15, 16:32 #6
Salve,
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
-
19-02-15, 16:39 #7
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.
-
19-02-15, 17:19 #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
ApoUltima modifica di Apocalips; 19-02-15 alle 17:25
....non si desidera ciò che è facile ottenere (Ovidio)....
-
18-06-15, 13:50 #9
- Data Registrazione
- May 2012
- Località
- Roma
- Messaggi
- 593
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:
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 ?Io non vendo tasti ! - Tiziano Cagalli ...quindi se c'è un tasto (su Fiuto) vuol dire che serve !!
-
18-06-15, 18:33 #10
Salve,
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