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

 
elibrarius:
Quali sono i dati?

Ogni minuto vengono aperti acquisti con SL e TP da 100 a 2500 in incrementi di 100 su una base di 5 cifre. Cioè, ogni minuto vengono aperti 625 acquisti. Il tutto al prezzo del minuto di apertura.

Dopo la decodifica avrebbe dovuto apparire così:

No, prezzo di entrata (*10^5), ora unix, anno, mese, giorno, minuto, secondo, giorno della settimana, giorno dell'anno, ... , tutto uguale per l'uscita, ... , SL in pp, SL in prezzi, TP in PP, TP in prezzi, risultato commerciale.

Le foreste dovrebbero prenderla al volo. È interessante anche la suddivisione in cluster.

 
Rorschach:

Ogni minuto gli acquisti vengono aperti con uno SL e un TP da 100 a 2500 in incrementi di 100 su una base di 5 cifre. Cioè, ogni minuto vengono aperti 625 acquisti. Il tutto al prezzo del minuto di apertura.

Dopo la decodifica avrebbe dovuto apparire così:

No, prezzo di entrata (*10^5), ora unix, anno, mese, giorno, minuto, secondo, giorno della settimana, giorno dell'anno, ... , tutto uguale per l'uscita, ... , SL in pp, SL in prezzi, TP in PP, TP in prezzi, risultato commerciale.

Le foreste dovrebbero prenderla al volo. Anche la suddivisione in cluster è interessante.

Ho fatto la stessa cosa con TP\CL.
Non ho fatto un passo di 10 pt, ho fatto 100,200,300,500,700,1000,2000 - se si applica questo, si ottengono 49 combinazioni diverse al minuto, che è quasi 13 volte meno dati.
Non credo che un passo fine sia necessario ad alti TP/SCL, 2400 e 2500 saranno leggermente diversi, e il risparmio di risorse è di 13 volte.
Ho anche fatto passaggi separati per ogni combinazione di CPOL, piuttosto che tutti insieme in un unico file.
A parità di TP/SL, è possibile valutare immediatamente la redditività del sistema. Per esempio, a TP = 50. Ottengo il 53-55% degli accordi di successo. Nel tester.

Da marzo, quando la volatilità è aumentata, è impossibile usare TP=SL=50, mentre era una combinazione valida per molti anni. Prima di marzo 50 pts potevano guadagnare 10-20 min, mentre a marzo ci volevano 1-2-5 min.
Ora voglio solo cercare i punti di ingresso e stimare i risultati al volo con il mio tester. Penso che sarà più universale per qualsiasi volatilità.

Prova a prendere una combinazione di TP=SL=100 per esempio e allena il modello. Penso che dovresti avere abbastanza potenza per questo. Se sarà superiore al 55% su OOS, allora i tuoi dati sono migliori dei miei) Ed è ancora meglio controllare non su OOS (perché potrebbe essere solo fortuna), ma tramite convalida incrociata - è più affidabile.
 
elibrarius:
Ho fatto la stessa cosa con TP/SCL.
Non ho fatto un passo di 10 pt nel mio, ma su una griglia di 100,200,300,500,700,1000,2000 - se si applica questo, si ottengono 49 combinazioni diverse al minuto, che è quasi 13 volte meno dati.
Non credo che un passo fine sia necessario ad alti TP/SCL, 2400 e 2500 saranno leggermente diversi, e il risparmio di risorse è di 13 volte.
Ho anche fatto passaggi separati per ogni combinazione di CPOL, piuttosto che tutti insieme in un unico file.
A parità di TP/SL, è possibile valutare immediatamente la redditività del sistema. Per esempio, a TP = 50. Ottengo il 53-55% degli accordi di successo. Nel tester.

Da marzo, quando la volatilità è aumentata, è impossibile usare TP=SL=50, mentre era una combinazione valida per molti anni. Prima di marzo 50 pts potevano guadagnare 10-20 min, mentre a marzo ci volevano 1-2-5 min.
Ora voglio solo cercare i punti di ingresso e stimare i risultati al volo con il mio tester. Penso che sarà più universale per qualsiasi volatilità.

