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

 
Yuriy Asaulenko:


Infatti, dicono che ci sono molti neuroni su internet e in C++. Ma non li ho cercati.


http://www.opennn.net/

https://www.neuraldesigner.com/

OpenNN | Open Neural Networks Library
  • www.opennn.net
The main advantage of OpenNN is its high performance. It is developed in C++ for better memory management and higher processing speed, and implements CPU parallelization by means of OpenMP and GPU acceleration with CUDA.
 
Eppure, da quanto ho capito, non ci sono risultati di trading soddisfacenti, nemmeno sulla demo!
 
elibrario:

Sto iniziando ad esplorare le reti neurali.

Sto cercando opzioni che possono essere implementate direttamente in MT5.

Sono interessato alla variante usando ALGLIB (https://www.mql5.com/ru/articles/2279), ma dalla descrizione della rete ne consegue che è una rete sequenziale senza feedback. E lo svantaggio è che può essere addestrato solo da un thread del processore (che elabora l'Expert Advisor con una rete neurale).

Penso che non sarebbe troppo difficile aggiungere 2 strati nascosti sequenziali alla rete neurale dell'articolo https://www.mql5.com/ru/articles/497 e poi addestrarla con la forza bruta o genetica nel tester. Ma in questo caso si possono usare molti più thread computazionali (core del processore, nella rete e nel cloud). Ho capito bene?

Come aggiungere istruzioni manuali per le risposte corrette (luoghi di acquisto e vendita) nella formazione di una tale rete?

Forse c'è già una libreria per la rete sequenziale multistrato da qualche parte?

Inoltre, non capisco bene l'utilità dell'uso dei livelli interni, per scopi di trading sul mercato forex/mercato azionario. Ha senso aggiungerli? Perché?


MLP non è buono per le previsioni di mercato, vedi video sopra, ha bisogno di RNN, cioè di una rete con memoria.

https://nplus1.ru/material/2016/11/04/recurrent-networks

Азбука ИИ: «Рекуррентные нейросети»
Азбука ИИ: «Рекуррентные нейросети»
  • 2016.11.04
  • Тарас Молотилин
  • nplus1.ru
N+1 совместно с МФТИ продолжает знакомить читателя с наиболее яркими аспектами современных исследований в области искусственного интеллекта. В прошлый раз мы писали об общих принципах машинного обучения и конкретно о методе обратного распространения ошибки для обучения нейросетей. Сегодня наш собеседник — Валентин Малых, младший научный...
 
Renat Akhtyamov:
Eppure non ci sono risultati di trading soddisfacenti, nemmeno sulla demo!

È una questione di ottimizzazione, non c'è ancora motivo di testare tutte le versioni, lo testerò quando avrò completamente implementato tutto
 
Yuriy Asaulenko:

Un esperimento per addestrare una rete neurale (NS) ad attraversare due MA è fallito. È stato addestrato a riconoscere solo il crossover verso l'alto.

Per l'esperimento il NS - 3,3,3,1 è stato selezionato e testato per l'addestramento e il riconoscimento di modelli creati artificialmente. Tuttavia, dopo aver imparato a riconoscere le AM, non è stato riconosciuto un solo crossover. La ragione - il NS ha bisogno di immagini con più contrasto, e non si preoccupa di tutte le differenze di 0,01-0,1 tra gli ingressi.

Per una data struttura di NS si può ottenere un riconoscimento abbastanza affidabile con una differenza di segnale non inferiore a 0,2-0,3.


MLP si tutto il tempo e darà fuori un tale casino, ho già sperimentato con loro, non c'è modo di raccogliere gli strati - poi riqualificare, poi riqualificare non abbastanza strati, poi la loro quantità
 
Renat Akhtyamov:
Non vedo risultati soddisfacenti nemmeno sulla demo!

Nessuno passerà mesi a sviluppare una strategia e poi andrà a vantarsene su un conto demo. Queste cose sono scambiate sul reale, e la storia della transazione è nascosta a tutti. Ho anche letto sul forum come la gente fa trading di proposito su due broker, perdendo a turno su uno e compensando le perdite sull'altro, in modo che anche il broker non sappia quali trade sono stati fatti usando la strategia e quali erano falsi.

Ci sono dei risultati. A volte le buone combinazioni di predittori e il modello portano profitto per un paio di mesi, più spesso - meno. Ma vengono sostituiti da altri.


La mia opinione personale - neuronics, foresta, regressioni - tutto questo è troppo debole per il forex. La ragione è che il comportamento dei prezzi cambia continuamente, le regole che sono redditizie oggi potrebbero essere state non redditizie una settimana fa. E l'approccio standard - prendere indicatori e prezzo per un paio di mesi e allenare la neuronica - significa che deve trovare le stesse regole di comportamento del prezzo per tutti e due i mesi. E non ci sono regole del genere e nessuno sa cosa troverà, ma si sbaglierà il 99% delle volte. A volte il modello può essere fortunato e cadere in quell'1%, ma è troppo lontano dal graal e tali Expert Advisors di solito commerciano bene fino al primo stop loss e poi possono essere buttati via.

Sto studiando i modelli di riconoscimento dei modelli che guardano il comportamento dei prezzi dopo modelli simili nella storia e usano queste statistiche per il trading.
Non ho visto un pacchetto in R che faccia tutto ciò di cui ho bisogno, ho un modello assemblato frammentariamente da altri, più le mie moto. Il più vicino alla descrizione del modello che ho visto è in un altro thread, consiglierei di iniziare a costruire il tuo graal con questo (citazione sotto). Nuovi problemi emergeranno nel processo, dovrete pensare e sperimentare su di essi.

Forum sul trading, sistemi di trading automatico e test di strategia

Analizzare le caratteristiche STATISTICHE più importanti di un modello e scegliere un metodo di trading basato su di esso.

Vladimir, 2017.04.06 06:20

Cerca l'indicatore del vicino più vicino nel codebase. Il metodo è abbastanza semplice. Impostare la lunghezza del pattern corrente, trovare pattern simili dalla storia (per esempio usare la correlazione come distanza tra i pattern), prevedere il comportamento futuro dei prezzi dai pattern passati pesando le loro previsioni individuali. Questo è essenzialmente lo stesso del clustering, o RBF, o SVM, o GRNN. Tutto dipende da come si misura la distanza dal modello attuale a modelli passati simili. Leggi su GRNN e Bayes. Lì la teoria della predizione è descritta in termini di distribuzioni statistiche. Si è scritto molto su GRNN e sui metodi di predizione sopra menzionati e tutto si riduce a una semplice formula:


previsione y = SOMMA y[k]*exp(-d[k]/2s^2) / SOMMA exp(-d[k]/2s^2)


dove y[k] è il k-esimo modello passato, d[k] è la distanza dal k-esimo modello al modello corrente. Se le distanze hanno una distribuzione gaussiana allora d[k] = (x - x[k])^2. Per una distribuzione arbitraria (super gaussiana), d[k] = |x - x[k]|^p, dove si sceglie p a seconda che si voglia dare più peso ai vicini più vicini (grande p), o dare a tutti i vicini quasi lo stesso peso (piccolo p) come nel socialismo. Con p=0, abbiamo il socialismo totale.

Dopo aver fatto conoscenza con i vicini più vicini e GRNN, sorge la prossima domanda ovvia. Come misurare la distanza tra il modello attuale e i modelli passati se si tiene conto delle distorsioni dell'asse del tempo (cioè i modelli passati possono assomigliare al modello attuale ma allungati o compressi nel tempo). È qui che si trova il problema.


 

qualcuno ha provato la programmazione genetica come metodo ML?

Come Chaos Hunter?

 
Maxim Dmitrievsky:


MLP non è adatto per le previsioni di mercato, vedi video sopra, ha bisogno di RNN, cioè di una rete con memoria

https://nplus1.ru/material/2016/11/04/recurrent-networks

Se non mi sbaglio, RNN sarà estremamente difficile da implementare in MT5, e i buoni risultati richiedono uno sviluppo acquistato o in-house con enormi costi di lavoro.

Se inviate a MLP oltre alle informazioni sul prezzo e gli indicatori sulla barra corrente tutte le stesse informazioni per 10-30 barre precedenti, sarà una specie di memoria. Alcuni neuroni elaboreranno lo stato attuale e altri elaboreranno lo sviluppo della situazione nel passato più prossimo.

Nel trading manuale, guardiamo anche le ultime barre, e non solo lo stato attuale degli indicatori.

È chiaro che la quantità di calcoli aumenterà, ecco perché ero interessato alla possibilità di trasferire i calcoli da un core a tutti i core del processore, alla rete o al cloud. Come si può fare? Almeno per MLP.

 
orai:

qualcuno ha provato la programmazione genetica come metodo ML?

Come Chaos Hunter?

E come quella del Chaos Hunter? Dammi un link specifico.
 
elibrario:

È chiaro che la quantità di calcolo aumenterà, ed è per questo che ero interessato alla possibilità di trasferire il calcolo da un core a tutti i core del processore, alla rete o al cloud. Come si può fare? Almeno per MLP.


Su OpenCL, non se non sei pigro ))