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

 
Alexey Burnakov:

Ancora una volta, ho anche dozzine di modelli, ho anche ritoccato i predittori e i parametri. E questi modelli vanno a un solido profitto per un periodo di 8 anni ciascuno! E questo è il periodo di prova. Ma quando i "migliori" modelli selezionati dal test sono testati da un campionamento ritardato, ci sono delle sorprese. E questo si chiama - crossvalidazione dell'adattamento del modello.

Per esempio, hai fatto una convalida su un campione in ritardo. Supponiamo che il modello sui dati differiti si sia fuso. Cosa fare in questo caso? Se iniziate a modificare di nuovo i parametri per passare la convalida sul campione in sospeso, essenzialmente includete i dati del campione in sospeso nella vostra convalida incrociata, e anche la convalida incrociata viene modificata. Questo può essere corretto aggiungendo un nuovo campione differito. E se il modello fallisce anche su questo? Dobbiamo adattare i parametri per passare anche il nuovo campionamento ritardato? È una corsa senza fine.

Includere un campione in differita nella validazione incrociata e creare un nuovo campione in differita non è la risposta, ma un ciclo infinito fino a quando si ha fortuna e il modello passa la validazione in differita. Allora puoi fermarti, ma questa non è una soluzione forex, è solo la fortuna che ti sorride, che comunque statisticamente sarebbe uno scarico.

Quindi la domanda è: diciamo che il modello sui dati in sospeso è crollato. Cosa fare in questo caso?

 
Dr.Trader:

Quindi la domanda è - diciamo che il modello sui dati in sospeso si è fuso. Cosa si fa in questo caso?

Ho pensato che quella domanda fosse troppo personale :)

Meglio così - se il vostro modello fallisce il test sul campione in sospeso, includete il campione in sospeso nella convalida incrociata e create un nuovo campione in sospeso? O lo fai in modo diverso?


Io, per esempio, prendo come base quello che San Sanych ha già ripetuto 1000 volte - bisogna valutare la qualità dei predittori. "Qualità" è un termine elastico. Io, per esempio, lo faccio attraverso tale crossvalidazione ed è piuttosto una selezione di predittori che di parametri del modello. Se il modello durante l'addestramento trova le stesse dipendenze nei dati in qualsiasi area - è un forte argomento che i predittori sono ok.
Non mi piace nel mio approccio che devo scambiare ensemble. Se le dipendenze sono costanti, basta allenare un modello sui predittori selezionati alla fine e troverà di nuovo le stesse dipendenze e potrà scambiarsi. Ma mi manca qualcosa nella selezione dei predittori, un modello fallisce.

 
Dr.Trader: qualità dei predittori....
Dall'esempio primitivo, segue che le proprietà dell'obiettivo sono altrettanto importanti...
 
Andrò anche oltre. La funzione obiettivo è un punto MOLTO importante quando si costruisce un modello, perché è la funzione obiettivo che aiuterà l'algoritmo a fare la divisione. Ho affrontato questo problema molte volte ma non l'ho ancora risolto, quindi ho lasciato il valore target di 50 pips. Appena sopra lo spread...
 
Alexey Burnakov:

Ancora una volta, anche io ho decine di modelli, sto anche armeggiando con predittori e parametri. E questi modelli vanno in solido più su un periodo di 8 anni ciascuno! E questo è il periodo di prova. Ma quando i "migliori" modelli selezionati dal test sono testati da un campionamento ritardato, ci sono delle sorprese. E questo si chiama - convalida incrociata del modello.

Quando è chiaro, la sperimentazione pura continua. Se non è chiaro, vedrai un calo multiplo della qualità nel mondo reale. Che è quello che si vede il 99% delle volte.

Tutto questo accade perché il mercato va contro le sue stesse statistiche mega spesso...

1) Prima ti mostrerò perché lo penso e lo proverò.

2) Poi spiegherò perché succede, la meccanica del processo

Dammi un paio d'ore...

Non darò soluzioni preconfezionate, perché io stesso non ne ho, ma la comprensione stessa del processo è qualcosa...

1)

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

La prima cosa che ho fatto è stato l'addestramento di due reti profonde con uscite probabilistiche, in realtà, qualsiasi rete andrà bene, la cosa principale è che l'uscita della rete non è una risposta di classe chiara - "1", "0" Cioè l'output sarà per esempio "0,13" e significherà che i dati attuali appartengono alla classe "1" con probabilità "0,13%".

Una rete l'ho allenata esclusivamente per comprare, l'altra esclusivamente per vendere.

Il segnale (target pound) per la vendita è il punto da cui c'è stato un calo di almeno lo 0 ,2% del prezzo,


й

Il target appare come "0000000000100000000000000" dove "1" è un'inversione ribassista e "0" non lo è.

Per un'inversione verso l'alto tutto è uguale, rispettivamente ...

Tutti i prezzi delle ultime tre candele OHLC sono statiusati come predittori e sono state costruite tutte le possibili combinazioni delle differenze tra loro

Quindi, le reti sono addestrate, prendiamo le previsioni della rete (le loro uscite) e disegniamo i grafici sotto il prezzo. I grafici sotto mostrano le uscite di due reti sia per comprare che per vendere. L'uscita della rete per esempio indica la probabilità dell'inversione al ribasso alla prossima candela. Vedere FIG. 1, lo stesso per il Buy.

Il verde indica un'uscita per comprare e il rosso un'uscita per vendere.

ф

Se guardate attentamente la FIG. 2 si può notare che il grafico del prezzo va contro queste probabilità, quando la probabilità di inversione verso l'alto è più alta della probabilità di inversione verso il basso (grafico verde è più alto del rosso) il prezzo scende sempre, anche se in realtà abbiamo insegnato alla rete il contrario, cerchiamo di presentare i dati in modo più dimostrativo. Per cominciare, costruiamo somme cumulative di uscite di acquisto e di vendita

Cumsum(buy.neural); Cumsum (sell.neural)

я

fig. 3

E ora costruiamo la differenza tra la somma cumulativa della rete di acquisto e la somma cumulativa della rete di vendita

Cumsum(buy.neural)- Cumsum (sell.neural)


ц

Come si può vedere in FIG. 4 dal grafico blu e dal grafico dei prezzi, il prezzo è completamente inversamente correlato alle previsioni della rete (grafico blu). Per renderlo ancora più chiaro, invertirò il segno del grafico blu.

Cumsum(buy.neural)- Cumsum (sell.neural)/ -1

к

Guardando FIG. 5 non abbiamo dubbi, il prezzo va contro le previsioni delle reti e anche noi possiamo fare una conclusione interessante che usando le reti neurali e le loro probabilità statistiche siamo in grado di ricostruire completamente il prezzo solo sulla base della conoscenza delle probabilità se l'inversione è fatta alla prossima candela o no.

È molto figo, ma in realtà è inutile perché il nostro grafico blu non ha capacità predittiva, non supera il prezzo ma gli sta dietro. Significa che in realtà non c'è differenza nel guardare il prezzo o il grafico blu, ma la meccanica del mercato è chiara- "se la probabilità di ribasso è superiore alla probabilità di rialzo, il prezzo salirà"...

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

Andare avanti....

Stavo addestrando un modello di markov nascosto SMM o HMM - hidden markov model

È un modello probabilistico applicato specialmente per dati non stazionari, si dice che possa essere applicato anche ai mercati...

Allo stesso modo sono stati costruiti due modelli, ma quello di destinazione non mostra inversioni ma semplicemente cattura la tendenza, quindi un modello identifica la tendenza al rialzo e dà una stima probabilistica, mentre l'altro modello mostra una probabilità di tendenza al ribasso.

н

Non fate caso ai mestieri, stavo sperimentando...

Così sotto abbiamo due vettori con le probabilità di un trend al rialzo verde e un trend al ribasso rosso , la linea nera è solo il picco di probabilità che il modello dà fuori, è solo la deviazione standard, più semplice ancora è la Bollinger

Quindi guarda - quando il modello inizia a produrre picchi di probabilità di qualche evento (andando oltre la linea nera verso il basso), fa il contrario...
Quindi, anche qui, abbiamo essenzialmente una mossa di prezzo contro le nostre stesse statistiche...

