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

 
Maxim Dmitrievsky #:
Sì, quando c'è molto rumore, i componenti con la massima varianza non possono mostrare nulla. Non ho capito in che modo sia coinvolto il secondo set di dati, ma è anche qualcosa di kozul e nei suoi video c'era qualcosa sulla triturazione.

Beh, sembra che il secondo set di dati sia necessario solo per trovare il contrasto con il primo. Sembra che in qualche modo le matrici di covarianza di entrambi i dataset siano abilmente confrontate.

 
Aleksey Nikolayev #:

Questi sembrano essere non lineari, mentre quelli sono entrambi lineari come il PCA, se non mi sono confuso.

Sì, sono non lineari, ma è una cosa negativa?


Ho provato questa PCA a contrasto, ottenendo più o meno lo stesso risultato della PCA.

Questa vignetta mostra un confronto tra tutti i diversi tipi.

Mostra come la PCA appaia "pallida" rispetto agli altri metodi, ma se i dati non sono solo normalizzati ma anche centrati (cosa che ho fatto separatamente), allora la PCA normale dà lo stesso risultato sui dati presentati.

 
mytarmailS #:

Sì, non lineare, ma è una cosa negativa?


Ho provato questo contrasto PCA, ottenendo praticamente lo stesso risultato del PCA.

Questa vignetta mostra un confronto tra tutti i diversi tipi.

Mostra come la PCA appaia "pallida" rispetto agli altri metodi, ma se i dati vengono non solo normalizzati ma anche centrati (cosa che ho fatto separatamente), la PCA normale dà lo stesso risultato sui dati presentati.

Probabilmente "povero" rispetto a quei dati di prova, e lo stesso risultato si ottiene sulle cortecce?
 
Forester #:
Probabilmente "povero" rispetto a quei dati di prova, e lo stesso risultato ottenuto su kotrovki?

No, lo stesso sui loro dati


=============

library(scPCA)
label <- toy_df$label
data <- toy_df[, -31]


pca <- prcomp(data,center = TRUE)
plot(pca$x,col=label,lwd=2,main = "обычный РСА")

cpca <- scPCA(target = data, background = background_df, penalties = 0, n_centers = 4)
plot(cpca$x, col=label, lwd=2,main = "контрасный РСА")

Ecco cosa ho fatto.

npca <- prcomp(data,center = TRUE,scale. = TRUE)
plot(npca$x,col=label,lwd=2,main = "обычный РСА + нормализация")

library(umap)
um <- umap(data)
plot(um$layout,col=label,lwd=2,main = "umap без нормализации данных")

num <- umap( scale(data,center = TRUE,scale = TRUE) )
plot(num$layout,col=label,lwd=2,main = "umap + нормализация")



È così.... Traiamo le nostre conclusioni.

 

L'obiettivo non è centrare qualcosa in un particolare set di dati, ma trovare una rappresentazione efficace dei dati in modo flessibile. Cosa che questo metodo consente di fare. Credo che anche yumap possa farlo, ma di solito il lineare è quasi sempre migliore del non lineare, in termini di stabilità.

È un bel modo di farlo, ma c'è un modo più bello.

cPCA è pronto per essere discusso se qualcuno si esercita con esso.

 

Ho trovato un altro problema.
Ho trovato una buona variante con allenamento una volta alla settimana su 5000 linee di M5 (3,5 settimane). E ho deciso di spostare tutti i dati su 300 linee - come se l'allenamento non avvenisse il sabato, ma il martedì. Di conseguenza, il modello su OOS da redditizio è diventato non redditizio.
Queste nuove 300 linee (circa l'8% del totale) hanno fatto emergere altri chip e altri split, che sono diventati migliori per i dati leggermente modificati.
Ripetuto lo spostamento di 300 righe per 50000 righe. Sembrerebbe solo lo 0,8% delle nuove righe. Ma anche i cambiamenti sull'OOS sono significativi, anche se non così forti come con 5000 righe.

In generale si nota un adattamento non solo alla dimensione della finestra, ma anche all'inizio della finestra. Piccoli offset fanno una grande differenza nel risultato. Non ci sono caratteristiche forti, tutto è al limite del 50/50 ± 1-2%.
 
Lascerei perdere l'allenamento a intervalli. L'RL ha già dimostrato il suo fallimento in questo campo. Anche Wizard ne ha scritto quando ero appassionato di questo genere di cose. Ci sono più di 50 articoli. Un sacco di approcci e l'impossibilità di concentrarsi su qualcosa :)
 

Signori, esperti e accademici di questo thread, vi prego di esprimere la vostra opinione su quanto segue:

E se considerassimo il forex come un gioco di giochi. Come gli scacchi. O come il Go, o qualsiasi altra cosa.
Dividiamo il gioco in lotti: 500 passi ciascuno. Ogni passo corrisponde a un prezzo di chiusura orario. 500 passi corrispondono a un mese medio di trading.
Inseriamo qualsiasi cosa + lo stato del saldo.
Impostiamo due regole: se il saldo scende del 30% o se la partita termina con un saldo negativo, la partita ricomincia.
Totale N partite (diciamo 120 - come 10 anni)
L'obiettivo è vincere tutte le partite con qualsiasi vantaggio. In breve, chiudere ogni mese in attivo.

Azioni dell'agente:
1) Comprare 0,01
2) Comprare 0,02
3 Comprare 0,03
4) Comprare 0,04
5) Comprare 0,05
6) Comprare 0,06
7) Comprare 0,07 8) Comprare 0,07 8) Comprare 0,07 07
8) Comprare 0,08
9) Comprare 0,09
10) Comprare 0,1

11) Vendere 0,01
12) Vendere 0,02
13) Vendere 0,03
14) Vendere 0,04
15) Vendere 0,05
16) Vendere 0,06 17) Vendere 0,05 06
17) Vendere 0,07
18) Vendere 0,08
19) Vendere 0,09
20) Vendere 0,10

21) Chiudere 0,01
22) Chiudere 0,02
23) Chiudere 0,03
24) Chiudere 0. 04 25) Chiudere 0,03 04
25) Chiudere 0.05
26) Chiudere 0.06
27) Chiudere 0.07
28) Chiudere 0.08
29) Chiudere 0.09
30) Chiudere 0.10

31) Chiudere tutto

32) Non aprire una posizione
33) Saltare una mossa

Totale 33 azioni.

La ricompensa è differita - pari alla differenza tra il prezzo di apertura della posizione e il prezzo di chiusura di entrambe le posizioni parziali e complete.
Il saldo di ingresso darà una frazione dello stato che l'agente conosce. Infatti, secondo le regole, lo stato dell'ambiente deve cambiare in base alle azioni dell'agente. L'agente non può cambiare il grafico dei prezzi, ma può influenzare il suo bilancio che entra nello stato. È come l'analogo dei pezzi su una scacchiera. L'agente non sa quanti milioni di passi si possono fare con essi, ma sa quanti pezzi gli rimangono sulla scacchiera.

Così, non è necessario memorizzare ogni prossima candela (se darà un meno o un più), ma impariamo a sacrificare piccoli drawdown (pezzi sulla scacchiera) per ottenere un profitto alla fine.

Ho letto su Internet come addestrare una rete neurale se ha più di 1 uscita, scrivono di DQN. Come il q-learning è una stupida memorizzazione di stati e nel caso di un nuovo stato il risultato è deplorevole, mentre il DQN è una proiezione di stati memorizzati su nuovi stati, come risultato del quale viene scelto quello ottimale tra le azioni over_dofig.


Dopotutto, negli scacchi c'è un numero condizionatamente sconosciuto di stati e in queste condizioni la rete neurale vince su un umano. Perché non provare un metodo simile in un gioco chiamato "freaking forex for fuck's sake".

 
Ivan Butko #:

Signori,

Qual è la domanda?
 
mytarmailS #:
Qual è la domanda?

Opinione sul tentativo di insegnare il forex insegnando agli agenti a giocare.

C'è qualche pesce, che magari ha provato qualcosa del genere, qualche esperienza.