L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 1072
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Sì, è solo la mia funzione di trasformazione con cos e grado casuale, non un kernel
RDF salva la propria struttura se il file, quindi se troppi campioni o caratteristiche - i file possono essere troppo grandi, non sono sicuro di milioni di agenti :) Ma è possibile diminuire l'errore di classificazione e aumentare la stabilità del modello aumentando il numero di agenti con caratteristiche diverse
Momento successivo - nella mia esperienza, dati più grandi != migliore precisione sui nuovi dati. Se i predittori sono cattivi, il risultato sarà lo stesso cattivo
Anche gdmh può lavorare con insiemi di dati estremamente piccoli, e approssimativamente è buono per i dati futuri
Ma... possiamo applicare un modello semplice come la regressione logistica + gdmh (invece di RDF), quindi il processo di apprendimento sarà molto veloce, ma non sappiamo la precisionePer quanto riguarda GMDH, questo è esattamente quello che ti ho informato quando hai parlato per la prima volta di GMDH. Perché GMDH stesso agisce come una rete neurale e quindi, non c'è uso di RDF qui.
Sì, ci sono differenze. Per prendere una decisione con RDF deve passare attraverso tutti i nodi e le foglie. Quindi se la struttura RDF è grande - ci vorrà più tempo per ogni decisione
Per questo modo è meglio usare modelli estremamente veloci (NN appresi velocemente) con una risposta veloce. O un hardware migliore, compresa la GPU
Un altro problema - RDF è sensibile al rumore nei dati, quindi quasi sempre overfitted. Per ridurre questo effetto del rumore, è bene incorporare il livello LDA o PCA all'algoritmo
quindi questo non è un compito così banale come potrebbe sembrare a prima vista
Vuoi dire che la tua attuale implementazione di RDF e la tua precedente versione di RDF sono completamente diverse? Questa versione RDF usa la politica o qualcos'altro? Non sono sicuro dei file ".rl". Ho pensato che sono simili ai file "Mtrees" della vostra versione precedente.
Fatemi vedere cosa sta succedendo con la formazione e i test. Ho notato che i modelli e gli agenti non sembrano funzionare correttamente a valori molto grandi. Per esempio, ho appena impostato gli agenti a 100 e i modelli a 100. Gli agenti hanno funzionato, ma i modelli hanno smesso di funzionare a 50 per ogni agente. Non so per quale motivo.
A proposito, sto solo testando la mia algo con RDF dal momento che hai già implementato il codice di base, perché ho fatto migliaia e migliaia di combinazioni diverse di ottimizzazione e test nella tua versione precedente e quindi, ho una comprensione completa della tua versione precedente di RDF. Altrimenti, devo scrivere il codice completo per l'algo "Monte carlo" usato in "ALPHA ZERO" per integrarlo al mio algo che potrebbe richiedere un po' di tempo per me, dato che non sono un programmatore esperto.
Ciao, prova a capire questo codice, per cominciare:
Qui impariamo RDF con ogni 1 caratteristica (1 input) e salviamo i numeri delle migliori caratteristiche in un array ordinato (modelli). Poi possiamo scegliere i pochi migliori
Il prossimo passo - dobbiamo combinare tutti i migliori predittori con gli altri e controllare di nuovo gli errori, credo, e salvare il risultato. Su questo passo possiamo applicare alcune equazioni polinomiali
Ok, vediamo ora come implementare GMDH con questo codice.
Più potete spiegare il codice, più velocemente posso trovare un ponte. In realtà, il mio problema è che sono un po' debole nella sintassi di alcuni concetti base di C++ come classe, oggetti, array ecc. e quindi, mi ci vuole più tempo per capire l'implementazione di questi concetti, altrimenti, avrei scritto direttamente il file di classe di GMDH e ve lo avrei dato.
Comunque, fammi vedere.
Per favore, spiegatemi bene queste 3 righe. Credo che qui sia il punto in cui dobbiamo applicare la GMDH:
Voglio dire che per favore commentate queste 3 righe
Penso che nel mio codice precedente ho fatto qualche piccolo errore nel ciclo. Quindi penso che qui ci sia il ponte fornito se sai esattamente cosa hai scritto su RDF:))... perché non so molto sull'implementazione della matrice...
questo è un array 2d (matrice), formato libreria "alglib", lo riempiamo semplicemente con il numero di predittori (bf) (indice 0 della matrice), il prossimo (1,2) sono i valori di uscita... errore qui :) abbiamo bisogno di impostare i valori con gli indici "features" e "features-1"
m - la nostra matrice attuale ha 1 caratteristica e 2 uscite, maRDFpolicyMatrix contiene tutte le caratteristiche + uscite
fisso
potete leggere qui http://www.alglib.net/dataanalysis/generalprinciples.php#header0
Ok, quindi c'è qualche malinteso... fammi controllare di nuovo il codice su come collegare questo a GMDH...
Se ti viene l'idea, aggiornami in modo che non debba perdere tempo a pensare:))
Penso che RDF e GMDH siano simili e quindi sta diventando difficile integrarsi con l'altro...
Fammi pensare ancora....
no, è facile da integrare ... cambiamo solo i vettori di ingresso con gdmh, solo alcune trasformazioni
al prossimo passo controlleremo i gruppi di predittori, combinandoli a quali altri (solo alcuni della selezione precedente)Poi, questo ciclo può fare tutto per la trasformazione delle caratteristiche a cui vi riferite:
Poi, questa è la funzione per calcolare Neuron:
Poi, Y_Final=Y_All+Y_0;
Ora abbiamo rotto gli input in 3 pezzi e possiamo espanderli a qualsiasi numero se necessario...
Qui gli input sono le caratteristiche o il predictor e i pesi sono pesi casuali ... possiamo prendere quelli dalla funzione casuale inizialmente e in seguito quelli saranno memorizzati all'interno di RDF dopo l'allenamento
prova a rifarlo per matrix ora ))
ma... non abbiamo bisogno di un sommatore qui, abbiamo bisogno di predittori separati per ogni passo, basta espandere la nostra matrice per caratteristiche aggiuntive e aggiungerle, e controllare di nuovo gli errori
ok, dammi un po' di tempo e presto sarò pronto
Ok, nessun problema qui allora, basta rimuovere il segno "+" per i predittori separati e otterrete i predittori individuali:
Ma se avete modi migliori che è anche grande:)). Perché questo sarà molto lento a causa di più cicli for... Quindi un'implementazione molto grossolana:))
Ho scritto questo codice in un'ora e quindi non mi piace nemmeno questo codice:))
Matrix non entra nel mio cervello:)))))))))))))))))))))))))))))))))hehe... che ne dite di ordinare la matrice 2d? :)
Inoltre, vi chiederò di implementare almeno qualche altra varietà di predittori nella versione finale dell'EA:
1.Alcuni indicatori dell'oscilatore
2. Alcuni indicatori di tendenza
3.Alcuni indicatori di volume
4. Alcuni indicatori da timeframes più alti (buon filtro per segnali rumorosi)
5.Alcuni prezzi di chiusura diretta
Altrimenti, devo continuare a chiederti quando devo aggiungere qualcosa :)))...
Se può passare istantaneamente da un sistema a un altro sistema a ogni candela in base al cambiamento del mercato, allora sarà davvero grande... Infatti questo era l'obiettivo originale che mi aspettavo da questa versione quando hai menzionato le spline, le trasformazioni delle caratteristiche e il trucco del kernel ecc... Il trucco del kernel avrebbe aiutato a rendere il calcolo molto più veloce anche in un server regolare per dati grandi... Quindi ora dobbiamo contare solo su modelli perfettamente allenati e trasformazioni veloci...
A proposito, dagli ultimi 2 giorni di test in avanti devo dire che questa versione di RDF sembra un po' più stabile e affidabile rispetto alla versione precedente di RDF ... voglio dire che il test in avanti corrisponde un po' al backtesting ... ma la versione precedente era per lo più over-fitting con dati di ottimizzazione
la versione precedente era solo un concetto con idee di base
si può aggiungere un indicatore stesso, invece dei prezzi di chiusura
No, non un solo indicatore...voglio dire che sono confuso quando applico più indicatori simultaneamente nel ciclo dell'array di "ag1.agent"
cosa dovrei usare al posto di"ArraySize(ag1.agent)" quando uso 100 caratteristiche totali, ma 50 per la chiusura e 50 per l'alto
Quindi il codice di cui sopra è corretto per la dichiarazione dell'agente come questa qui sotto?
Beh, sono stato la prima persona a commentare sul vostro forum inglese:))).... Da quel giorno ho eseguito almeno più di 20.000 diversi test e ottimizzazioni su tutti i miei server e tutti i tipi di combinazioni di impostazioni e quindi, ho una migliore comprensione del concetto generale...ma il mio problema principale è che a volte mi blocco anche con il codice semplice....
E posso promettervi che anche se questa algo può appena iniziare a convergere un po' nel tempo, allora posso ottimizzare il codice per eseguire almeno 2 o 3 volte meglio di quello che pubblicherete :))...tutto solo dalla mia esperienza e dalle mie osservazioni :)).
O questo codice qui sotto è corretto?
Grazie mille...Ora, penso di poter fare più indicatori:))))))))
O come qui, più semplice
Sì, mi piace...Questo è il mio tipo :))
L'esempio precedente è molto condizionato e non può aumentare altri predittori ....
A proposito, ho usato questo metodo per le simulazioni di candele casuali... ma devo cambiare i prezzi di entrata e uscita del trade anche per la formazione e quindi, mi sono confuso...
Per ora proverò questi metodi di indicatori...e li testerò e più tardi proverò il metodo di simulazione delle candele...dato che se avrà successo allora sarà l'ultima versione di qualsiasi EA di apprendimento automatico mai creato nel mercato forex:))))