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

 

Ho giocato un po' con il neurone di convoluzione. Finora non ha funzionato, ma almeno ho capito come prepararlo e prevederlo. Ecco un semplice codice con commenti e una tabella per il test.

Ci sono due strati di convoluzione e uno strato nascosto normale. Il modello addestrato finisce per produrre sempre "1" in uscita (comprare). L'idea è di avere decine, non 2 strati di convoluzione, e poi settimane per allenarsi, e non c'è alcuna garanzia di successo. Ma vale la pena provare.

Ho reimpostato forex_mxnet.txt, c'era un errore, per una funzione softmax il numero di uscite sull'ultimo strato dovrebbe essere uguale al numero di classi. L'opzione con regressione in questo caso non è assolutamente possibile.

File:
eurusd_h1.zip  30 kb
forex_mxnet.txt  20 kb
 
Dr.Trader:

1) Non sono sicuro di cosa intendi per "clustering". Di solito non si raggruppa un particolare predittore, ma se ne prendono una dozzina, e si trovano aree nello spazio dove questi punti si raggruppano. Per esempio nell'immagine qui sotto, avendo due predittori, il clustering in 2 cluster darà solo cluster blu e rossi.

2) Forse stai parlando di modelli? Modello verde - il prezzo scende e poi sale. Giallo: il prezzo sale dal basso. Rosso: su-> giù. Hai capito bene?


Inizialmente non sappiamo quali predittori sono buoni e quali cattivi, se li raggruppiamo tutti insieme in un modello (stocastico+rsi+masd.......) = cluster 1,2,3,4,5..... allora terremo conto anche dei predittori inutili, non sapremo nemmeno che sono inutili...

Abbiamo bisogno di raggruppare ogni predittore

K1 = (stocastico) = cluster 1,2,3,4,5....

K2 = (rci) = cluster 1,2,3,4,5....

K3 = (massa) = cluster 1,2,3,4,5....

poi cerchiamo le combinazioni per numero di cluster tra le combinazioni di modelli

К1

K1 e K2

K2 e K3

K1 e K3

K1 e K2 e K3

2) Corretto, in questo contesto, cluster e pattern sono la stessa cosa

 
mytarmailS:

I cluster e i modelli sono diversi. I cluster su un vettore sono intervalli, cioè la lista di tutti i valori di indicatori ammissibili è divisa in diverse zone. Ma in questo caso gli intervalli 2 e 3 della tua foto sono la stessa cosa.

Ma se il tuo secondo e terzo cluster sono necessariamente cose diverse, allora non sono più cluster, ma modelli.

 
Dr.Trader:

I cluster e i modelli sono diversi. I cluster su un vettore sono intervalli, cioè la lista di tutti i valori di indicatori ammissibili è divisa in diverse zone. Ma in questo caso gli intervalli 2 e 3 della tua foto sono la stessa cosa.

Ma se il vostro secondo e terzo cluster sono necessariamente cose diverse, non sono più cluster, ma modelli.

Se raggruppiamo non l'ultimo valore dell'indicatore, ma, diciamo, 10 ultimi valori nella finestra scorrevole, otteniamo un cluster con un certo numero che considera sia le caratteristiche numeriche che geometriche dell'indicatore (pendenze ecc.)

Cos'è un cluster o un modello?

Ho risposto alla sua domanda o non ho capito la domanda? :)

 
mytarmailS:

Ho risposto alla tua domanda o ho frainteso la domanda? :)

Questo è sì, abbastanza clustering, allora va bene.
 

Qui è dove guardo come il comitato di tutti i modelli disponibili si comporta sulla convalida rispetto alle approssimazioni ingenue: solo acquisto, solo vendita, direzioni casuali.

Bai è in leggero vantaggio su questo campione.

C'è un altro campione ritardato in avanti per convalidare il comitato poco abbinato. È possibile che la vendita sia migliore. Ma ciò che conta è come si comporta il comitato dei modelli...

Correlazione con lo schema che ho dato:

 
Alexey Burnakov:

Bai è leggermente in vantaggio su questo campione.

Se il grafico del prezzo sta salendo in quel timeframe, allora statisticamente sarà più redditizio a volte aprire un'operazione di acquisto, tenerla e chiuderla. Non che sia "redditizio", ma sarà una perdita minore rispetto all'aprire un ordine di vendita e tenerlo per qualche tempo. Questo è il motivo per cui buy-only e sell-only sono così splendidamente simmetrici intorno ai trade casuali. Non è il modello in sé che scoppia, ma il prezzo che lo accompagna con successo.
 
Dr.Trader:
Se il grafico del prezzo sta salendo in quel lasso di tempo, statisticamente sarà più redditizio a volte aprire un'operazione di acquisto, tenere e chiudere. Non che sia "redditizio", solo la perdita sarà minore rispetto a quella che si avrebbe se si aprisse a caso un'operazione di vendita e la si tenesse per un po'. Questo è il motivo per cui buy-only e sell-only sono così splendidamente simmetrici intorno ai trade casuali. Non è il modello in sé che tira avanti, è solo il prezzo che lo accompagna con successo.
Ecco di cosa sto parlando. Sia la vendita che l'acquisto e le compravendite casuali sono state fatte senza uno schema... Ma la tendenza stava salendo e l'acquisto è migliore contro il resto del casuale.

E le offerte sui modelli formati sono verdi... In questo campione sono in testa. Questo particolare obiettivo è stato scelto perché i modelli stanno in media andando verso il lato positivo in questo campione, che non è stato coinvolto né nella formazione né nella Pattern Selection. Poi ci sarà la messa a punto e la convalida della commissione. E userò l'ultimo campione ritardato solo una volta in tutto lo studio.

PS ) Tutto compreso lo spread. Pertanto, la casualità è distribuita sotto zero.
 

Sembra buono in generale, mi chiedo cosa succederà alla fine.

Sulla commissione - ho postato alcuni esempi, ma ci sono modelli che usano la regressione con arrotondamento per classificare, e non è così chiaro lì. Ho provato due modi diversi di combinare i voti:

1) arrotondare tutto a classi, e prendere la classe che ottiene più voti.
Cioè avere una previsione per 4 barre da tre modelli
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) arrotonderei ulteriormente alle classi
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) , e il vettore finale con le previsioni sarebbe c(0, 1, 1, 0) per numero di voti.

2) l'altra opzione è trovare subito il risultato medio, e solo dopo arrotondare alle classi
il risultato sarebbe c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3)
o (0,2666667, 0,4000000, 0,5333333, 0,4000000), o
c(0, 0, 1, 0)

Puoi vedere che il risultato è diverso, e dipende da quale passo arrotondare. Non so quale sia più standard, ma penso che il secondo metodo funzioni meglio con i nuovi dati.
 
Alexey Burnakov:

Qui è dove guardo come il comitato di tutti i modelli disponibili si comporta sulla convalida rispetto alle approssimazioni ingenue: solo acquisto, solo vendita, direzioni casuali.

Bai è in leggero vantaggio su questo campione.

C'è un altro campione ritardato in avanti per convalidare il comitato poco abbinato. È possibile che la vendita sia migliore. Ma ciò che conta è come si comporta il comitato dei modelli...

Correlazione con lo schema che ho dato:

La cosa principale è che il mio strumento di base Sequent Demark ha alcune caratteristiche abbastanza interessanti, una delle quali è la possibilità di acquistare. Ci sono più segnali di acquisto e il modello si muove meglio; ci sono meno segnali di vendita e il modello si muove peggio. Penso che mostri una tendenza globale al ribasso, quando il quadro cambierà al contrario, ci saranno le precondizioni per comprare, intendo la sterlina naturalmente, e sugli ebrei tale anche può essere visto a una volta....