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

 

Ricordo che prima tali "pattern" di convoluzione mi sembravano nient'altro che un graal, hrenFx ha anche esposto un tale indicatore 10 anni fa, ho anche fatto la mia versione, ma... non funziona davvero, almeno non per le varianti semplici con voto di convoluzione di diversi TF.

 
-Aleks-:

Capisco che non può farlo da solo - ci sono segnali per entrare nella storia e ci sono un certo numero di indicatori che devono essere classificati, ma il risultato del lavoro di NS non sarà la conferma del segnale, ma la generazione del segnale stesso. Scusa, forse è stupido, ma con la mia scarsa conoscenza del soggetto non vedo alcuna ragione per cui non sia possibile - dopo aver letto il tuo articolo.

Riguardo alla ZZ, non capisco - una ZZ regolare mostra l'estremo attuale...

E ancora, una RZ è per la generazione del segnale, non per la sua conferma - cioè c'è sempre un segnale - vendi quando il mercato sta salendo, ma il NS deve confermarlo, basandosi sul modello delle variazioni passate.

Ho capito bene che il vantaggio di NS è che il segnale può essere confermato o rifiutato da un certo numero di modelli, che sono raccolti sullo storico, non devono contraddirsi a vicenda e sono controllati quando appare un segnale di trading?



È una lunga spiegazione, in generale ZZ non è adatto. Questo ve lo dico con certezza. E un'altra cosa:

Dobbiamo decidere cosa vogliamo fare. Prevedere o classificare. Gli approcci sono totalmente diversi, ma hanno lo stesso obiettivo ....

Date un'altra occhiata all'articolo. La strategia di base è necessaria solo per determinare il momento in cui analizziamo il mercato. Cioè, l'evento si è verificato, iniziamo l'analisi. L'evento può essere qualsiasi cosa.

Supponiamo che i vagoni si siano incrociati, che l'evento si sia verificato e che si inizi l'analisi.

Per certi versi hai ragione. Il computer nazionale stesso produce segnali, ma tenendo conto che lavora al momento della formazione del segnale della strategia di base. Si scopre che l'NS è una conferma o una confutazione del segnale della strategia sottostante. Quindi è così....

 
elibrario:
Prima carico la storia di 375000 barre (per M1 è un anno) in un array, cioè nella RAM (circa 30-60 sec), poi impiega da 30 a 700ms per passarci attraverso a seconda della profondità del modello.

Ancora una volta dico come si dovrebbe affrontare questo compito. Credo che ci siano dei pesci....

 
Mihail Marchukajtes:

Ma addestreremo la rete per un modello. Quei modelli che aumentano il mercato segneremo 1, quelli che diminuiscono segneremo 0. Tutto quello che dobbiamo fare ora è allenare NS.

Nella mia esperienza è meglio non farlo. Se conosci gli incrementi di prezzo per la prossima barra, allora è meglio usarli come obiettivo per la neuronica. Dopo tutto gli incrementi sono anche alcune informazioni che possono essere utili nella formazione, rispetto a due sole classi 0 e 1. Anche se poi le previsioni di regressione risultano ancora in due classi (comprare/vendere), allora è meglio arrotondare il risultato della regressione piuttosto che buttare via delle informazioni in fase di formazione.

Per esempio un modello di regressione più o meno funzionante per il forex si rompe, se sostituisco il modello con un modello di classificazione (in R la transizione tra classificazione e regressione è in realtà molto semplice, la classificazione è di solito attivata automaticamente se tutti i target sono arrotondati a 0 e 1, o se il target ha un fattore di tipo ).

 
elibrario:

Ho fatto un indicatore che cerca modelli simili nella storia, ecco la lettura attuale su M1 EURUSD. I 10 più simili dell'anno. Ho leggermente rielaborato l'esempio dall'articolo https://www.mql5.com/ru/articles/197 - invece di una variante più simile prendo N varianti più simili e faccio la media della risposta a barre. Per la ricerca del modello non uso solo un prezzo di chiusura, ma il canale in cui il prezzo è stato durante questo periodo, cioè basso e alto. Aumento Low per il valore dello spread.

Come si può vedere, questo modello nella storia ha dato sia movimenti verso il basso che verso l'alto (linee grigie e rosso scuro). Il movimento medio dei prezzi (linee bianche e rosse) è quasi nullo (leggermente più ampio dello spread), non possiamo fare trading con una tale previsione, spread, swap e commissioni ci faranno perdere. A volte ci sono dei modelli con una buona previsione da un lato, ma sulla prossima barra la previsione può essere invertita. Se in questo caso si inverte la posizione, allora lo spread e la commissione renderanno di nuovo non redditizio il primo trade.
La previsione dell'indicatore può essere paragonata alla regressione NS, ma dalla regressione è facile fare un classificatore. Oltre a Low e High si può aggiungere qualsiasi indicatore.

Se ho capito bene le reti neurali fanno essenzialmente la stessa cosa di questo indicatore di mediazione, cioè cercano letture di predittori simili (nel mio caso solo il prezzo) sulla storia (per esempio un anno) e fanno previsioni medie.

Ha senso usare NS se c'è un modo più semplice - basta guardare la storia? Qual è il loro vantaggio?

PS

Bene, il fatto che il prezzo sia andato in entrambe le direzioni con lo stesso pattern può essere considerato o un processo casuale o un trucco da burattino che cerca di rompere le strategie sia dei cercatori di pattern direttamente sui grafici che degli utenti di NS per fare previsioni peggiori, o meglio per ridurre la previsione a circa zero, come nella figura.

Si stanno cercando i modelli per correlazione? se sì, vuoto

attuale settimana di trading mio NS (test), circa un altro mese di test e sarà possibile trasferire al denaro normale. Totale: un semplice NS robusto è stato scritto in un mese.


 
Maxim Dmitrievsky:

Si cercano modelli per correlazione? se sì, vuoto

Per correlazione, cioè per la differenza tra i prezzi su ogni barra del modello cercato. Chiamiamolo l'errore sulla barra, poi sommiamo gli errori per tutte le barre e li ordiniamo sull'errore risultante e troviamo le N migliori - varianti più simili.
Non vedo altre opzioni per confrontare 2 grafici di prezzo. Quali altre opzioni ci sono...?
 
Vasily Perepelkin:

Questa è la cosa principale che insegno ai miei studenti, un uomo è di principio, non si piega, se decide - poi alla morte. Avevo uno studente (Maxim) che non aveva la forza, gli mancava il carattere, era troppo effeminato, tremava, ma tu riuscirai - sei un uomo!



 
elibrario:
Per correlazione, cioè per la differenza tra il prezzo su ogni barra del modello cercato. Chiamiamolo errore sulla barra, poi riassumiamo gli errori per tutte le barre, ordiniamo per l'errore risultante e troviamo le N migliori, - le varianti più simili.
Non vedo altre opzioni per confrontare 2 grafici di prezzo. Quali altre opzioni ci sono...?

Come minimo, abbiamo bisogno di fare trasformazioni affini dei grafici, perché i modelli sono a diversi angoli di pendenza (strutture auto-affini), e in secondo luogo, la ricerca su diversi timeframe. Ma tutto questo non aiuta quando si usa la correlazione - trova modelli molto dissimili. La NS convergente (computer vision) sarebbe meglio per questo.

Volevo sperimentare, ma non ci sono ancora arrivato.

 
Mihail Marchukajtes:

Per quanto riguarda la predizione, è un argomento molto interessante. Così abbiamo un paternoster, trovato nel retro della storia. Esattamente lo stesso di adesso. Tuttavia, la reazione del mercato a questo modello non è chiara. C'è su e c'è giù.

Come si può vedere dai grafici, lo stesso schema è stato trovato diverse volte, quindi abbiamo diversi risultati possibili. È qui che la classificazione deve essere attivata. Ma addestreremo la rete per un modello. Quei modelli che hanno causato la crescita del mercato segneremo 1, segneremo 0 per quelli che hanno causato la diminuzione del mercato. Quando appare questo modello, alimenteremo i valori di ingresso in quel momento e NS dirà se è un modello per la crescita o per il declino del mercato.

Non sarà possibile dividere gli N modelli ottenuti dalla storia, perché sono massimamente simili al modello desiderato e hanno differenze minime tra loro.
Se volete minimizzare le differenze - non dovreste cercare 10, ma 2-3 modelli più simili, ma la predizione per 3 modelli avrà un errore di predizione = 33%, per 10 modelli 10%, per 100 modelli 1% circa (penso che nel calcolo dell'errore dovrebbe includere il grado di errore di ogni modello trovato dall'originale).

La questione di trovare il numero ottimale di modelli su cui fare una previsione può essere lasciata all'ottimizzatore.

 
elibrario:

Non c'è modo di separare i modelli N dalla storia, perché sono il più possibile simili al modello desiderato e hanno differenze minime tra loro.
Se volete minimizzare le differenze, dovreste cercare 2-3 modelli più simili, ma la predizione per 3 modelli avrà un errore di predizione = 33%, per 10 modelli 10%, per 100 modelli 1% circa (penso che nel calcolo dell'errore dovrebbe includere l'errore in ogni modello trovato dall'originale).

La questione di trovare il numero ottimale di modelli, con cui costruire la predizione, può essere lasciata all'ottimizzatore.

Questo è un approccio inutile se applicato nella sua forma attuale, guarda verso l'invarianza di scala (scaling) e le trasformazioni affini. Il fatto che i modelli siano simili non dice nulla, dobbiamo considerare la posizione reciproca di diversi modelli, una sorta di convalida incrociata, più guardare la loro posizione nel modello in ordine di grandezza. Ho fatto tutto, ma non mi è piaciuto molto - perché c'è di mezzo la correlazione, bisogna sbarazzarsene e passare la ricerca della convoluzione NS.