Un unico indicatore di qualità per la strategia - pagina 7

 
Youri Tarshecki:

Per confrontare le due strategie, anche un 60% di mercato sarebbe sufficiente per fare una scelta a favore dell'una o dell'altra. Dovrete solo aumentare la dimensione del campione.

Per il lavoro di codice reale, la precisione del 95% disponibile della simulazione dell'ambiente a 1m è molto buona. E una storia di tick darà tutto il 99% .Molti modelli scientifici e pratici dell'ambiente non possono vantare una tale precisione .

E non vedo ragioni per credere che il metodo automatico di creazione di strategie sia in qualche modo miracolosamente diverso da quello manuale in termini di dipendenza dalla qualità della storia.

Se la storia è cattiva, è cattiva per tutti gli Expert Advisors.

In altre parole, la questione della scelta dell'ambiente non è direttamente collegata ai criteri di valutazione del sistema.

"Non vedo ragioni per credere che il metodo automatico di creazione di strategie sia in qualche modo miracolosamente diverso da quello manuale in termini di dipendenza dalla qualità della storia". - Una ricerca automatica può trovare una "strategia" che sfrutta le caratteristiche tecniche (difetti) del tester stesso combinate con la qualità dei dati storici. A quanto pare non hai incontrato un tale problema)). Ecco un esempio illustrativo:

Supponiamo che si utilizzino dati storici in formato OHLC, i tick non vengono modellati, i periodi più piccoli non vengono utilizzati, le condizioni di entrata/uscita dal mercato vengono calcolate ad ogni arrivo del valore O, H, L o C.

Nella figura:

Poiché (O-L) + (H - C) < (H - O) + (C-L) il tester simula i movimenti del mercato usando i valori nella sequenza mostrata nella figura, il che è abbastanza logico.

Come risultato, si scopre che nel momento indicato dalla linea rossa, i due valori Open e Low (per la strategia sarà Close) conterranno informazioni sul "futuro".

Ecco la regola della "presa di profitto":

se (Open[0] - Close[0])> X e (High[0] == Open[0]), allora compra, dove X è un valore che si sovrappone allo spread.

Notate che a questo punto i valori OHLC per la strategia corrisponderanno ai valori OOLL dei dati storici!!!

Viene mostrato il difetto del tester e la scarsa qualità della storia.

 
Aliaksandr Hryshyn:


Mostra il difetto del tester e la scarsa qualità della storia.

Questo è ciò che si intende per futuro. Questo fenomeno è noto da molto tempo. Ricordo che circa tre anni fa c'era anche un articolo che studiava le conseguenze delle prese di profitto sulla base di un EA con questa caratteristica. Il profitto è stato generato dall'Expert Advisor senza alcuna pausa.

Ma qual è la probabilità che la strategia impari a prendere questa fiche da sola e anche tenendo conto dello spread se non le insegnate a farlo? Mi sembra trascurabile.

Naturalmente, in realtà il prezzo può andare avanti e indietro a suo piacimento all'interno di una candela. Questo è ciò che crea quel 5-10% di errori del test dal reale. Voglio dire che non è fondamentale per confrontare le strategie in un test, perché saranno comunque tutte nelle stesse condizioni.

E voglio dire che se pensate che sia critico, allora prendete la storia del tick reale, sacrificando la velocità.

Cioè è tutto poco importante rispetto al metodo di prova da utilizzare.

 
Ti manca decisamente il punto)). Nel tester di strategia, nel mio esempio con il difetto, l'EA darà solo trade positivi, un graal)). Quando le strategie di autodetecting, che sono progettate per cercare i "grails", possono inciampare su questi difetti.
Credetemi, questo è un problema serio per il generatore di strategie, c'è già, certamente meglio che nell'esempio. Una buona equità per una trama non ottimizzata può cedere in un minuto, mentre io sto lavorando per aumentare l'"intelligenza". Programmi simili che ho trovato su Internet non hanno e non possono avere molti problemi, questo è dovuto a certi modelli di generazione di regole, esempio di una regola generata: (A<B) & (A>C) & if(D>C;true;A>B).
 
Ci sono stati momenti in cui il sistema ha trovato una "strategia" che in circa 150 trade ha avuto circa 15 trade perdenti, e questo su una trama non ottimizzata. In qualche modo c'è poca fiducia in questi risultati.
 
Aliaksandr Hryshyn:
Ci sono stati momenti in cui il sistema ha trovato una "strategia" che in circa 150 trade ha avuto circa 15 trade perdenti, e questo su una trama non ottimizzata. In qualche modo c'è poca fiducia in questi risultati.
Ti sparerai?
 
Ci sono anche altri difetti... Tra l'altro, possono anche dare i migliori risultati in una zona non ottimizzata, dato che utilizzano modelli di comportamento non tariffari.
 
Алексей Тарабанов:
Spararvi?
))
 
