Pagina 2 di 2 Prima 12
  1. #11

    Data Registrazione
    Jul 2012
    Messaggi
    668
    Citazione Originariamente Scritto da Apocalips Visualizza Messaggio
    Ciao Fram, il miglior modo per testare una idea di trading che ha superato il backtest è il front test.
    Il backtest è un arma a doppio taglio e si rischia quasi sempre di cadere nella trappola dell' overfitting.

    Ci sono diversi modi di procedere per non incorrere in questo errore , alcuni dei quali anche piuttosto complessi e difficili da eseguire in manuale.

    a me invece piace fare in questo modo molto semplice ma molto efficace e cioè:

    Per allontanare il piu possibile la trappola della sovraottimizzazione dovresti far girare il tuo TS su segmenti IN SAMPLE e OUT SAMPLE dopodichè se le performance non degradano sensibilmente puoi anche decidere di andare a mercato reale. In buona sostanza, supponiamo che tu voglia testare ed ottimizzare il tuo TS sulle ultime 1500 barre, ebbene, questo è il periodo che chiamiamo IN SAMPLE in cui si va alla ricerca dei migliori parametri. Terminata questa fase di ricerca ti vai a selezionare a ritroso un altro segmento OUT SAMPLE di 1500 barre che il Ts non ha mai visto, quello che precede le prime 1500 dell' in sample e su di esso senza toccare niente fai girare il tuo TS e verifica i risultati. Se la equity che ottieni è abbastanza paragonabile a quella del periodo IN SAMPLE allora sei sulla buona strada e sei pronto per testarlo su un terzo periodo di 1500 barre ma questa volta in avanti ed in paper e se anche questa volta il ts supera il test allora potresti pensare di metterlo in real con una buona probabilità di ottenere gli stessi risultati e la sicurezza quantomeno di non averlo overfittato. Se fallisci una delle prime 2 fasi devi tornare indietro al primo punto e cercare altri parametri più stabili o addirittura modificare l'impianto di base


    PS: fondamentale è la scelta del periodo IN SAMPLE di apprendimento del TS, esso deve replicare il piu possibile al suo interno i diversi andamenti del mercato e cioè lateralità, fase rialzista, fase ribassista, alta volatilità, bassa volatilità etc..

    Spero di essermi spiegato

    Apo
    E soprattutto inserirci anche i costi del broker. In un TS da 1min. è probabile che le operazioni fatte siano parecchie e quindi le commissioni incidono poi sulla equity.

    Saluti Fab
    Ultima modifica di fab62; 20-09-16 alle 11:05

  2. #12

    Data Registrazione
    Oct 2010
    Messaggi
    319
    Citazione Originariamente Scritto da fab62 Visualizza Messaggio
    E soprattutto inerirci anche i costi del broker. In un TS da 1min. è probabile che le operazioni fatte siano parecchie e quindi le commissioni incidono poi sulla equity.

    Saluti Fab
    Giustissima osservazione

  3. #13

    Data Registrazione
    May 2010
    Messaggi
    47

    Thumbs up

    Citazione Originariamente Scritto da Apocalips Visualizza Messaggio
    Ciao Fram, il miglior modo per testare una idea di trading che ha superato il backtest è il front test.
    Il backtest è un arma a doppio taglio e si rischia quasi sempre di cadere nella trappola dell' overfitting.

    Ci sono diversi modi di procedere per non incorrere in questo errore , alcuni dei quali anche piuttosto complessi e difficili da eseguire in manuale.

    a me invece piace fare in questo modo molto semplice ma molto efficace e cioè:

    Per allontanare il piu possibile la trappola della sovraottimizzazione dovresti far girare il tuo TS su segmenti IN SAMPLE e OUT SAMPLE dopodichè se le performance non degradano sensibilmente puoi anche decidere di andare a mercato reale. In buona sostanza, supponiamo che tu voglia testare ed ottimizzare il tuo TS sulle ultime 1500 barre, ebbene, questo è il periodo che chiamiamo IN SAMPLE in cui si va alla ricerca dei migliori parametri. Terminata questa fase di ricerca ti vai a selezionare a ritroso un altro segmento OUT SAMPLE di 1500 barre che il Ts non ha mai visto, quello che precede le prime 1500 dell' in sample e su di esso senza toccare niente fai girare il tuo TS e verifica i risultati. Se la equity che ottieni è abbastanza paragonabile a quella del periodo IN SAMPLE allora sei sulla buona strada e sei pronto per testarlo su un terzo periodo di 1500 barre ma questa volta in avanti ed in paper e se anche questa volta il ts supera il test allora potresti pensare di metterlo in real con una buona probabilità di ottenere gli stessi risultati e la sicurezza quantomeno di non averlo overfittato. Se fallisci una delle prime 2 fasi devi tornare indietro al primo punto e cercare altri parametri più stabili o addirittura modificare l'impianto di base


    PS: fondamentale è la scelta del periodo IN SAMPLE di apprendimento del TS, esso deve replicare il piu possibile al suo interno i diversi andamenti del mercato e cioè lateralità, fase rialzista, fase ribassista, alta volatilità, bassa volatilità etc..

    Spero di essermi spiegato

    Apo
    Ti sei spiegato benissimo. Il backtest è estremamente delicato e complesso. Mi sfugge il procedimento con cui posso backtestarlo su un periodo passato...

    Citazione Originariamente Scritto da fab62 Visualizza Messaggio
    E soprattutto inserirci anche i costi del broker. In un TS da 1min. è probabile che le operazioni fatte siano parecchie e quindi le commissioni incidono poi sulla equity.

    Saluti Fab
    Messi. In realtà in questo TS sono previsti pochi trade; a seconda dell'indice diciamo dai 10 ai 20 su 3000 barre.


    Questo il codice, riferito al minidax tf 1 min


    BUY SCRIPT


    # REQUIRED_BARS is used to adjust how many periods will be used to initialize calculations. Default value is 50 periods.
    # Un-comment and edit the line below to set your own value.
    # SET REQUIRED_BARS = 50

    INPUTS: @TRIXperiods(10), @VECTOR(CLOSE), @takeprofit(210), @stopLoss(240), @STperiods(4),@STstrenght(11),

    SET TAKE_PROFIT = @takeprofit
    SET STOP_LOSS = @stopLoss
    SET A = SuperTrend(@STperiods, @STstrenght)
    SET T = TRIX(@VECTOR, @TRIXperiods)
    SET T1 = REF (T,1)
    SET T2 = REF (T,2)


    T< 0 AND T> T1 AND T1< T2 AND CLOSE > A


    PRINT(T)
    PRINT(T1)
    PRINT(T2)



    SELL SCRIPT

    SET T = TRIX(@VECTOR, @TRIXperiods)
    SET T1 = REF (T,1)
    SET T2 = REF (T,2)
    SET A = SuperTrend(@STperiods, @STstrenght)

    T> 0 AND T< T1 AND T1> T2 AND CLOSE < A




    Verificatelo con qualche front test fatto a modo e magari ditemi come va, cosa non va. Vorrei usare questo spazio per capire che tipo di pensieri e miglioramenti si possono fare, e COME soprattutto. A me da ottimi risultati. Ripeto, trovo la combinazione TRIX/SuperTrend super performante quindi questo mi gasa molto... Spero di averlo testato in maniera corretta. Per vari problemi ancora non sono riuscito a far partire il paper, ma appena riesco a partire posto i risultati.
    (slippage 1, commissioni inserite, 3000barre, senza trailing stop e percent. Teoricamente è abbastanza "peggiorativo"..)
    Immagini Allegate Immagini Allegate

  4. #14

    Data Registrazione
    May 2010
    Messaggi
    47

    e questi sono i risultati sullo stoxx a 5 min

    Variando leggermente i periodi e i valori di stop loss e take profit si possono raggiungere risultati decenti anche sullo stoxx a 5 minuti. E' sicuramente migliorabile,ma almeno è un punto di partenza.
    (i settaggi di slippage e commissioni sono come nella prova col minidax)
    Immagini Allegate Immagini Allegate

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Contattaci

Chiama gli esperti
+39 0425 792923

Chiamaci
Email

Richiedi informazioni via E-MAIL
info@playoptions.it

Scrivici
Nostri Uffici

Vieni a trovarci
45100 Rovigo

Contattaci

Serve Aiuto?

Contattaci per maggiori informazioni.

Denis MorettoSpecialista Finanziario
Contattaci