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

 
Aleksey Nikolayev #:
Quali meccanismi di parallelizzazione dei calcoli sulla CPU in mql5 conoscete?

OpenCL per i più o meno avanzati.

Per i meno avanzati - esecuzione di agenti su grafici separati. Ogni grafico in un thread separato, tutti i core della CPU saranno utilizzati in totale.

Inoltre, gli stessi agenti del terminale possono essere utilizzati per parallelizzare i calcoli dell'applicazione su un grafico del terminale, ma questo non è noto a molti.

In questo articolo vi mostrerò come scrivere un GA binario che copra tutte le cifre significative di un numero doppio con un passo di parametri illimitatamente piccolo in MQL5 (in realtà, è limitato a 16 cifre decimali per il doppio). E anche questo non è un limite, è possibile scrivere estensioni di tipi standard di numeri in MQL5.

 
Andrey Dik #:

OpenCL è per i più o meno esperti.

Per i meno avanzati: esecuzione di agenti su grafici separati. Ogni grafico in un thread separato, tutti i core del processore saranno utilizzati in totale.

Inoltre, gli stessi agenti del terminale possono essere utilizzati per parallelizzare i calcoli dell'applicazione su un grafico del terminale, cosa che non è nota a molti.

In questo articolo vi mostrerò come scrivere un GA binario che copra tutte le cifre significative di un numero doppio con un passo di parametri illimitatamente piccolo in MQL5 (in realtà, è limitato a 16 cifre decimali per il doppio). E anche questo non è un limite, è possibile scrivere estensioni di tipi standard di numeri in MQL5.

Questo è quello che sto dicendo: otterrete una bicicletta con un sacco di crampi.

E OpenCL è così buono che metaquotes non ha scritto il suo ottimizzatore per GPU su di esso, probabilmente solo perché chiunque di noi può facilmente scrivere il proprio.

Ok, la smetto, o verrò bannato come Maxim se dico tutto quello che penso della tua demagogia.

 
Aleksey Nikolayev #:

È quello che sto dicendo: sarà una bicicletta piuttosto brutta.

E OpenCL è così buono che metaquotes non ha scritto il suo ottimizzatore per GPU su di esso, probabilmente solo perché chiunque di noi può facilmente scrivere il proprio.

Ok, la smetto o verrò bannato come Maxim se dico tutto quello che penso sulla tua demagogia.

Allora, qual è esattamente l'intoppo? Se avete problemi con MQL5, non è colpa del linguaggio, ci sono thread di profilo speciali per chi fa domande.

Qual è la mia "demagogia"? Ti ho dato un'enorme lista di letteratura su tua richiesta da leggere, per espandere i tuoi orizzonti, ti ho raccontato e mostrato implementazioni specifiche e strategie di ricerca in MQL5. Cos'altro ti serve da me, per evitare che mi venga la bava alla bocca e che tu abbia paura di essere bannato?

Le persone mi sorprendono molto.

 

Un po' di ridondanza nel rendering di forrest

prendiamo il set di dati dell'iride + addestriamo forrest + estraiamo le regole da forrest + creiamo un set di dati in cui ogni regola è una caratteristica.

otteniamo una matrice con le regole in colonne (circa 700 centinaia di pezzi).

X <- iris[,-5]
target <- iris[,"Species"] 

library(inTrees)
library(RRF)

rules_dataset <- target |> 
                  RRF(x = X) |> 
                  RF2List() |> 
                  extractRules(X = X) |> 
                  sapply(\(r) eval(str2expression(r)))
ncol(rules_dataset)
[1] 698

Ora identifichiamo tutte le regole linearmente correlate e le rimuoviamo in quanto ridondanti.

remove_lin_comb <- caret::findLinearCombos(rules_dataset)$remove
clear_rules_dataset <- rules_dataset[, -remove_lin_comb]

e otteniamo

ncol(clear_rules_dataset)
[1] 32


L'intero set di dati può essere descritto da 32 regole invece che da 698.


È così che stanno le cose...

Forrest è 698/32 = 21,8125 volte più ridondante di quanto potrebbe essere.

 
mytarmailS #:

Un po' di ridondanza della Forresta Casuale

prendere il set di dati dell'iride + addestrare la foresta + estrarre le regole dalla foresta + creare un set di dati in cui ogni regola è una caratteristica.

ottenere una matrice con le regole in colonne (circa 700 centinaia di pezzi)

Ora identificare tutte le regole linearmente correlate e rimuoverle in quanto ridondanti.

e otteniamo


L'intero set di dati può essere descritto da 32 regole invece che da 698.


È così che stanno le cose.

Forrest è 698/32 = 21,8125 volte più ridondante di quanto potrebbe essere.

Da dove vengono le regole? Esatto: montagne di informazioni in ingresso, comprimono e ottengono le regole e poi le usano per la predizione, non le informazioni originali. Ecco perché si chiama modello.

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

Da dove vengono le regole? Esatto: montagne di informazioni in ingresso, le comprimono e ne ricavano regole che poi utilizzano per la predizione, non le informazioni originali. Ecco perché si chiama modello.

Leggete attentamente ciò che è stato scritto

 
mytarmailS #:
Non volevi scrivere un articolo sulle regole o hai cambiato idea? Probabilmente è un argomento interessante, più interessante della minimizzazione delle funzioni di test. Oppure hai problemi con la loro validazione su OOS? Oppure non ci sono problemi, siete solo troppo pigri per scrivere.
 
Una sorta di approccio generale alla selezione delle regole. Ad esempio, la scomposizione dell'albero in regole, e poi... nel contesto del TC. Migliori pratiche e approfondimenti. Sarebbe interessante.

Solo non funzioni casuali e lupi casuali, ma più vicini ai profitti.
 
Maxim Dmitrievsky #:
Una sorta di approccio generale alla selezione delle regole. Ad esempio, la scomposizione dell'albero in regole, e poi... nel contesto del TC. Migliori pratiche e approfondimenti. Sarei curioso.

Solo non funzioni casuali e lupi casuali, ma più vicini ai profitti.

"Più vicino al profitto" non è sinonimo di "sovrallenamento"?
Otteniamo un bell'equilibrio sul profitto casuale, dato che la base è un valore incrementale casuale. E da dove viene la bellezza dell'equilibrio?

L'equilibrio è la valutazione di TS nel terminale, dove questo equilibrio è influenzato non solo dall'errore di classificazione.

Ma se rimaniamo all'interno del MOE, allora la valutazione NON è il profilo

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

"Più vicino al profitto" non è sinonimo di "sovrallenamento"?
Otteniamo un bellissimo equilibrio su un profitto casuale, perché la base è un valore di incremento casuale. Da dove deriva la bellezza dell'equilibrio?

L'equilibrio è la valutazione di TS nel terminale, dove questo equilibrio è influenzato non solo dall'errore di classificazione.

E se rimaniamo all'interno del MO, allora la valutazione NON è un profitto.

Più vicino al profitto - più vicino alle quotazioni, senza allenarsi su qualcosa di insignificante. Ci sono molti test di questo tipo su Internet e le peculiarità dei diversi MO sono note da tempo. Cosa è peggio e cosa è meglio.

Non riesco a capire dove si collochi l'estrazione delle regole nella gerarchia.