Aliaksandr Hryshyn:
Ti manca decisamente il punto)). Nel tester di strategia, nel mio esempio con il difetto, l'EA darà solo trade positivi, un graal)). Quando le strategie di autodetecting, che sono progettate per cercare i "grails", possono imbattersi in questi difetti.
Credetemi, questo è un problema serio per il generatore di strategie, c'è già, certamente meglio che nell'esempio. Una buona equità per una trama non ottimizzata può cedere in un minuto, mentre io sto lavorando per aumentare l'"intelligenza". Ho trovato molti problemi con programmi analoghi su Internet, ha a che fare con specifici modelli di generazione di regole, ad esempio la regola generata: (A<B) & (A>C) & if(D>C;true;A>B).

Stiamo parlando di due cose diverse.

1.Sono a conoscenza del suo esempio da molto tempo. La mia opinione - la probabilità di una tale creazione accidentale durante "l'evoluzione" è insignificante. Se hai ancora paura di questi e simili trucchi "non prezzo" - basta fare un controllo della cronologia dei tick con uno spread plausibile - e tutto si rivelerà subito. Basta cambiare il tipo di test nel file ini a volte.

I modelli di generazione di regole, secondo me, affinché non ci siano intoppi, dovrebbero lavorare a un livello sufficientemente alto di generalizzazione di queste regole e di compatibilità dei blocchi. E poi l'utente stesso può impostare queste dipendenze e gli elementi con cui il generatore deve lavorare.

2. Se il generatore contiene una selezione di strategie basata su test, allora il volking forward è un MUST. Inoltre, semplificherà drasticamente il criterio di selezione.

 
Youri Tarshecki:

Stiamo parlando di due cose diverse.

1. Sono a conoscenza del suo esempio da molto tempo. La mia opinione è che la probabilità di creazione accidentale di una tale cosa nel corso dell'"evoluzione" è trascurabile. Se avete ancora paura di questi e simili trucchi "non di prezzo" - basta fare un test di controllo su una storia di tick con uno spread plausibile - e tutto si rivelerà immediatamente. Basta cambiare il tipo di test nel file ini a volte.

I modelli di generazione di regole, secondo me, affinché non ci siano intoppi, dovrebbero lavorare a un livello sufficientemente alto di generalizzazione di queste regole e di compatibilità dei blocchi. E poi l'utente stesso può impostare queste dipendenze e gli elementi con cui il generatore deve lavorare.

2. Se il generatore contiene una selezione di strategie basata su test, allora il volking forward è un MUST. Inoltre, semplificherà drasticamente il criterio di selezione.

Probabilmente lo farà).

Quali pensi che dovrebbero essere le regole? Mi chiedo solo come vedi il problema.

 

Suggerisco questa opzione.

Questa valutazione è adatta alle strategie che hanno le seguenti caratteristiche/limitazioni:

  • la presenza di uno stop loss
  • il rischio di ogni trade è fisso e misurato nella valuta. il lotto è calcolato in base alla dimensione dello stop loss, quindi quando scatta, si perde solo l'importo definito dal rischio
  • Più operazioni possono essere considerate come un'unica operazione, se fanno parte di uno schema di trading e il rischio totale è fisso.

Il profitto e il drawdown sono rappresentati come il rapporto tra i loro rispettivi valori e il rischio fisso/stop loss.

I principali indicatori di performance della strategia sono presi e trasformati come mostrato nella figura sottostante, l'ordine delle formule corrisponde all'ordine degli indicatori nel titolo.

Sul grafico c'è anche la complessità della strategia, non si può usare, ne avevo bisogno.

La volatilità mostra la somma delle deviazioni massime dei valori azionari dalla linea di regressione nei valori corrispondenti, graficamente è così:

La volatilità è la somma dei valori assoluti di A B, cioè A+|B||

Esiste anche un valore di redditività leggermente modificato che si calcola come segue

Redditività=(profitto totale + 1)/(perdita totale + 1)

Si trasforma come segue:

Poiché la redditività non è molto utile con un piccolo numero di scambi, facciamo quanto segue:

il grafico qui sopra mostra come il valore di redditività sarà calcolato a seconda del numero di compravendite.

Poi cambiamo ancora una volta la redditività (in base alla sua importanza a seconda del numero di trade) usando la seguente formula

Redditività = 1 + Redditività * Significatività - Significatività

Poi tutti i valori ottenuti di profitto, drawdown, numero di trade, volatilità e redditività (dall'ultima formula) vengono moltiplicati, come risultato si ottiene un singolo coefficiente che riflette la qualità generale della strategia basata sul trade in un certo periodo di tempo.

Valori di rapporto:

0 - spietatamente terribile)

0,3 - male

~0.8 - buono

>1 - molto buono

Ecco i risultati della valutazione in questo modo:

Qui questo fattore è rappresentato come coefficiente Z, è possibile valutare i set di allenamento (linea verde) e di test (linea viola).

Un buon risultato per la linea verde delle azioni (0,993) e la linea viola inferiore (0,5714)

Per la linea viola è leggermente meglio che male, la redditività è 1,447

Esempi di cattivi risultati.