Prova a prendere una combinazione di TP=SL=100 per esempio e allena il modello. Penso che dovresti avere abbastanza potenza per questo. Se sarà superiore al 55% su OOS, allora i tuoi dati sono migliori dei miei) Ed è ancora meglio controllare non su OOS (dato che potrebbe essere solo fortuna), ma tramite convalida incrociata - è più affidabile.

Molto probabilmente dovrai sfoltire i tuoi dati

 
Rorschach:

Probabilmente dovrete sfoltire i vostri dati

Se fai un training con TP/CL=50 o 100 scrivi il risultato sulla validazione incrociata, mi chiedo se otterrai più del 55%
 
elibrarius:
Se fai l'allenamento con SP/SL=50 o 100 scrivi il risultato su cross validation, mi chiedo se ottieni più del 55%.

Ho gestito un sistema nel tester per 10 anni che apriva un acquisto una volta al giorno con diversi rapporti SL/TP. Di quelli che sono sopravvissuti non c'erano sistemi con lo stesso SL e TP, per lo più con TP<SL. Potete gestirlo voi stessi.

Ho anche fatto un'emulazione, che ha mostrato che un sistema con un SL<SL è più veloce per arrivare al nero.

 
mytarmailS:

Hai fatto di nuovo casino con la rete)?

Finalmente ho trovato il bug nel tester. Ora tutto sta andando a posto.

Molto probabilmente ha fatto lo stesso errore nel suo tester.

chiuso il topic ) in fretta e furia, Lamba è rimandato

 
Rorschach:

Ho le date, ora non so come elaborarle, non ho tanta potenza((((

In questo momento è un csv con una colonna di indici, pesa un gig. Dopo la "decodifica" il binario peserà 17 volte di più.

Chi ne ha bisogno?

CatBoost inghiottirà questi dati - funziona bene con i file grandi. Solo non ho capito, quale obiettivo...

Se preparerete i dati in forma csv con l'obiettivo, posso eseguirlo a casa mia.

 
Rorschach:

Ho gestito un sistema nel tester per 10 anni che apriva un acquisto una volta al giorno con diversi rapporti SL/TP. Tra i sistemi che sono sopravvissuti, non c'erano sistemi con lo stesso SL e TP, per lo più con TP<SL. Potete gestirlo voi stessi.

Ho anche fatto un'emulazione, che ha mostrato che un sistema con TP<SL era più veloce per uscire sul lato positivo.

Sono riuscito a fare un sistema con TP che supera SL di 2-3 volte, ma c'è un altro problema - 20%-25% di operazioni redditizie, e non posso addestrare correttamente il modello per filtrare le voci perdenti.

 
Maxim Dmitrievsky:

Controllato, funziona meglio nel tester. Ci darò di nuovo un'occhiata )

appena entrato nelle ricorrenze... molto bravo ad imparare.

Z.U. ha fatto bene - molto tristemente imparabile.

pensato amore, ma no - esperienza di nuovo))

Perché è così triste? Maxim, non hai dei link alla documentazione sui ricorsi? Sono interessato a come esattamente i pesi vengono aggiornati durante l'allenamento
 
Alexander Alekseyevich:
Perché è triste? Maxim, non hai dei link alla documentazione sulla ricorrenza? Mi interessa sapere come esattamente vengono aggiornati i pesi durante l'allenamento.

sono riqualificati allo stesso modo degli altri

Ci sono molte informazioni su google

Qui ce n'è uno buono

https://towardsdatascience.com/gate-recurrent-units-explained-using-matrices-part-1-3c781469fc18

Gated Recurrent Units explained using Matrices: Part 1
Gated Recurrent Units explained using Matrices: Part 1
  • Sparkle Russell-Puleri
  • towardsdatascience.com
In the first step a dictionary of all of the unique characters is created to map each letter to a unique integer: Character dictionary : {‘h’: 0, ‘a’: 1, ‘t’: 2, ‘M’: 3} Our encoded input now becomes: MathMath = [3, 1, 2, 0, 3, 1, 2, 0] Step 1: Create batches of data This step is achieved by the user specifying how many batches (B), or sequence...