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

 
Aleksey Vyazmikin #:

Non riesco ancora a capire come funziona. Tutto si svolge in un unico spazio, nella metrica di un solo predittore, ma come prendere in considerazione gli altri?

Per quanto riguarda la previsione, pensavo di utilizzare due modelli: uno rileva ciò che è stato eliminato o conferma che i dati si trovano nell'area di "raggruppamento", mentre l'altro lavora già su ciò che è rimasto.

Nell'esempio ci sono 2 predittori, cioè cambiamo la distanza nello spazio bidimensionale (calcoliamo l'ipotenusa). Se ci saranno 5000 segni, allora si misurerà la distanza nello spazio a 5000 dimensioni (come misurare - vedere il codice k-means in Algibe, dove proprio questo è il compito principale - misurare le distanze, prenderlo come base).
Sembra la radice della somma dei quadrati dei cateti in tutti gli spazi https://wiki.loginom.ru/articles/euclid-distance.html.

Se lo farete davvero, non dimenticate di regolare i predittori, in modo che, ad esempio, volumi di 1...100000 non inghiottano nei calcoli delta di prezzo di 0,00001...0,01000.

Come rilevarlo? Questa è la domanda. Soprattutto sui dati di mercato, dove non ci sarà una separazione così netta dell'area rumorosa come nell'esempio. Tutto sarà rumoroso, al 90-99%.

Potrebbe essere più facile utilizzare pacchetti già pronti per la rimozione delle linee rumorose, magari dotati di un rilevatore....

 
Maxim Dmitrievsky #:

https://www.mql5.com/ru/articles/9138

È passato un anno dall'ultima volta che a qualcuno è interessato

Ho scritto una dozzina o una ventina di algoritmi di questo tipo, alcuni dei quali si sono dimostrati validi. L'articolo non è il migliore in termini di stabilità dei risultati, il primo pancake.

Quindi non c'è nulla da discutere, perché non c'è ancora nulla di meglio.


Beh, perché non c'è nessun caso - penso che python non è ancora diffuso tra i commercianti, in modo che le persone si muovono alla discussione attiva.
Proverò il tuo approccio più tardi sul mio campione.

Hai provato il metodo CatBoost out-of-the-box?

 

sibirqk #:
Они синхронизированы. Я же написал в начале поста - 'выровнял их по датам', что как раз и означает синхронизацию пар по времени.

"Ma purtroppo, imho, si tratta di nuovo di completa casualità. L'immagine è un pezzo di grafici per illustrare".

Hai ragione, non è così semplice

 
Forester #:

Nell'esempio ci sono 2 predittori, cioè cambiamo la distanza nello spazio bidimensionale (calcoliamo l'ipotenusa). Se ci saranno 5000 segni, allora si misurerà la distanza nello spazio a 5000 dimensioni (come misurare - vedere il codice k-means in alglib, è il compito principale - misurare le distanze, prenderlo come base).
Sembra la radice della somma dei quadrati dei cateti in tutti gli spazi https://wiki.loginom.ru/articles/euclid-distance.html.

Ora sta emergendo una comprensione - grazie - ci penserò.

Forester #:

Se lo farete davvero - non dimenticate di aggiustare i predittori, in modo che per esempio i volumi 1...100000 non inghiottano i delta di prezzo 0,00001...0,01000 nei calcoli.

È vero, è necessario normalizzare. Tuttavia, cosa succederebbe se non li quantificassimo e calcolassimo le metriche solo in base agli indici? :) E non mi piace l'idea di contare attraverso i cateti: è già artificiale così com'è.

Tuttavia, la cosa giusta sarebbe riprodurre l'algoritmo proposto e poi pensare a migliorarlo.

Foresta #:

Come individuarlo? Questa è la domanda. Soprattutto sui dati di mercato, dove non ci sarà una separazione così netta dell'area rumorosa come nell'esempio. Tutto sarà rumoroso, al 90-99%.

Potrebbe essere più facile utilizzare pacchetti già pronti per la rimozione delle linee rumorose, magari dotati di un rilevatore....

In realtà, avete guardato il video? Lì, verso la fine del video, si dice che viene costruito il modello, che appunto e rileva a quale area appartengono i dati, e se a non cumulativo, in base al campione dato su cui è avvenuto l'addestramento, il segnale viene ignorato, a quanto ho capito. È chiaro che abbiamo dati molto peggiori di quelli discussi, ma se si tratta del 20%-30% dell'obiettivo "1", sarò già contento.

Un'altra opzione è quella di addestrare il modello a rilevare questi esempi esclusi, contrassegnando quelle righe nel campione complessivo.

 
Aleksey Vyazmikin #:

È vero, dovremmo normalizzare. Tuttavia, cosa succede se non sono quantificati e la metrica è calcolata puramente dagli indici? :) E non mi piace l'idea di contare attraverso i cateteri: è artificiale.

