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

 
Alexey Burnakov:

Non hai idea di come funzioni il tuo modello su lunghi periodi: non c'è un grande test in avanti e un test in avanti a piedi. Il vostro modello può essere un insieme di rumori appresi che avete scambiato per segnali in alcune immagini ben scelte.

Ti suggerisco di riconsiderare il tuo approccio e di fare prima dei test approfonditi. Vedrai dei avvallamenti e delle montagne e forse, ma è improbabile, batterai un po' l'aspettativa di maturità zero. E tutto questo può essere fatto prima di iniziare a perdere denaro reale.

Soprattutto sono sorpreso dalla vostra fiducia nel mio sistema. Bene, vediamo alla fine della settimana vi mostrerò come funziona ... ok?
 
Mihail Marchukajtes:
Ciò che sorprende di più è la vostra fiducia nel mio sistema. Bene, vediamo alla fine della settimana, vi mostrerò come funziona... ok?

Non farlo. Una settimana più, una settimana meno. Non è un'indicazione.

Non sono sicuro al 100% del vostro sistema. C'è un dato di fatto: non si sa come si comporterà su un periodo più o meno lungo. Questo è un thread per condividere esperienze. Ecco la mia esperienza che dice che i tuoi risultati finora possono essere o un colpo di fortuna o un modello, ma un colpo di fortuna con una probabilità molto più alta. E ti sto dando un consiglio.

 

Ciao!

Sto cercando di eseguire una rete convoluzionale dal pacchetto mxnethttp://tjo-en.hatenablog.com/entry/2016/03/30/233848 ma non è del tutto chiaro come eseguirla con i "nostri" dati, cioè sotto forma di stringhe, perché la rete funziona principalmente con le immagini e i dati sono presi sotto forma di un array multidimensionale con matrici, insomma, se qualcuno capisce e sa come eseguirla, sarei molto grato per un esempio della rete con, diciamo, "iris"

{mxnet} R package from MXnet, an intuitive Deep Learning framework including CNN & RNN - Data Scientist TJO in Tokyo
{mxnet} R package from MXnet, an intuitive Deep Learning framework including CNN & RNN - Data Scientist TJO in Tokyo
  • 2016.03.30
  • tjo-en.hatenablog.com
Actually I've known about MXnet for weeks as one of the most popular library / packages in Kaggler, but just recently I heard bug fix has been almost done and some friends say the latest version looks stable, so at last I installed it. Convolutional Neural Network (CNN) I believe almost all readers of this blog already know well about Deep...
 
Mihail Marchukajtes:
Niente da fare... È necessario osservare il numero di errori sul numero totale e se gli errori aumentano, è necessario riqualificare la rete. Per esempio, se avete 4 errori su 20 segnali, va bene, se il numero di errori aumenta, è necessario riaddestrare la rete. Un'altra domanda sorge... quale modello scegliere in modo che possa essere affidabile per 10 segnali. Beh, Yuri l'ha più o meno descritto. Scegliamo il modello che mostra il massimo livello di generalizzazione dei modelli binari e trinari e cominciamo a lavorare con esso. E per aumentare qualitativamente il tempo di esecuzione di una strategia, dovremmo aumentare l'intervallo allenabile, e per aumentarlo dobbiamo aumentare il numero di ingressi. Cioè 10 ingressi possono segare 100 segnali a zero. 15 ingressi possono gestire 225 voci, che sono 6 settimane di segnali, quindi il tempo di rete fuori dal campione sarà più lungo, non una settimana, ma due settimane. Con un tasso di errore adeguato. Non è possibile lavorare senza errori. Mi piacerebbe, ma non è possibile. La cosa principale è ridurre l'influenza di questo errore sul vostro deposito e siete in affari).

Fate attenzione con libVMR o jPredictor, mostrano prestazioni gonfiate in forex. Per il forex è molto importante testare su dati al di fuori del campione di allenamento. libVMR o jPredictor prende i dati da un file sorgente, seleziona casualmente metà delle righe per addestrare un modello, poi costruisce un modello su quei dati e lo testa sulle righe rimanenti. Questo potrebbe essere adatto per valutare il riconoscimento delle immagini, o del testo, o di qualsiasi altro compito semplice. Ma non sarà un bene per il forex.

