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

 

Solo alcune idee:

Provato a fare puramente in MQL4 un tale sistema:

formato un vettore di input (solo la differenza tra i prezzi con un ritardo)

formate gli ingressi e le uscite ideali (ci sono molti metodi, ho preso quello che mi è piaciuto di più).

Tutto questo per barre di 5 minuti, per esempio.

Poi ho riempito l'array ad ogni nuova barra e ho anche cercato di trovare modelli simili dal passato e calcolare la percentuale di entrate per comprare e vendere in una sfera multidimensionale di un raggio variabile. Questa cosa è stata testata per molto tempo. I risultati erano instabili.

Voglio provare di nuovo in R. Cioè, è una ricerca di entrata e uscita per distanza euclidea.

 
mytarmailS:

Bene, diciamo che il mercato corrisponde al cluster № 5, la prossima candela sarà il cluster № 18 e non ci darà nulla perché non avremo il tempo di negoziare il cluster № 5, e in SMM c'è un concetto di stato, lo stato può durare un certo tempo

O forse non capisco il suo pensiero?

I cluster sono sequenze di file lunghe (anche 100 candele). Si può fare un mucchio di ingressi sulla base di queste lunghe sequenze. E a un certo punto il sistema passa dal cluster 5 al cluster 45, ma avviene, per così dire, senza intoppi.
 
Alexey Burnakov:

Solo alcune idee:

Ho provato a fare un tale sistema puramente in MQL4:

formato un vettore di input (solo la differenza tra i prezzi con un ritardo)

formate gli ingressi e le uscite ideali (ci sono molti metodi, ho preso quello che mi è piaciuto di più).

Tutto questo per barre di 5 minuti, per esempio.

Poi ho riempito l'array ad ogni nuova barra e ho anche cercato di trovare modelli simili dal passato e calcolare la percentuale di entrate per comprare e vendere in una sfera multidimensionale di un raggio variabile. Questa cosa è stata testata per molto tempo. I risultati erano instabili.

Voglio provare di nuovo in R. Cioè la ricerca dell'entrata e dell'uscita per distanza euclidea.

Ho anche fatto la stessa cosa, anche la vicinanza ha cercato attraverso Euclide e la correlazione di Pearson, Euclide dovrebbe essere meno di 0,27 e la correlazione più di 0.97, cioè i modelli erano quasi uno-a-uno, le somiglianze sono state cercate nella serie con tre candele per tutti i 4 prezzi OHLC + volume + volatilità, i prezzi sono normali, solo scalati e centrati (scala, centro) risultando, come ho scritto prima, il prezzo va contro le mie stesse previsioni con correlazione inversa -0,6-0,9, ho paura che anche la convalida incrociata non aiuterà qui, almeno nello spazio euclideo, forse questa è la risposta al perché il 99% dei commercianti perde i suoi soldi
 
Alexey Burnakov:
Clustering di sequenze di file lunghe (anche 100 candele). È possibile fare un mucchio di ingressi basati su queste lunghe sequenze. Ad un certo momento il sistema passa dal cluster 5 al cluster 45, ma avviene per così dire lentamente.
Il fatto è che se facciamo il cluster 5 sulla sequenza di 100 candele, sappiamo che è il cluster 5 su 101 candele del cluster 5, cioè abbiamo perso 100 candele) E in SMM, essendo sul cluster #45, sappiamo già che probabilmente andremo al cluster #5
 

E un'altra domanda per la R

libreria(kza)

DAT <- rnorm(1000)

KZP <- kzp(DAT,m=100,k=3)

sommario(KZP ,cifre=2,top=3)


come posso tirarlo fuori dal "sommario" http://prntscr.com/bhtlo9 in modo da poter lavorare con queste cifre

Скриншот
Скриншот
  • prnt.sc
Снято с помощью Lightshot
 
Dr.Trader:


Ho provato a leggere l'articolo su p-bloggers, ma siccome non conosco l'inglese non capisco niente, puoi spiegare in un linguaggio semplice qual è l'essenza di questo metodo di selezione, come funziona?

Puramente intuitivo e basato sui risultati dei primi test, sospetto che questo metodo sia molto simile al metodo delle componenti principali, e forse anche lo stesso...

Prima prova, ho avuto un campione di 30 predittori, ho addestrato l'errore RF e ho ottenuto la precisione: 0.6511

poi li ho selezionati usando il tuo metodo

abbiamo ottenuto 14 predittori, l'errore era Accuratezza: 0.6568

Infatti, abbiamo eliminato metà dei predittori e migliorato un po' il risultato della previsione, il che non è male

