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

 
Yuriy Asaulenko:

Conservare gli archivi. Vedere l'allegato.

Learn.csv - input. La prima cifra di ogni riga è vincolante per la storia, dovrebbe essere rimossa.

Cell.scv - obiettivo.

Questo è il grafico che dovremmo ottenere dopo l'allenamento su questi dati.

Il filtro è approssimativamente uguale a EMA(16) e la previsione è di 5 minuti.

Eseguirò il test più tardi, quando ne avrò bisogno.

Non sono sicuro se questo grafico è un grafico di allenamento o un grafico di test.

Ecco il CatBoost sul test - gli ultimi 100 valori.

Istogramma delle deviazioni.

Ho preso 4000 per la formazione, 2000 per la convalida e 100 righe per il test. Ho addestrato 1000 alberi di profondità 6, formula RMSE (sostituita daPoisson).

Campione allegato e impostazioni, per la riproduzione è necessario scaricare CB e mettere nella directory Setup.

Sul campione di allenamento la stessa distribuzione non assomiglia alla tua

Aggiunto: Applicazione errata del modello - i grafici di probabilità sono risultati...

File:
Setup.zip  587 kb
 
Aleksey Vyazmikin:

Non è molto chiaro, hai ottenuto questo grafico su quale campione - è sul training o sul test?

Ecco il CatBoost sul test - gli ultimi 100 valori.

Istogramma delle deviazioni.

Ho preso 4000 per la formazione, 2000 per la convalida e 100 righe per il test. Ho addestrato 1000 alberi con una profondità di 6, formula RMSE.

Campione allegato e impostazioni, per la riproduzione è necessario scaricare CB e metterlo nella directory Setup.

Anche sul campione di allenamento la distribuzione non assomiglia alla tua

Il mio grafico si allena solo sull'intero campione. Non ho fatto un test su questo. Sarà più o meno identico all'allenamento.
Dove sono finiti i valori negativi sul grafico dell'asse x? E la gamma di valori di x non è la stessa di y? Come mai?
Ho un grafico che confronta i valori previsti e quelli reali (obiettivo). Nessuna distribuzione.
 
Yuriy Asaulenko:
Il mio grafico si allena solo sull'intero campione. Non ho fatto test su questo. Sarà approssimativamente identico all'addestramento.
Dove sono i valori negativi sull'asse x nel grafico? E la gamma di valori di x non è la stessa di y? Come mai?
Ho un grafico che confronta la previsione e i valori reali.

Sì, non ho fatto la regressione prima, ci sono un sacco di funzioni di fitness oscure, al contrario della classificazione, danno risultati diversi, e ho preso il valore sbagliato.

Ecco il campione del test.

Ed ecco il campione di allenamento - 4.000 linee.

Istogramma delle deviazioni per il campione di prova

Ecco il grafico complessivo dei 3 campioni.

La metrica che è stata usata per addestrare il campione di prova

Dice che avremmo potuto fermare l'addestramento a 250 iterazioni e il modello viene riqualificato.

 
Aleksey Vyazmikin:

Sì, non ho fatto la regressione prima, ci sono un sacco di funzioni di fitness oscure, a differenza della classificazione, che danno risultati diversi, e ho preso il valore sbagliato.

Ecco il campione del test.

Ed ecco il campione di allenamento - 4000 righe.

Istogramma delle deviazioni per il campione di prova

Ecco un grafico generale per 3 campioni

Sembra essere a posto. Anche sul test. anche se riqualificato).
 
Yuriy Asaulenko:
Sembra OK.

Beh, sì, puoi migliorare se vuoi - è solo che non ho esperienza con i modelli di regressione.

Quindi i principali predittori sono strumenti di lavoro :)

Ho allegato la versione finale con le impostazioni - allena 10 modelli con diversi Seed

File:
Setup.zip  588 kb
 
Aleksey Vyazmikin:

Beh, sì, puoi migliorare se vuoi - solo che non ho esperienza con i modelli di regressione.

Quindi i principali predittori sono strumenti di lavoro :)
C'è una serie di prezzi in scala come input. - 20 valori vicini e questo è tutto. Non si tratta di predittori, ma della formulazione del problema - è risolvibile. E la vostra foresta verrà fuori da sola con i predittori).
 
Yuriy Asaulenko:
C'è una serie di prezzi in scala all'ingresso. - Ci sono 20 valori vicini e questo è tutto. Non si tratta di predittori, ma della formulazione del problema - può essere risolto. E la vostra foresta penserà da sola ai predittori).

Sì, si tratta della dichiarazione del problema, sono d'accordo. È solo che non vedo il prezzo come un impasto da cui si modellano le torte, e i predittori sono necessari per modellare queste torte.

 
Maxim Dmitrievsky:

Una delle tecniche classiche che possono migliorare un modello. O meglio, trovare quello ottimale. L'applicazione originale di Monte Carlo.

https://en.wikipedia.org/wiki/Importance_sampling

Non hai applicato questo metodo nel tuo articolo?

 
Maxim Dmitrievsky:

Per l'off-policy (gradiente di politica) RL

https://medium.com/@jonathan_hui/rl-importanza-sampling-ebfb28b4a8c6

Può spiegare in russo, con parole sue, qual è l'idea? In inglese, per così dire).

 
Yuriy Asaulenko:

Il filtro LPF che abbiamo previsto con successo. Anche ora noi due, non solo il NS, ma la foresta. Ora cerchiamo di prevedere il prezzo, che è un esercizio del tutto inutile). Preferiamo prevedere la componente RF del cambiamento atteso nell'aspettativa del prezzo, che (l'aspettativa) è attualmente sconosciuta. E qui nel contesto di tutti i tipi di movimenti, oscillazioni HF e tutto il resto.

Così abbiamo ottenuto quanto segue: il tempo di previsione è di 5 m su 1m TF.

Come al solito: x è la previsione, y è il valore reale. Beh, inclinato a 45 gradi sembra un rettangolo, grazie per non essere un cerchio. Se ci si sposta un po' a destra-sinistra dello zero su x, si può anche giocare con una probabilità di poco superiore al 50% (vedi aree).

Naturalmente, sarebbe bello costruire tutti i tipi di linee di regressione e distribuzioni, ma è necessario fare delle fette, almeno alcune - questo è per dopo.

PS Bene, e una previsione utilizzando un algoritmo leggermente modificato. Lo stesso 5 min al timeframe 1m.

È già molto meglio). Partendo dalla previsione >2 e < -2 di х i trade con perdite sono difficilmente prevedibili se chiudiamo semplicemente in 5 min.

La seconda foto è davvero bella! Quali modifiche all'algoritmo lo hanno reso possibile?