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

 
Yuriy Asaulenko:

E in R stesso, la grafica non è niente. E anche i pacchetti di grafici non sono buoni.

Oggi ho dedicato una giornata allo studio del DSP.

Mi ricorda NS.

Coefficienti di filtraggio e altre cose, quasi come predittori

)

 
Renat Akhtyamov:

Oggi ho passato la giornata a studiare DSP.

È un po' come NS.

Coefficienti di filtraggio e altre cose, quasi come predittori.

)

Non credo che un giorno sia sufficiente). In realtà è una specialità). Lo hanno studiato per anni, anche per tutta la loro vita attiva.

NS, non ricorda, ma ampiamente utilizzato in DSP. La questione dell'applicazione di NS in DSP è la corretta formulazione del problema per NS. Diciamo che un'applicazione di NS è il filtraggio, incluso il filtraggio adattivo.

A proposito, NS funzionerà bene quando gli darete un compito abbastanza specifico, non portare questo, non so cosa.

 
Yuriy Asaulenko:

Un giorno probabilmente non è sufficiente). In realtà è una specialità). È stato studiato per anni, anche per una vita attiva.

NS, non ricorda, ma ampiamente utilizzato in DSP. La questione dell'applicazione di NS in DSP è la corretta formulazione del problema per NS. Diciamo che un'applicazione di NS è il filtraggio, incluso il filtraggio adattivo.

A proposito, NS funzionerà bene quando gli darete un compito abbastanza specifico, non portare questo, non so cosa.

La specialità corrisponde

La giornata è breve, sono d'accordo.

 
Ildottor Trader:

Filtro_02 2016 arr_Buy

La classe "1" supera addirittura lo "0" in numero, quindi ci sono meno falsi ingressi rispetto a prima. Prova questo albero nell'EA per favore? Sono curioso di sapere cosa mostrerà il grafico dei profitti.


y_pred
y_true01
0
1

La classe "1" è solo un filtro di acquisto e la classe "-1" è un filtro di vendita, quindi idealmente sarebbe meglio programmare sia un filtro di vendita che uno di acquisto. Ho solo valori tutti int, capisco che se il valore di ramificazione nell'albero è 2,5, allora metto 3, giusto? E negli ovali significa più o uguale a 0,50, allora è 1, altrimenti è zero? È solo che ci sono solo 4 uscite a zero, allora controllo solo su di esse, se non è 0, allora è 1.

 
Aleksey Vyazmikin:

La classe "1" è solo un filtro di acquisto e la classe "-1" è un filtro di vendita

Non capisco. arr_Buy==1 significa "non comprare"?

Aleksey Vyazmikin:

Idealmente, sarebbe meglio programmare un filtro sia per vendere che per comprare.

E come calcolare un valore target da due arr_Buy e arr_Sell?
Sarebbe bello se in una colonna obiettivo ci fossero solo due classi -1 e 1 (comprare e vendere), e un numero circa uguale di entrambe. In questo caso, potremmo ottenere risultati più stabili dal modello.

Aleksey Vyazmikin:

Ho solo valori tutti int, deduco che se l'albero ha un valore di ramificazione di 2,5, metto 3, giusto? E negli ovali significa più o uguale a 0,50, allora è 1, altrimenti è zero? È solo che ci sono solo 4 uscite a zero, allora mi limiterò a controllare su di esse, se non è 0, allora è 1.

Sì, proprio così.

 
Aleksey Vyazmikin:

La classe "1" è solo un filtro di acquisto e la classe "-1" è un filtro di vendita, quindi idealmente sarebbe meglio programmare sia un filtro di vendita che uno di acquisto. Ho solo valori tutti int, capisco che se il valore di ramificazione nell'albero è 2,5, allora metto 3, giusto? E negli ovali significa più o uguale a 0,50, allora è 1, altrimenti è zero? È solo che ci sono solo 4 uscite a zero, allora mi limiterò a controllare su di esse, se non è 0, allora è 1.

Stai facendo l'albero da solo?

Una foresta è sufficiente per essere addestrata, e un'ulteriore ottimizzazione non ha senso - è più facile fare una nuova foresta.

Per una piena compatibilità con MQL5 ho creato https://github.com/Roffild/RoffildLibrary/blob/master/Experts/Roffild/Alglib_RandomForest.mq5 Run solo sugli agenti locali. Il codice può generare diversi file con diversi numeri di predittori ed eseguirli nell'ottimizzatore. Quando si esaurisce la RAM, è meglio passare a Spark...

 
Dr. Trader:

Non capisco. arr_Buy==1 significa "non comprare"?

Sì - non comprare, è un filtro, cioè cerca punti di entrata sbagliati per comprare e per vendere. L'idea è quella di trovare voci di mercato e combinarle con il filtro.

Dr.Trader:

E come calcolare un valore target da due arr_Buy e arr_Sell?

Sarebbe bello se ci fossero solo due classi -1 e 1 (comprare e vendere) nella stessa colonna di destinazione, e circa lo stesso numero di entrambe. In questo caso si potrebbero ottenere risultati più stabili dal modello.

In questo caso l'entrata dovrebbe essere su ogni barra - comprare o vendere, ma il mercato non fornisce così tanti movimenti di tendenza, e il target per l'acquisto e la vendita è in tendenza, quindi i segnali non possono essere combinati. Il filtro monitora tutte le perdite, quindi ci sono più informazioni - più appartamenti, quindi dovrebbe prenderli.

 
SanSanych Fomenko:

È stato scritto molte volte: i predittori di rumore sono molto più favorevoli al modello - ci sono sempre valori nel rumore che migliorano il risultato dell'apprendimento. Quindi il processo è invertito - i predittori di rumore ottengono più peso, non come suggerisci tu. Questo è particolarmente evidente su piccoli campioni, che sono meno di 1000 osservazioni. I campioni di più di 5000 osservazioni non sono così influenzati, ma è ancora necessario pre-selezionare i predittori di rumore

Come si identificano i "predittori di rumore"? Ho provato a selezionare per significato e rimuovere in questo modo, il risultato è peggiore.

 

Preferisco sovrapporre i risultati della foresta casuale al grafico stesso.

Per esempio, confrontando due modelli di foresta casuale:

 
Roffild:

Preferisco sovrapporre i risultati della foresta casuale al grafico stesso.

Per esempio, confrontando due modelli di foresta casuale:

Non è chiaro come leggere il tuo indicatore.