Proverò altri set di dati.....

Un'altra domanda, perché ottengo un errore del 3-6% sui dati di convalida quando carico gli stessi dati in rattle?

 
mytarmailS:
Il fatto è che se facciamo un cluster su una sequenza di 100 candele allora sappiamo che è il cluster #5 su 101 candele del cluster #5, cioè 100 candele che abbiamo soffiato) E in SMM essendo sul cluster #45 sappiamo già che probabilmente andremo al cluster #5
Non abbiamo perso nulla. Alla prima misurazione scopriremo il cluster, poi ci sarà una serie di cambiamenti di cluster. Nei punti di transizione da cluster a cluster, possiamo costruire una matrice quadrata e cambiare trade MO: entrare in acquisto sul cluster n, chiudere trade sul cluster m. Poi la stessa matrice per la vendita. Tutte le varianti stanno solo passando. E possiamo variare i parametri di clustering e guardare il risultato nel ciclo.
 
mytarmailS:

Ho provato a leggere l'articolo su p-bloggers, ma siccome non conosco l'inglese non capisco niente, puoi spiegare in un linguaggio semplice qual è l'essenza di questo metodo di selezione, come funziona?

Puramente intuitivo e basato sui risultati dei primi test, sospetto che questo metodo sia molto simile al metodo delle componenti principali, e forse anche lo stesso...

Prima prova, ho avuto un campione di 30 predittori, ho addestrato l'errore RF e ho ottenuto la precisione: 0.6511

poi li ho selezionati usando il tuo metodo

abbiamo ottenuto 14 predittori, l'errore era Accuratezza: 0.6568

Infatti, ci siamo sbarazzati della metà dei predittori e abbiamo migliorato leggermente il risultato della previsione, che non è male

Proverò altri set di dati.....

Un'altra domanda, perché se usiamo gli stessi dati in rattle allora l'errore è del 3-6% sui dati di convalida, come faccio a saperlo?

1. è il metodo delle componenti principali con qualche modifica che viene utilizzato.

2. l'idea principale dell'uso di questo metodo non è quella di migliorare la precisione della previsione. L'idea principale è che la precisione di previsione risultante rimarrebbe approssimativamente la stessa nel futuro. In pratica, e lo sappiamo dal tester, possiamo quasi sempre ottenere dati sorprendenti da Expert Advisors attraverso l'ottimizzazione. Tuttavia, con la monotonia monotona in futuro, questi grails prosciugano il depo. Questo accade perché durante l'allenamento l'Expert Advisor impara alcune particolarità che non si ripetono in futuro. I predittori che non hanno nulla a che fare con la variabile obiettivo, cioè il rumore, sono particolarmente utili come tali singolarità. Quando si ottimizza o si adatta il modello a R è sempre possibile estrarre da questo rumore alcuni valori che possono migliorare radicalmente le prestazioni. Ma non accadrà in futuro e l'Expert Advisor fallirà.

Ancora una volta: si utilizza uno strumento che permette di eliminare le differenze nelle prestazioni del modello sul campione di allenamento e sulle quotazioni future. Per come la vedo io, solo risolvendo il problema della riqualificazione possiamo andare avanti.

3. un errore inferiore al 10% e inoltre il 5% è una forte prova che il modello è sovrallenato. E l'overtraining del modello è causato dall'insieme dei predittori di input, non dal modello stesso.

 
SanSanych Fomenko:


3. un errore inferiore al 10%, molto meno del 5%, è una chiara prova che il modello è sovrallenato. E l'overfitting del modello è dovuto all'insieme dei predittori di input, non al modello stesso.

La domanda non è perché i risultati sono diversi in R e rattle sugli stessi dati e lo stesso modello

Seconda domanda: che senso ha controllare un modello "fuori campione" su rattle se mostra l'inferno

 
mytarmailS:

La domanda non è perché ci sono risultati diversi in R e rattle sugli stessi dati e lo stesso modello

Seconda domanda: che senso ha controllare il modello "fuori campione" su rattle se mostra l'inferno

Probabilmente avete diversi parametri di impalcatura in r e rattle, da cui i diversi risultati. In rattle stesso si può anche cambiare il numero di alberi e di variabili.

E il tuo sonaglio ha il 34% di errore sui dati di allenamento e il 3% di errore sui dati di convalida? C'è qualcosa di sbagliato nei dati di convalida, o in qualche modo esisteva già nei dati di addestramento, o avete un set di dati molto piccolo ed è semplicemente successo così.