Fate un semplice esperimento: avete tipo 200 linee nel file di allenamento e avete un intervallo di predizione del 30%. Quindi dividete il file in due - il primo file avrà 150 prime linee, il secondo file avrà le rimanenti 50 ultime linee. Allenate jPredictor sul nuovo file con 150 righe, poi usate "use model" per fare una previsione per le rimanenti 50 righe (dovrete inserire i dati uno per uno, ci vorrà del tempo). Calcolate il numero di risposte corrette, non sarà affatto il 90%, penso che sarà intorno al 60% al massimo.
Sei ancora in profitto solo grazie al tuo indicatore principale, sembra essere più o meno redditizio così com'è, e grazie al filtro aggiuntivo nel neurone lo migliori solo leggermente.

 
Alexey Burnakov:

Non farlo. Una settimana più, una settimana meno. Non è un indicatore.

Non sono sicuro al 100% del vostro sistema. C'è un dato di fatto: non si sa come si comporterà su un periodo più o meno lungo. Questo è un thread per condividere esperienze. Ecco la mia esperienza che i tuoi risultati finora possono essere o un colpo di fortuna o un modello, ma un colpo di fortuna con una probabilità molto più alta. E ti sto dando un consiglio.

Quindi vuoi un graal. Ti sei allenato una volta e taglierai coupon per il resto della tua vita? È così? Sono sorpreso, in che anno sei stato sul mercato? Se non è un segreto...... Sai che il mercato cambia costantemente e dopo un po' il modello semplicemente scompare. Se vuoi che il modello funzioni per molto tempo, usa un grafico mensile, in questo caso è l'opzione migliore. E così, per 5 minuti a settimana è un risultato normale, allora si sta sovrallenando ..... E se si lavora per quindici giorni, allora è grande....
 
Dr.Trader:

Fate attenzione con libVMR o jPredictor, mostrano prestazioni gonfiate in forex. Per il forex è molto importante testare su dati al di fuori del campione di allenamento. libVMR o jPredictor prende i dati da un file sorgente, seleziona casualmente metà delle righe per addestrare un modello, poi costruisce un modello su quei dati e lo testa sulle righe rimanenti. Questo potrebbe essere adatto per valutare il riconoscimento delle immagini, o del testo, o di qualsiasi altro compito semplice. Ma non funzionerà nel forex.

Fate un semplice esperimento: credo che abbiate 200 linee nel file di allenamento e che il range di predizione sia del 30%. Quindi dividete il file in due - il primo file avrà 150 prime linee, il secondo file avrà le rimanenti 50 ultime linee. Allenate jPredictor sul nuovo file con 150 righe, poi usate "use model" per fare una previsione per le rimanenti 50 righe (dovrete inserire i dati uno per uno, ci vorrà del tempo). Conta il numero di risposte corrette, non sarà affatto il 90%, penso che sarà intorno al 60% al massimo.
Sei ancora in profitto solo grazie al tuo indicatore principale, probabilmente è più o meno redditizio comunque, e grazie al filtro aggiuntivo nel neurone lo stai solo migliorando leggermente.

Semplicemente non sai come preparare i dati :-) Non ho nessuna gamma di previsioni, non sto predicendo nulla. Il 30% è un intervallo di confidenza, l'intervallo in cui ci si può fidare del modello, se non tutto il 50%. Cioè, se sei stato addestrato per tre settimane, dovrebbe funzionare per una settimana. Ho lavorato con il predittore di Yury per più di un anno e ho capito molte cose, come anche come preparare i dati, cosa può (predittore) e cosa semplicemente non può. Puoi mandarmi un file con i tuoi dati, io addestrerò il modello e tu vedrai come funziona in futuro, se vuoi, naturalmente...

E se lo fai, faremo quanto segue. Prenditi una settimana di pausa... (questa settimana sarà una settimana di test, fuori campione) Salvare i dati al ritmo di 10 input = 100 record, in modo da non allenarsi per molto tempo. Io addestrerò il modello, voi lo applicherete al vostro TS, descriverò preliminarmente il principio della sua costruzione e mostrerò il risultato dell'ultima settimana, e poi vedremo.... Cosa ne pensate?

 
Mihail Marchukajtes:

Cioè, se sei stato addestrato per tre settimane, dovresti lavorare per una settimana.

E stavo pensando: dov'è la fregatura? Beh, non c'era nessuno sul forum che avrebbe davvero guadagnato con l'artigianato di Reshetov. Ma eccolo lì! La cattura, naturalmente).
 
Combinatore:
Mi chiedevo dove fosse la fregatura. Beh, non c'è ancora stato un uomo sul forum che potrebbe davvero fare soldi con l'artigianato di Reshetov. Ed eccolo qui! Il trucco ovviamente).
Dipende da come..... Mi è piaciuto il suo lavoro questo abbastanza un po ', ha una grana razionale, ma chi non può usare correttamente, in modo che nulla aiuterà. Datemi un sistema che funziona per un anno senza un solo errore e ci crederò. Sono tutte stronzate. Sono stupito da questi smanettoni, come quelli che chiedono, beh, dove andrà il prezzo, o quanti punti guadagnerà questo segnale. Lei è ingenuo. Il mercato è una cosa tale che è impossibile conoscere il futuro...... Ma non puoi capire tutto questo....
 
Mihail Marchukajtes:

Bene, l'esempio attuale che funziona nell'immagine che ho ora è fatto da questo file

Come si calcola il profitto di 100 punti dopo il segnale?

Per esempio, potete prendere n candele nel futuro e misurare le loro ombre. Se una candela ha una differenza tra la sua ombra e il prezzo corrente nella direzione del segnale di almeno 100 punti, allora ne impostiamo una. Se la condizione non funziona per nessuno dei candelieri, il risultato è 0.

La seconda variante: fare un EA con uno StopLoss e un Takeaway a 100 punti di distanza dalla candela corrente e aprire operazioni in base al segnale e memorizzare il modello. Dopo che la posizione è chiusa, la guardiamo. Se chiude con un profitto, segniamo questo modello nel campione con 1, se mostra una perdita, lo segniamo con zero.

Naturalmente, puoi inviare il codice di uno script o di un Expert Advisor che raccoglie dati per il campionamento, per esempio, a me nella mia area personale. Lo risolverò da solo.

Attualmente sto cercando di adattare jPrediction in modo da non dover estrarre il codice e compilarlo in MQL. L'EA scaricherà un modello in un file e lo strumento Java, un classificatore ternario, leggerà tali file e se conferma il segnale, visualizzerà un avviso con consigli e un segnale acustico. IMHO questo sarà più facile?

Più tardi, possiamo fare una modalità completamente automatica in modo che il classificatore e l'Expert Advisor possano scambiarsi i file e aprire automaticamente i trade da soli.

 
Yury Reshetov:

Quello che ho bisogno di sapere, come si calcola il profitto di 100 pips dopo il segnale?

Per esempio, potete prendere n candele nel futuro e misurare le loro ombre. Se qualsiasi candela ha una differenza tra l'ombra e il prezzo corrente nella direzione del segnale di almeno 100 pip, allora impostane una. Se la condizione non funziona per nessuno dei candelieri, il risultato è 0.

La seconda variante: fare un EA con uno StopLoss e un Takeaway a 100 punti di distanza dalla candela corrente e aprire operazioni in base al segnale e memorizzare il modello. Dopo che la posizione è chiusa, la guardiamo. Se chiude con un profitto, segniamo questo modello nel campione con 1, se mostra una perdita, lo segniamo con zero.

Naturalmente puoi inviarmi nel tuo messaggio personale il codice dello script o dell'Expert Advisor che raccoglie i dati per il campionamento. Lo risolverò da solo.

Attualmente sto cercando di adattare jPrediction in modo da non dover estrarre il codice e compilarlo in MQL. L'EA scaricherà un modello in un file e lo strumento Java, un classificatore ternario, leggerà tali file e se conferma il segnale, visualizzerà un avviso con consigli e un segnale acustico. IMHO sarebbe più facile?

Più tardi, possiamo fare una modalità completamente automatica in modo che il classificatore e l'Expert Advisor possano scambiarsi i file e aprire automaticamente le operazioni da soli.

È molto più semplice di così. Calcolo la differenza tra il clone del segnale attuale e il clone del segnale precedente, se questa differenza è positiva tenendo conto della direzione del segnale e la positività della differenza è più di 100 pips, allora il segnale precedente è "uno", se meno - "zero". Salvo tutto con l'aiuto del Loafer, quello scritto per neuroshell. Ho una buona idea per salvare i dati di qualsiasi indicatore in un file ksv, quindi è così..... Non uso EAs, faccio trading a mano e metto modelli nell'indicatore, per questo non ho bisogno di nessun EA. La cosa più semplice da fare è mantenere il modello ternario insieme a quello binario. Ad esempio, per un modello binario prefisso _2 al nome del file, per un modello ternario _3 e sarà sufficiente..... IMHO. Tutto il brillante è semplice, non c'è bisogno di complicare le cose.

Ecco un EA che salva i dati di qualsiasi indicatore, guarda la funzione per 5 minuti, ho i miei indicatori lì. Comunque è tutto per MT4, io lavoro solo su questo... ciao....

File:
Motivazione: