L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 2067

 
Aleksey Vyazmikin:

Questo è corretto, ma se si rimuovono quelle righe che sono già abbondanti nelle foglie, ce ne saranno leggermente meno (classe "0"), e la qualità non dovrebbe diminuire, mentre i valori relativi per "1" diventeranno più grandi, e quindi il modello sarà in grado di tenere conto di quelle varianti di foglie nella ricerca, cosa che prima non era statisticamente corretta.

Un'altra opzione è quella di rimuovere le foglie uniche, poiché possono interferire con l'apprendimento.

Se ci sono molte linee simili, significa che la situazione si ripete spesso. Se li rimuovi, per esempio la classe 0, e inizi ad attivare una foglia con la classe 1 in un trade di rally, allora se il modello non cambia, otterrai di nuovo molti 0 invece degli 1 previsti. E subire perdite. Ne hai bisogno?

Il MO può prevedere solo partendo dal presupposto che il modello terrà e agirà come ha fatto in passato. Rimuovi gli schemi dall'allenamento e otterrai un risultato casuale

 
Aleksey Nikolayev:

Può essere più facile da spiegare attraverso un esempio di applicazione.

punto 1) - testando l'ipotesi delle fluttuazioni diurne di persistenza-antipersistenza. È un controllo della propensione del prezzo a continuare o viceversa - a cambiare la sua direzione a seconda dell'ora del giorno. Per questo è necessario conoscere la correlazione.

Punti 2) e 3) - testando l'ipotesi che le inversioni di prezzo "accadono a ore" ed è meglio farlo al momento "giusto".

Punto 3) - ricerca dei momenti piatti (di tendenza) dell'ora del giorno studiando la distribuzione empirica delle lunghezze degli zigzag.

1) Correlazione tra cosa e cosa?

 
Valeriy Yastremskiy:

Capisco il giorno, sono d'accordo. La domanda riguarda il giorno della settimana. Il tempo all'interno del periodo di mediazione, i giorni, non è inizialmente legato al giorno della settimana. È possibile rilevare la ripetibilità infrasettimanale, tenendo conto dell'ora del giorno, legandola inizialmente al giorno della settimana. Avete un collegamento solo con l'ora del giorno del mese.

Naturalmente, potremmo fare un'analogia con i minuti intraday (per esempio) con periodi di cinque minuti all'interno della settimana, ma in quel caso dobbiamo separare la periodicità puramente settimanale da quella ereditata dalla periodicità giornaliera, così come dagli effetti delle notizie e da altre non stazionarietà. Comunque, non sono così sicuro che la stagionalità settimanale sia così pronunciata.

 
elibrarius:

1) Correlazione tra cosa e cosa?

Incrementi adiacenti.

 
Aleksey Nikolayev:

Si potrebbe, naturalmente, fare un'analogia con i minuti intraday (ad esempio) con periodi intra-settimanali di cinque minuti, ma allora si dovrebbe separare la periodicità puramente settimanale dalla periodicità giornaliera ereditata, e anche dagli effetti delle notizie e da altre non stazionarietà. Comunque, non sono così sicuro della stessa pronunciata stagionalità settimanale.

A quanto pare sono ottuso. Non considero la media settimanale. Come si ottiene la risposta, un evento periodico ogni giorno alle 9 del mattino, o ogni terzo, quinto e decimo giorno del mese, o ogni mercoledì alle 9 del mattino?

 
Valeriy Yastremskiy:

A quanto pare sono ottuso. Non considero la media settimanale. Come si ottiene la risposta, un evento ricorrente ogni giorno alle 9, o ogni terzo, quinto e decimo giorno del mese, o ogni mercoledì alle 9?

Penso di averti capito e ho scritto con lo spirito che un evento che si ripete ogni giorno alle 9 del mattino sarebbe anche un evento che si ripete ogni mercoledì alle 9 del mattino. Sarebbe abbastanza difficile isolare quegli eventi che hanno un periodo SETTIMANALE (ma non diurno) a causa della periodicità diurna molto luminosa. Naturalmente, potrei sbagliarmi, ma non ho ancora notato una chiara periodicità settimanale, quindi non c'è modo di rilevarla nel mio codice.

 
elibrarius:

Se ci sono molte file simili, allora la situazione si ripete spesso. Se li butti via, per esempio la classe 0, e inizi ad attivare un foglio con la classe 1 in un raduno, se i modelli non cambiano, otterrai di nuovo molti 0 invece degli 1 previsti. E subire perdite. Ne hai bisogno?

Il MO può prevedere solo partendo dal presupposto che il modello terrà e agirà come ha fatto in passato. Rimuovendo i modelli dall'addestramento, si otterrà una formazione casuale

Ci sono strategie, strategie di tendenza che guadagnano bene al 40% di accuratezza, ma i metodi MO standard non permettono di allenarli, scaricando la classe "1" a zero se l'accuratezza è insufficiente, e ho solo bisogno di tali spaccature per separare e migliorare, quindi sto cercando tali metodi. Altrimenti Richiamo molto piccolo a 1 ottiene.

 
Aleksey Nikolayev:

La ricerca di pattern intraday è ostacolata dalle fluttuazioni della volatilità intraday. Dobbiamo sbarazzarci di loro in qualche modo. Possibili modi:

1) Riaggiustamento degli incrementi per tenere conto della volatilità intraday.

2) Passare a un nuovo tempo intraday, in cui la varianza cresce uniformemente.

3) Uso di un modello a zigzag. I valori delle ginocchia non dipendono dalle fluttuazioni della volatilità. I tempi top dipendono ovviamente dalla volatilità (sono più frequenti dove la volatilità è alta), ma quando si passa a un tempo uniforme questi cluster scompaiono.

Questo in teoria... ma in pratica non importa come si girano gli occhiali... )

Ho normalizzato per la volatilità degli incrementi, equalizzato la dispersione. Ho solo perso informazioni.

 
Aleksey Vyazmikin:

Ci sono strategie, strategie di tendenza che guadagnano bene al 40% di accuratezza, ma i metodi standard MO non permettono di allenarli, lascio cadere la classe "1" a zero se l'accuratezza non è sufficiente, e ho solo bisogno di separare e migliorare tali suddivisioni, quindi sto cercando tali metodi. Altrimenti il richiamo è molto piccolo, a 1.

Se è una tendenza, il TP è grande, ma lo SL è piccolo. Per esempio da 500 a 100. Quindi in caso di errore dell'80% ci sarà un 20% di operazioni di successo e un 80% di operazioni perdenti. Il saldo sarà vicino allo zero. Se il commercio parte con un errore del 70%, sarete già in profitto. E se si trova il 50/50, il profitto sarà enorme.


Cosa intendi con "scaricato"? Il 70% degli errori sembra solo essere scaricato in classe 0, si può già fare soldi sul restante 30% di classe 1.

 
Aleksey Vyazmikin:

Maxim, ho il sospetto che il modello per C++ non sia scaricato correttamente da CatBoost - puoi fare un confronto con il modello per python?

Ho una discrepanza tra i valori di interpretazione del modello in MQL5 dove i valori sono presi dal modello CPP e i valori dal modello binario. Il delta è di circa 0,15 - che è molto.

Quello in python è cpp in un wrapper. Tutto funziona bene.

Voglio dire che può essere salvato sia in formato python che in cpp. Lo salvo in cpp e poi lo converto in mql con azioni semplici, perché il modello stesso è costituito da diversi array.