Un chip è quantizzato a 2 quanti, l'altro a 32. Non funzionerebbe.

Aleksey Vyazmikin #:

In realtà, hai guardato il video? Lì, verso la fine del video, si dice che il modello è costruito, che semplicemente e rileva a quale area appartengono i dati, e se a non cumulativo, in base al campione dato su cui ha avuto luogo l'addestramento, allora il segnale viene ignorato, come ho capito. Chiaramente abbiamo dati molto peggiori di quelli discussi, ma se si tratta del 20%-30% dell'obiettivo "1", sarò contento.

Un'altra opzione è quella di addestrare il modello a rilevare questi esempi esclusi, contrassegnando le righe in questione nel campione complessivo.

Non l'ho ancora esaminata.
È possibile rilevare gli esempi esclusi senza tutti questi calcoli. Ve l'ho già detto: basta escludere le foglie con una probabilità di una delle classi di circa il 50%.

 
Forester #:

Un chip è quantizzato a 2 quanti, l'altro a 32. Non va bene.

No, sarà lo stesso posto relativo - numero di splitter (split) - fisso per tutti.

Forester #:

È possibile individuare gli esempi esclusi senza tutti questi calcoli. Te l'ho già detto: basta escludere le foglie che hanno circa il 50% di probabilità di appartenere a una delle classi.

Ci possono essere molti metodi diversi. A me interessa la variante dell'elaborazione prima della costruzione del modello - perché mi sembra che dia meno varianti di combinazioni di costruzione, il che riduce l'errore alla conclusione finale - se il modello finale è stato addestrato con successo o meno, in generale.
Inoltre, se parliamo del fatto che si può "buttare via" qualcosa, si dovrebbe menzionare di quali modelli stiamo parlando. Se si tratta di una foresta, dobbiamo contare la percentuale di foglie senza "scartare" o contare il numero di attivazioni di queste foglie vicine al 50% e non reagire al segnale se la loro soglia viene superata?
Quando si fa il bousting, lì è ancora più divertente - le foglie incerte in totale possono spostare la probabilità in una direzione o in un'altra - continuo a voler fare un grafico per mostrare come si distribuiscono i pesi a seconda dello spostamento della probabilità, ma continuo a rimandare. Per tre giorni il computer considera la somiglianza delle foglie del modello - penso di ottimizzare l'algoritmo - troppo lungo....

 
Forester #:
Se ci sono 5000 caratteristiche
Con una dimensionalità così grande, gli algoritmi metrici come KNN hanno poco senso. In parole povere, l'intero campione risulta essere quasi alla stessa distanza da qualsiasi punto e il risultato sarà determinato da piccole deviazioni casuali delle distanze.
 
Aleksey Vyazmikin #:

Beh, perché non c'è nessun caso - penso che python non sia ancora diffuso tra i trader, in modo che le persone si muovano verso la discussione attiva.
Proverò il tuo approccio più tardi sul mio campione.

Hai provato il metodo out-of-the-box di CatBoost?

Cos'è il metodo out-of-the-box
Python è opzionale. Ho buttato un sacco di letteratura.
Beh, prevedo anche che tutti coloro che non hanno ancora iniziato, un po' di tempo saranno capricciosi, e poi arriveranno a questo argomento :) forse in 10 anni, forse in 100 anni

È come se non ci fossero altre opzioni, semplicemente non ce ne sono. Ci possono essere opzioni con altre reti neurali, ma il principio è lo stesso: dividere e conquistare.
 
Maxim Dmitrievsky #:
Qual è il metodo fuori dalla scatola

Questa è la funzionalità.

Maxim Dmitrievsky #:
È come se non ci fossero altre opzioni, semplicemente non esistono. Ci possono essere varianti con altre reti neurali, ma il principio è lo stesso: dividere e conquistare.

Esistono diversi modi di dividere/separare i dati e sono già stati provati in questo thread - non hanno mostrato risultati significativi, quindi sono stati "dimenticati".

Ci sono le reti bayesiane: a prima vista sono interessanti solo per la loro capacità di ripristinare le relazioni causa-effetto.

 
Aleksey Vyazmikin #:

Ecco la funzionalità.

Esistono diversi modi per dividere/separare i dati e sono già stati provati in questo thread - non hanno dato risultati significativi, quindi sono stati "dimenticati".

Ci sono le reti bayesiane: a prima vista sono interessanti solo per la loro capacità di ripristinare le relazioni causa-effetto.

No, non le ho provate. Vedrò stasera di cosa si tratta.
Questi metodi dipendono dal modello. I dati non sono separati o separati da soli. Non so come spiegarlo. Ci ho provato una volta e ho avuto di nuovo problemi con gli ottimizzatori. È scritto nei libri.
Se si va a sinistra, si perde un cavallo. Se si va a destra, si perde il drago a due teste.
Motivazione: