Utilizzo delle reti neurali nel trading. - pagina 2

 
un errore comune è non includere le misure di "livello" e "volume" (volumi sui futures)
 
Neutron писал(а) >> fornisce come input la serie temporale già sezionata, cioè non ogni barra, ma i probabili punti chiave

In generale, non è consigliabile interrompere le serie temporali, in particolare quelle finanziarie - le informazioni sono perse.....

 
StatBars писал(а) >>

Una funzione sigmoidale da sola non appiattisce la distribuzione... A mio parere, è più importante risolvere il problema della stazionarietà dei dati durante la pre-elaborazione.

A proposito, la formula che mi hai dato ha W=420, d=14, quindi P>50400 - non pensi che il campione sia un po' troppo grande?

No, né la funzione singhmoid né quella iperbolica equalizzano la distribuzione. Potete verificarlo facilmente tracciando la distribuzione prima e dopo l'applicazione della funzione. Qui è necessario applicare metodi speciali.

Per quanto riguarda la "grandezza" del campione, un compromesso è possibile. Per esempio, è possibile, con una lunghezza minore di dati storici disponibili, raccomandare un arresto anticipato dell'addestramento, ciò permetterà di evitare l'effetto del retraining, ma le capacità di classificazione dei NS in questo modo di addestramento, saranno in ogni caso inferiori ai NS addestrati su una storia abbastanza grande.

Nella mia esperienza (piccola) e articoli il numero di esempi in campione non dipende come si offre ...

E nella mia esperienza - non c'è contraddizione - tutto è secondo la teoria.

LeoV ha scritto >>.

In generale, le serie temporali, in particolare quelle finanziarie, non sono raccomandate per interrompere - le informazioni sono perse.....

A causa della complessità della formazione dei NS, siamo sempre costretti a trovare un compromesso tra la complessità architettonica e la potenza di calcolo. Con la complessità limite dell'architettura che usiamo, abbiamo naturalmente un limite sulla dimensione limite dell'input NS, di conseguenza, possiamo alimentare un vettore non più lungo di alcuni (un centinaio di altri al massimo) all'input e dobbiamo scegliere tra la perdita di dati e la copertura della storia. A volte, è importante coprire il più possibile e comprendere ciò che viene coperto in un tempo ragionevole (in termini di AI).

 
Neutron писал(а) >> A causa della complessità dell'addestramento dei NS, siamo sempre costretti a trovare un compromesso tra complessità architettonica e potenza di calcolo. Con la complessità limitante dell'architettura che usiamo, abbiamo naturalmente un limite sulla dimensionalità limite dell'input NS, di conseguenza, possiamo alimentare l'input con un vettore non più lungo di alcuni (un centinaio di altri al massimo) e dobbiamo scegliere tra la perdita di dati e la copertura della storia. A volte, è importante coprire di più e comprendere ciò che viene coperto in un tempo ragionevole (in termini di AI).

Non ha senso rincorrere la complessità dell'architettura di una rete neurale, poiché 10-15 neuroni impareranno facilmente e senza problemi la storia di 1500-2000 barre, o anche di più. Ma meglio imparano la storia, peggio lavoreranno in futuro - arriva l'effetto del sovrallenamento. È molto più efficace e produttivo trovare voci "corrette", che daranno le informazioni corrette al NS sul movimento del simbolo.

 

Leonid, non c'è nessun problema di riqualificazione del NS - è dal non capire l'essenza di quello che sta succedendo dentro questa scatola con un bel nome e tre chiodi dentro. Non prendere un campione di allenamento più breve del minimo e non dovrai decidere in base al tuo istinto cosa è meglio e cosa è peggio!

Riguardo agli input "corretti" sono d'accordo con te al 100% che è la chiave del successo - tutto ciò che può essere risolto per NS-ku - deve essere risolto indipendentemente. Bisogna lasciare le cose che la soluzione non ha o che sono ingiustificatamente difficili. Per esempio, non ha alcun senso alimentare l'ingresso Zig-Zag. Il comportamento di NS in questo caso è ovvio - imparerà ciò che si trova sulla superficie - alternanza di segni delle spalle di ZZ, e non c'è uso di tali dati di input.

 
Neutron писал(а) >>

Leonid, non c'è nessun problema di riqualificazione del NS - è dal non capire l'essenza di quello che sta succedendo dentro questa scatola con un bel nome e tre chiodi dentro. Non prendere un campione di allenamento più corto del minimo e non dovrai decidere in base al tuo istinto cosa è meglio o peggio!

Ci sono anche problemi di campionamento - è chiaro che in Forex ci sono certe leggi di movimento, che cambiano nel tempo. Quindi se il campione è troppo grande - la rete non troverà queste leggi di movimento perché ce ne sono troppe e sono troppo diverse, troppo piccole - si riqualificherà rapidamente. Ed è impossibile trovare la formula esatta - quindi anche qui molto dipende dal commerciante, non dalla complessità dell'architettura NS.

 

Proprio così. Dritto al punto!

In realtà, se risolviamo il problema in modo diretto, si scopre che la lunghezza di campionamento ottimale è P>(W^2)/d, e tenendo conto della non staticità dei processi sul mercato, l'ottimale è

P=(4-8)*(W^2)/d. Questo è ciò di cui state parlando.

 
Neutron писал(а) >>

Questo è più o meno quello che succede: prima della conversione, dopo, Pictures non dallo stesso campione, ma nonostante ciò l'ho fatto molte volte l'effetto è lo stesso...

 

Posso vedere che è a livello.

Ma non può essere così se si influenza semplicemente il segnale d'ingresso con una funzione come la sigmoide e/o qualcosa del genere. Molto probabilmente, se estendiamo l'asse sinistro e destro del grafico inferiore di una distanza pari alla metà dell'ultima barra dell'istogramma (per poterla vedere), il miracolo scomparirà e vedremo una campana.

Altrimenti ci sarà una foratura nell'analisi.

 
Neutron писал(а) >>

Vedo che ora è pari.

Ma non può essere così. Molto probabilmente, se estendiamo l'asse sinistro e destro del grafico inferiore di una volta e mezza la distanza dell'ultima barra dell'istogramma (per poterla vedere), il miracolo scomparirà e vedremo una campana.

Oppure c'è una foratura nell'analisi.

Nelle immagini non sono dati normalizzati e oltre ai diversi dati, ho appena dato un esempio di ciò che ho fatto (come appare nel risultato)

Ed ecco lo script, puoi usarlo per vedere come sarà l'output (ma non essere troppo esigente riguardo ai dati di input - questo script è stato fatto solo per esempio...)

//Tipo 0 - normalizzazione lineare, 1 - non lineare

File: