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

[Eliminato]  
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.
[Eliminato]  
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

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

"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.