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

 

Mihail Marchukajtes:
J A proposito di apprendimento profondo. Ora molte persone ne parlano, voglio saperne di più. E un'altra domanda. Chi ha implementato la rete ricorrente senza insegnante su MT4?

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

Leggi qui, qui.

Per quanto riguarda la seconda domanda, non so nemmeno cosa dire.

Buona fortuna

 
Vladimir Perervenko:
Y Ora capisco. In altre parole, prima addestriamo, diciamo, una rete senza insegnante. Poi scriviamo i pesi ottenuti in pesi del classificatore e poi il classificatore viene addestrato con un insegnante. Supponiamo di aver ricevuto i pesi del fine-tuning guidato dai neuroni, i pesi continuano ad essere ottimizzati????? In altre parole, preapprendendo senza un insegnante, impostiamo dei pesi iniziali per il classificatore che lo portano al minimo globale. È così che funziona?
 

Io uso l'obiettivo nell'allenamento solo come una certa base, che il modello si sforza di raggiungere, ma non lo raggiunge mai. E per stimare il modello non uso l'accuratezza della previsione, ma traccio la bilancia commerciale per tali previsioni e stimo questo grafico usando per esempio Sharp Ratio o Recovery Factor o qualcos'altro. È bene lavorare con l'obiettivo "colore della prossima barra". È possibile andare più complicato e modificare geneticamente questo obiettivo per evitare di usare accordi su piccoli movimenti e semplicemente sedersi fuori, inoltre si può anche evitare questo problema se la dimensione della prossima candela è più piccola dello spread. In generale, la decisione (acquisto/vendita) su ogni barra dovrebbe essere geneticamente selezionata per ottenere il maggior profitto.

Prendo certi indicatori e altre istanze, alleno il modello, faccio delle previsioni sugli stessi dati di allenamento, uso le previsioni per costruire un grafico di equilibrio e lo valuto. Poi mi prendo molto tempo per selezionare i parametri del modello e i parametri dell'indicatore e le loro combinazioni al fine di ottenere una migliore stima del grafico dell'equilibrio. Di conseguenza, l'accuratezza della previsione non supera il 60%, ma il modello si adatta alle tendenze e non esegue frequentemente trade su ogni barra.
Questa è solo la punta dell'iceberg, sotto l'acqua ci sono molte altre parti segrete come la stima dell'utilità degli intenti e il controllo che il modello dia meno peso agli intenti cattivi; la selezione di un modello adatto tra tutte le centinaia disponibili in R; la convalida incrociata; la selezione della lunghezza della storia usata per l'addestramento del modello e molte altre.

All'inizio sono riuscito a farlo solo su D1, ma poi sono riuscito a passare a H1. Per me i timeframe più piccoli sono già un rumore imprevedibile.

 
Lo faccio:


Consiglio a https://www.accern.com/ di provarlo, io lo uso e ne sono molto contento.

Sembra bello, ma è un po' caro.

Vorrei fare pratica su qualcosa di gratuito, vedere come funziona in tempo reale senza ritardo, ma c'è una demo con un lag gigantesco.

Puoi descrivere in poche parole come un tale segnale viene usato nel trading e nel MO? Se non è un segreto, quando vengono rilasciate notizie importanti, hai il tempo di fare trading o è solo un secondo, mezzo secondo prima che qualcuno inizi a colpire il mercato e ad abboccare?

 
Dr.Trader:

E per valutare il modello non uso la precisione della previsione, ma traccio il bilancio del commercio su tali previsioni, e valuto questo grafico per esempio attraverso lo sharpe ratio o il fattore di recupero o qualcos'altro.

Questo è esattamente quello che ho sempre fatto, le previsioni sono sempre male, ma il commercio stesso non è sempre.... In generale, l'obiettivo ideale non è un vettore con valori "00110" ma la ricerca di un minimo globale, per esempio, chiediamo semplicemente alla griglia di commerciare in modo che il fattore di recupero non scenda sotto 4 e lasciamo che aggiusti i suoi pesi finché non trova una soluzione, non ci interessa come lo farà... Questo metodo elimina tutti gli svantaggi del solito obiettivo vettoriale e ha un sacco di vantaggi e anche questo metodo è assolutamente oggettivo in relazione al commercio, mentre un obiettivo vettoriale è assolutamente soggettivo (ognuno lo vede in modo diverso).

È impossibile realizzare un tale obiettivo in R, è troppo "popolare" in questo senso, tutto lì è "binari", tutto segue uno schema, è buono e cattivo allo stesso tempo. Non so come farlo, se qualcuno lo sa, sarei molto interessato a studiare il codice, e se fosse fatto in R, sarebbe una favola...

Prendo certi indicatori e altre istanze, alleno il modello, faccio delle previsioni usando gli stessi dati di allenamento, costruisco un grafico di equilibrio usando le previsioni e lo stimo. Poi mi prendo molto tempo per selezionare i parametri del modello e i parametri dell'indicatore e le loro combinazioni al fine di ottenere una migliore stima del grafico dell'equilibrio. Di conseguenza, l'accuratezza della previsione non supera il 60%, ma il modello si adatta alle tendenze e non esegue frequentemente trade su ogni barra.

Posso dirvi come migliorare significativamente il trading in rete (se siete interessati) dando un po' di pensiero critico, praticamente ottengo sempre risultati migliori che senza di esso

 

mytarmailS:

Non è realistico implementare un tale obiettivo in R, è troppo "papavero" in quel senso, tutto lì è "binari" tutto in uno schema, è buono e cattivo allo stesso tempo. Quindi bisogna scrivere una rete da soli, io non sono in grado di farlo da solo, se qualcuno è in grado di farlo, sarei con grande interesse a studiare il codice, e se fosse fatto in R, allora anche una favola...


Ti sei fatto un'idea sbagliata. In parole povere: "Non conosco abbastanza bene la lingua e non so fare quello che voglio fare". Non si dovrebbe valutare qualcosa che non si conosce a fondo. Il linguaggio R può realizzare qualsiasi idea, purché lo si conosca abbastanza bene. Se qualcosa non è in R, usa il funzionamento di Python.

Naturalmente, a rigore, imparare qualsiasi modello con un insegnante non è "imparare". L'apprendimento profondo ci si avvicina, ma il più promettente è l'apprendimento puro senza insegnante e la sua implementazione - l'apprendimento di rinforzo. In R finora, c'è solo un pacchetto che permette di implementare questo metodo - RNeat. Ma questo livello può essere raggiunto solo con un'eccellente comprensione di tutti i precedenti. Questo settore è ben sviluppato in Python. E si integra perfettamente in R.

Buona fortuna

 
Vladimir Perervenko:


E ancora, chiarire questo punto sull'apprendimento profondo. Quando otteniamo i pesi dei neuroni al primo passo. Scriviamo questi pesi in uno strato nascosto del classificatore. E iniziamo ad addestrare il classificatore in base alla variabile di uscita. Se impostiamo un valore fisso di pesi, allora cosa viene ottimizzato? Che aspetto ha la messa a punto fine???? Puoi spiegare????
 
Vladimir Perervenko:

Non state formulando correttamente l'idea. Scrivi più semplicemente: "Non conosco abbastanza bene la lingua e non so fare quello che voglio fare". Non si dovrebbe valutare qualcosa che non si conosce a fondo. Il linguaggio R ti permette di implementare qualsiasi idea tu voglia, purché tu abbia abbastanza conoscenze. Se qualcosa non è in R, usa il funzionamento di Python.

Naturalmente, a rigore, imparare qualsiasi modello con un insegnante non è "imparare". L'apprendimento profondo ci si avvicina, ma il più promettente è l'apprendimento puro senza insegnante e la sua implementazione - l'apprendimento di rinforzo. In R finora, c'è solo un pacchetto che permette di implementare questo metodo - RNeat. Ma questo livello può essere raggiunto solo con un'eccellente comprensione di tutti i precedenti. Questo settore è ben sviluppato in Python. E si integra perfettamente in R.

Buona fortuna

Tuttavia, non hai una risposta alla domanda come implementare questo obiettivo usando R, se ho capito bene
 
Mihail Marchukajtes:
Y vedo. In altre parole, prima addestriamo una rete senza insegnante. Poi scriviamo i pesi ottenuti ai pesi del classificatore e poi il classificatore viene ulteriormente addestrato con un insegnante. Supponiamo di aver ricevuto i pesi del fine-tuning guidato dai neuroni, i pesi continuano ad essere ottimizzati????? In altre parole, preapprendendo senza un insegnante, impostiamo dei pesi iniziali per il classificatore che lo portano al minimo globale. È giusto?

Si afferra rapidamente e non del tutto correttamente. Ci sono due pacchetti in R che implementano le reti neurali profonde - deepnet e darch v.0.12. Il primo è abbastanza semplificato, senza molte impostazioni e caratteristiche, ma permette di provare e valutare. Il secondo ha le più ampie possibilità di progettare e configurare una rete neurale, l'utente non addestrato troverebbe estremamente difficile da usare. Ma ha le giuste capacità di apprendimento profondo.

1. Pre-addestramento di una rete auto-associativa (SAE/SRBM) sulla quantità massima possibile di dati non etichettati in ingresso.

2. Trasferire i pesi negli strati nascosti della rete neurale e addestrare solo lo strato superiore sui dati non posizionati. Il pacchetto vi permette di specificare quali strati volete allenare.

3. mettere a punto l'intera rete con un piccolo numero di epoche (2-3) e un allenamento di basso livello su una piccola quantità di dati marcati. È qui che gli esempi intorno ai picchi devono essere applicati.

Una caratteristica molto importante dell'implementazione di questo pacchetto è la possibilità di pre-addestramento della rete neurale.

Naturalmente è possibile addestrare la rete senza pre-addestramento.

La rete è molto veloce ma richiede esperienza e conoscenza.

Buona fortuna

 

Mihail Marchukajtes:
E lasciate che vi chieda un'altra cosa: l'apprendimento profondo. Quando riceviamo i pesi dei neuroni al primo stadio. Scriviamo questi pesi in uno strato nascosto del classificatore. E iniziamo ad addestrare il classificatore in base alla variabile di uscita. Se impostiamo un valore fisso di pesi, allora cosa viene ottimizzato? Che aspetto ha la messa a punto fine???? Puoi spiegare????

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

Sempre più spesso mi chiedo: "Perché scrivo articoli in cui cerco di macinare, al meglio delle mie capacità, i concetti fondamentali dell'argomento?"

Avete letto i miei articoli sul Deep Learning? Ho spiegato tutto lì in quello che penso sia abbastanza dettagliato. Non c'è tempo per ripetere ciò che è stato scritto. Se c'è una domanda che non è coperta in essi, sono disposto a rispondere.

Buona fortuna