Ora pensiamo se il mercato è una bestia) con tale comportamento, gli algoritmi MO possono prevedere il mercato? Se infatti la RF, la rete, il SMM, ecc. fanno le loro previsioni in un modo o nell'altro statisticamente....

Fondamentalmentequesta è la risposta al perché il modello si rompe praticamente il secondo giorno dopo la sua ottimizzazione, anche se (l'ottimizzazione) è tre volte genetica e quattro volte procrosvalidata...

Cosa fare? non lo so ancora

 
mytarmailS:

1)

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

La prima cosa che ho fatto è stata quella di addestrare due reti profonde con uscite probabilistiche; in realtà, qualsiasi rete andrà bene, la cosa principale è che l'uscita della rete non è una risposta chiara della classe - "1", "0" Cioè l'output sarà per esempio "0,13" e significherà che i dati attuali appartengono alla classe "1" con probabilità "0,13%".

Una rete l'ho addestrata esclusivamente per comprare, l'altra esclusivamente per vendere.

Il segnale (target pound) per la vendita è il punto da cui c'è stato un calo di almeno lo 0 ,2% del prezzo,


Il target appare come "00000000001000000000000" dove "1" è un'inversione di vendita e "0" non lo è.

Per un'inversione verso l'alto tutto è uguale, rispettivamente ...

Tutti i prezzi delle ultime tre candele OHLC sono statiusati come predittori e sono state costruite tutte le possibili combinazioni delle differenze tra loro

Quindi, le reti vengono addestrate e noi prendiamo le previsioni della rete (le loro uscite) e disegniamo i grafici sotto il prezzo.

Se guardate attentamente la FIG. 2, potete vedere che il grafico dei prezzi va contro queste probabilità.

Guardando FIG. 5 non avete dubbi, il prezzo va contro le previsioni delle reti ed è anche interessante, utilizzando le reti neurali e le loro probabilità statistiche siamo in grado di ricostruire completamente il prezzo solo sulla base della conoscenza delle probabilità se l'inversione è prevista alla prossima candela o no.

Sono una persona intelligente che sviluppa e allena reti neurali di tutti i tipi, ma ancora non vede le cose semplici. Ho letto il tuo post e sono rimasto abbastanza sorpreso. Se ho capito bene, tu, più o meno, hai trovato tutte le diminuzioni di prezzo dello 0,2% dopo un certo massimo, poi hai preso tre candele vicino a quel massimo e hai eseguito alcune manipolazioni con i loro prezzi e infine li hai ridotti a una certa probabilità con l'aiuto di una rete neurale. Ma mi scusi, non crede che un tale approccio sia troppo primitivo? :) State scavando nei posti sbagliati. Ecco perché il risultato è l'opposto della realtà. Caratterizzerei il vostro approccio in questo modo: state cercando di prendere 3 pixel da un'immagine FullHD e basandovi su quei tre pixel potete farvi un'idea dell'intera immagine. OK, non l'intera immagine, ma qual è la probabilità di prevedere correttamente almeno il 10% dell'area dell'immagine? Spero che il mio esempio sia chiaro. Non è necessario guardare i pixel per vedere l'immagine. In altre parole, non hai bisogno di guardare le singole barre per capire il grafico, devi guardare l'intero grafico. E la soluzione del problema si trova più nel regno della geometria che dell'algebra, della fisica o della biologia, per esempio. Anche se, quando leggo alcune delle ricerche che le persone fanno qui, ho la forte sensazione che stiano cercando di comprendere la struttura umana usando la geografia. :)
 

BlackTomcat:
1) Ho letto il tuo post e sono rimasto abbastanza sorpreso. Se ho capito bene,

2) portandoli infine ad una certa probabilità con l'aiuto di una rete neurale. Ma scusate, non pensate anche voi che un tale approccio sia troppo primitivo? :) State scavando nel posto sbagliato. Ecco perché il risultato è esattamente l'opposto della realtà.

3) Caratterizzerei il tuo approccio in questo modo: stai cercando di prendere 3 pixel da un'immagine FullHD e farti un'idea dell'intera immagine basandoti su quei tre pixel. OK, non l'intera immagine, ma qual è la probabilità di prevedere correttamente almeno il 10% dell'area dell'immagine? Spero che il mio esempio sia chiaro. Non è necessario guardare i pixel per vedere l'immagine.

4) In altre parole, non c'è bisogno di guardare le singole barre per capire il grafico, bisogna guardare l'intero grafico. E la soluzione del problema si trova più nel regno della geometria che dell'algebra, della fisica o della biologia, per esempio. Anche se, quando leggo alcune delle ricerche che le persone fanno qui, ho la forte sensazione che stiano cercando di comprendere la struttura umana usando la geografia. :)

1) Giusto...

2) ok, ma allora perché le probabilità sono opposte, dovrebbe essere una semplice casualità e non una correlazione inversa

3) Sono d'accordo, ho bisogno di prendere il massimo di informazioni nella massima forma compressa, è per questo che ho parlato ultimamente del profilo del volume, o di alcune alternative...

Hai qualche suggerimento su come presentare i dati della rete? per favore, condividi, è per questo che siamo tutti qui

4) Sono assolutamente d'accordo con te, sono stato perplesso su come farlo, per esempio, ho bisogno di memorizzare tutti i livelli che cadono nel range del prezzo corrente, come faccio? Come faccio ad alimentare i livelli nella rete? Inoltre il loro numero su ogni candela sarà diverso, non è un compito banale, per me è solo ...

p.s. per favore non citare tutto il mio post, bastano poche parole per capire che stai parlando con me, cancella le cose inutili

 
BlackTomcat:
Persone intelligenti, sviluppano e addestrano reti neurali, ma non vedono le cose semplici. Ho letto il tuo post e sono rimasto abbastanza sorpreso. Se ho capito bene, tu, all'incirca, hai trovato tutte le diminuzioni di prezzo dello 0,2% dopo un certo massimo, poi hai preso tre candele vicino a quel massimo e hai eseguito alcune manipolazioni con i loro prezzi e infine li hai ridotti a una certa probabilità con l'aiuto di una rete neurale. Ma mi scusi, non crede che un tale approccio sia troppo primitivo? :) State scavando nei posti sbagliati. Ecco perché il risultato è l'opposto della realtà. Caratterizzerei il vostro approccio in questo modo: state cercando di prendere 3 pixel da un'immagine FullHD e di farvi un'idea dell'intera immagine basata su quei tre pixel. OK, non l'intera immagine, ma qual è la probabilità di prevedere correttamente almeno il 10% dell'area dell'immagine? Spero che il mio esempio sia chiaro. Non è necessario guardare i pixel per vedere l'immagine. In altre parole, non hai bisogno di guardare le singole barre per capire il grafico, devi guardare l'intero grafico. E la soluzione del problema si trova più nel regno della geometria che dell'algebra, della fisica o della biologia, per esempio. Anche se, quando leggo alcune delle ricerche che le persone fanno qui, ho la forte sensazione che stiano cercando di comprendere la struttura umana usando la geografia. :)

Sono d'accordo. Bisogna guardare l'intero quadro.

Ma questo va bene solo per un'immagine statica. Cioè, possiamo dividere condizionatamente l'intero quadro in 100 parti, imparare da 70 parti e ottenere eccellenti capacità predittive da 30. Questo è più o meno quello che facciamo con la previsione sul mercato. Allora qual è il problema? Perché ci sono problemi già in tempo reale?

E la fregatura è che l'immagine non è statica. È un film. Naturalmente, avendo studiato e imparato a fare previsioni in uno dei fotogrammi di un film, è inutile prevedere le zone limitrofe dell'immagine nella vita reale - il prossimo fotogramma è già diverso! E nessuno dei fotogrammi del film ha copie assolute e anche se si trovano fotogrammi simili nel futuro come nel passato, quei fotogrammi sono seguiti da altri, non gli stessi che hanno seguito un fotogramma simile nel passato. Questo è il problema.

Così, se si guardano i singoli fotogrammi di un film, si può anche concludere che i fotogrammi sono casuali, proprio come molti sono convinti che il mercato sia molto casuale se non al 100%. Sappiamo che guardando un film ha senso, possiamo persino prevedere cosa succederà alla fine del film! Quindi qual è il punto? - Forse è perché dobbiamo guardare più in là, per indagare modelli più globali, che non cambiano mai - per esempio, una volta ho controllato quante % in media il prezzo torna indietro, e bene, è risultato circa il 30% (se la memoria non mi inganna), ma il punto è che questa cifra è quasi la stessa per tutti i TF e per tutti gli strumenti (coppie di valute e metalli, per CFD e altri non ho controllato, ma sembra che sia la stessa)! Questo è incredibile. Questo è esattamente il tipo di modelli costanti da usare, ma spesso è più facile farlo senza reti neurali, impalcature, ecc., perché per usare il MO bisogna essere in grado di identificare il significato nel film, e questo non è facile, se non possibile del tutto.

 
Andrey Dik:

E la fregatura è che l'immagine non è statica. È un film.

Ecco un'altra analogia.

Quasi tutti hanno una tastiera intelligente sul loro smartphone. Se si digita una parola, la tastiera suggerisce la parola successiva. Dipende dalla parola e dalle parole precedenti digitate. L'ho provato, si può anche digitare un testo abbastanza significativo dalle parole suggerite dalla tastiera. Le parole sono modelli, un gruppo di parole è un gruppo di modelli.

Ma questa tecnologia sarà impotente nel mercato, proprio come i MO qui considerati, perché nel mercato le "parole" cambiano nel tempo (l'ordine e la combinazione delle singole lettere), e il significato delle singole "parole" cambia. Rimane solo un qualche significato superiore di tutto il testo, che naturalmente non è disponibile per noi.

Ora la gente mi chiederà: cosa facciamo adesso? - Non so cosa fare con MO, il risultato farà comunque schifo.

O anche qualcuno dirà: "Non sai proprio cucinare MO!". - Credo di no. Ma chi sa come? Chi è stato in grado di usare il MO sul mercato? Qualcuno conosce qualche esempio di successo? Sì, ora citeranno l'esempio di Batter, ma anche lui ha floppato nel tempo seguente...

 
mytarmailS:

2) ok, ma allora perché la probabilità è opposta, infatti dovrebbe essere una semplice casualità e non una correlazione inversa

Avete qualche suggerimento su come rappresentare i dati di rete? per favore, condividetelo, siamo tutti qui per questo

Mi scuso per una citazione così grande, ma sto scrivendo dal mio telefono al momento e le opzioni di editing sono limitate qui. Puoi iniziare a schiacciare una citazione e poi non essere in grado di tornare a un campo pulito per il tuo testo. Questo è facile da risolvere su un PC, ma sarà un problema su un telefono.
Sul punto 2 - sono d'accordo con te che dovrebbe essere un random completo, ma in effetti non sono sicuro che tu abbia il periodo del test forward su cui hai ottenuto il risultato inverso segue immediatamente dopo il periodo su cui è stato fatto l'allenamento. C'è un intervallo di tempo tra questi periodi? Di solito il modello (se era sul mercato) smette di funzionare gradualmente: il grafico dell'equilibrio nel tester diminuisce la sua pendenza prima, e poi cade. Il modello si esaurisce, viene riconosciuto e molte persone iniziano a sfruttarlo. Per questo motivo, si trasforma in un modello inverso. Tuttavia, se c'era una logica (di mercato) dietro il modello, allora dopo un po' potrebbe ricominciare a funzionare. Ma qui mi sembra giusto quanto segue: più a lungo la regolarità ha funzionato prima, più lungo sarà il periodo di "oblio". Ma non l'ho ancora testato a fondo.
Non lavoro con le reti neurali, quindi non ho idea di come preparare i dati per allenarle. I metodi grafici(geometrici) sono ben riconosciuti a occhio, ma sono difficili da formalizzare. In questo momento sto lavorando su un TS che usa metodi grafici. Secondo me, se ci sono dei modelli di lavoro, è qui.
Vorrei fare qualche altro commento al mio post precedente. Lì mi è sembrato di aver inasprito la mia analisi delle singole barre. Ma in realtà non è così. L'analisi delle singole barre ha il diritto di esistere, ma queste barre chiave di solito non si trovano nella zona dei top.
Motivazione: