Regressione bayesiana - Qualcuno ha fatto un EA usando questo algoritmo? - pagina 50

 
Dr.Trader:

I modelli sono dipendenti dal tempo. Allenati su un classificatore separato per ogni giorno della settimana, o prova ad aggiungere la fase della luna (sono serio), o l'ora del giorno ai dati grezzi, non so cosa fare esattamente, ma è molto importante.

Alexey Burnakov:

2) Sì, l'ho già fatto. Ho un grande dataset - posso condividerlo proprio qui - dove ho aggiunto i dati sui prezzi:

- ora

- giorno della settimana

- mese

- giorno del mese.

Naturalmente questo è importante. Ma dovremmo determinare non il giorno o l'ora in cui il TS ha successo, ma la natura del mercato quando il TS ha successo - trend, flat, modelli stagionali. La natura del mercato determina la natura dei dati, e non il giorno della settimana o i trucchi del broker. La natura del mercato può essere determinata sulla storia, ma per determinarla sul conto reale, come ha scritto Dmitry Fedoseyev: "Il problema principale dell'analisi e del trading è l'identificazione della tendenza.

Per esempio, TS è considerato un successo in appartamento. Ci sono degli indicatori che predicono un piatto?

 
Yuri Evseenkov:

Naturalmente questo è importante. Solo è necessario identificare non il giorno o l'ora del giorno in cui il TS ha successo, ma la natura del mercato quando il TS ha successo - trend, flat, modelli stagionali. La natura del mercato determina la natura dei dati, e non il giorno della settimana o i trucchi del broker. La natura del mercato può essere determinata sulla storia, ma per determinarla sul conto reale, come ha scritto Dmitry Fedoseyev: "Il problema principale dell'analisi e del trading è l'identificazione della tendenza.

Per esempio, TS è considerato un successo in appartamento. Ci sono degli indicatori che predicono il piatto?

Il punto è che si può determinare in anticipo il giorno e l'ora del giorno, ma la tendenza e il piatto no.

Se sai identificare in anticipo la tendenza e il piatto, allora non hai bisogno di nient'altro - il graal è in faccia.

 
Yuri Evseenkov:

Ci sono degli indicatori che predicono un piatto?

Si può anche fare un classificatore per questo, attraverso alberi e R, come nel blog di Alexey. Abbiamo bisogno di raccogliere diversi anni di storia delle barre, poi manualmente o usando qualche indicatore per specificare quali intervalli di tempo erano piatti e quali no, e insegnare il modello. Per insegnare il modello, non usate l'aumento di prezzo del periodo successivo come nell'esempio, ma specificate i valori flat/trend (ad esempio 0 e 1 in modo corrispondente). E otterremo l'indicatore.

Ma in generale se si fa un classificatore da zero che predice il futuro aumento dei prezzi - il classificatore stesso dovrebbe imparare a distinguere un piatto da una tendenza. La sua logica non conterrà nozioni così chiare, ma concettualmente deve imparare a distinguere i diversi caratteri del mercato e cambiare la previsione in funzione di essi. Un classificatore adeguato non deve lavorare solo in alcuni periodi di tempo, il suo compito è quello di lavorare sempre con profitto.

 
Dr.Trader:

Possiamo anche fare un classificatore per questo, attraverso alberi e R, come nel blog di Alexey. Abbiamo bisogno di raccogliere diversi anni di storia delle barre, poi manualmente o usando qualche indicatore specificare quali intervalli di tempo erano piatti e quali no, e allenare il modello. Per insegnare il modello, non usate l'aumento di prezzo del periodo successivo come nell'esempio, ma specificate i valori flat/trend (ad esempio 0 e 1 in modo corrispondente). E otterremo l'indicatore.

Non è un indicatore ma un classificatore - non predice ma classifica. Grosso modo, avendo studiato una parte della storia, può dire se questa parte è una tendenza o un piatto.

Ma il problema è che posso farlo anche a occhio - non ho bisogno di un indicatore.

 
Дмитрий:

Non è un indicatore, ma un classificatore - non predice, classifica. Quindi, approssimativamente, avendo studiato una parte della storia, può dire se questa parte è una tendenza o un piatto.

Ma il problema è che posso farlo a occhio - non ho bisogno dell'indicatore.

La pratica ci dice qualcos'altro. Dipende da ciò che si insegna.

Se si classifica semplicemente il passato, sì.

Ma se si sposta l'insegnante, cioè i valori passati dei predittori corrispondono al valore attuale dell'insegnante, allora si prevede il futuro. Per esempio, si sposta di 1 bar. Così, quando arriva una nuova barra, calcola tutti i tuoi predittori e poi usa il modello addestrato al PAST per prevedere i tuoi flip-trend. Si può insegnare con uno spostamento di più di 1. Il bello dei modelli di previsione che estrapolano le barre passate è che l'errore si aggiunge (nel migliore dei casi) all'aumentare dell'orizzonte di previsione, questo non è il caso della classificazione. Quindi quando si fa una previsione su H1: errore su +1 = 30% (la cifra reale), su +2 un po' di più, e su +4 quasi il 30%.

Non solo, se si inizia a fare amicizia con le case di Burnakov, si possono trovare spostamenti nel futuro che hanno circa lo stesso errore di previsione della barra +1.

 
Dr.Trader:

Possiamo anche fare un classificatore per questo, attraverso alberi e R, come nel blog di Alexey. Abbiamo bisogno di raccogliere diversi anni di storia delle barre, poi manualmente o usando qualche indicatore specificare quali intervalli di tempo erano piatti e quali no, e insegnare il modello. Per insegnare il modello, non usate l'aumento di prezzo del periodo successivo come nell'esempio, ma specificate i valori flat/trend (ad esempio 0 e 1 in modo corrispondente). E otterremo l'indicatore.

Ma in generale se si fa un classificatore da zero che predice il futuro aumento dei prezzi - il classificatore stesso dovrebbe imparare a distinguere un piatto da una tendenza. La sua logica non conterrà nozioni così chiare, ma concettualmente deve imparare a distinguere i diversi caratteri del mercato e cambiare la previsione in funzione di essi. Un classificatore adeguato non dovrebbe funzionare solo in alcuni periodi di tempo, il suo compito è quello di lavorare con profitto ogni volta.

Il blog di Alexey, la formazione dei modelli e la classificazione sono estensioni troppo complicate per il mio compito e per me stesso. Voglio qualcosa di più semplice per prevedere il piatto con una certa probabilità.

Qualcosa come ADX. E in MQL4 questo sarebbe comprensibile per commercianti, economisti e filosofi, e non solo per esperti di pacchetti matematici e linguaggi di programmazione R, Python, ecc.

 
Dr.Trader:

Possiamo anche fare un classificatore per questo, attraverso alberi e R, come nel blog di Alexey. Abbiamo bisogno di raccogliere diversi anni di storia delle barre, poi manualmente o usando qualche indicatore specificare quali intervalli di tempo erano piatti e quali no, e insegnare il modello. Per insegnare il modello, non usate l'aumento di prezzo del periodo successivo come nell'esempio, ma specificate i valori flat/trend (ad esempio 0 e 1 in modo corrispondente). E otterremo l'indicatore.

Ma in generale se si fa un classificatore da zero che predice il futuro aumento dei prezzi - il classificatore stesso dovrebbe imparare a distinguere un piatto da una tendenza. La sua logica non conterrà nozioni così chiare, ma concettualmente deve imparare a distinguere i diversi caratteri del mercato e cambiare la previsione in funzione di essi. Un classificatore adeguato non deve lavorare solo in alcuni intervalli di tempo, il suo compito è quello di lavorare con profitto ogni volta.

Mi sembra di avere un classificatore che lo impara.

Guarda, questo è lo schema dei dati di input.

Sto dando alla macchina

la differenza con la media mobile

la differenza con l'alto in movimento

anche con un minimo

diffusione dei dati

deviazione standard

e semplicemente la differenza tra i prezzi presi con un ritardo.

Ora immaginate che questa finestra vari ancora da 2 a 724 minuti - ci sono 18 serie di tali predittori.

Questo dovrebbe essere sufficiente per distinguere un movimento di tendenza da un piatto. Come minimo, lo dice la differenza tra i prezzi con un ritardo e lo spread dei dati (e la deviazione standard).

Volevo anche prendere la pendenza della regressione lineare per la finestra dei prezzi. Anche con una finestra variabile. Ma sono le stesse uova. Si può provare però.

Così, il classificatore evidenzia costantemente la differenza con la media mobile come il predittore più importante, così come le differenze tra i prezzi e compresi gli spread e le deviazioni standard. Tutto viene utilizzato da esso.

 
СанСаныч Фоменко:

La pratica racconta una storia diversa. Dipende da ciò che si insegna.

Se si classifica semplicemente il passato, allora sì.

Ma se state spostando gli insegnanti, cioè i valori dei predittori passati corrispondono al valore attuale dell'insegnante, allora state predicendo il futuro. Per esempio, si sposta di 1 bar. Così, quando arriva una nuova barra, calcola tutti i tuoi predittori e poi usa il modello addestrato al PAST per prevedere i tuoi flip-trend. Si può insegnare con uno spostamento di più di 1. Il bello dei modelli di previsione che estrapolano le barre passate è che l'errore si aggiunge (nel migliore dei casi) all'aumentare dell'orizzonte di previsione, questo non è il caso della classificazione. Quindi quando si fa una previsione su H1: errore su +1 = 30% (la cifra reale), su +2 un po' di più, e su +4 quasi il 30%.

Non solo, se si inizia a fare amicizia con le case di Burnakov, si possono trovare turni nel futuro che hanno circa lo stesso errore di previsione della barra +1.

Sì, non è che preveda un passo avanti, come l'ARIMA, per esempio. Con Arima, l'errore cresce esponenzialmente perché ciò che è previsto un passo avanti inizia ad essere usato come predittore e questo viene ripetuto tante volte quanto è necessario per prevedere in anticipo.

All'inizio avevo 18 variabili target, per le quali alleno i modelli uno per uno (passando attraverso i parametri di allenamento e fermandomi alla migliore combinazione). E in questo modo posso vedere per quale orizzonte tutto è meglio previsto.

Il mio allenamento per tutti gli obiettivi dura circa un giorno. Ma neanche questo è il limite. Una rete neurale multistrato su GPU può allenarsi per una settimana per un obiettivo.

 
Alexey Burnakov:

Inizialmente avevo 18 variabili target, per le quali alleno i modelli uno per uno (passando attraverso i parametri di allenamento e fermandomi alla migliore combinazione).

Come si determina la "migliore" combinazione?
 
Alexey Burnakov:

Sì, non è che preveda un passo avanti, come l'ARIMA. Con Arima l'errore cresce esponenzialmente, perché la previsione di un passo avanti inizia ad essere usata come predittore e questo viene ripetuto tante volte quante sono le previsioni da fare.

All'inizio avevo 18 variabili target, per le quali alleno i modelli uno per uno (passando attraverso i parametri di allenamento e fermandomi alla migliore combinazione). E in questo modo posso vedere per quale orizzonte tutto è meglio previsto.

Il mio allenamento per tutti gli obiettivi dura circa un giorno. Ma neanche questo è il limite. Una rete neurale multistrato su GPU può allenarsi per una settimana per un obiettivo.

Questa era la mia comprensione della vostra attività
Motivazione: