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

 

humnocode su python oggi e ho ottenuto questo

traine

prova

Forse il tester è sbagliato, forse qualcos'altro, lo ricontrollerò domani sera. Lo sto facendo per un articolo (voglio descrivere il mio approccio), forse catbust è meglio per affrontare questa strategia che la foresta

 
Maxim Dmitrievsky:

humnocode su python oggi e ho ottenuto questo

traine

prova

Forse il tester è sbagliato, forse qualcos'altro, lo ricontrollerò domani sera. Faccio per l'articolo (voglio descrivere il mio approccio), forse catboost è meglio per gestire questa strategia che la foresta.

Quindi CatBoost è addestrato su un test, secondo i loro campioni di sistema di denominazione - c'è qualcosa di sbagliato?

 
Aleksey Vyazmikin:

Quindi CatBoost è addestrato al test, secondo il loro sistema di denominazione dei campioni - nessuna confusione?

Intendo nuovi dati del tutto, un diverso pezzo di storia. Dovrebbe essere così sul treno, ma il test è confuso. Forse il tester sta sbirciando da qualche parte.

Ottengo 0,6-0,7 di errore sulla mia foresta a circa gli stessi dati ed è lo stesso su trayne, e il test non è sempre buono e quasi sempre peggiore di trayne. L'errore nel boost è circa lo stesso, ma il test è molto buono, non succede.

come stai facendo, hai fatto qualche progresso con le foglie?
 
Maxim Dmitrievsky:

Intendo nuovi dati del tutto, un diverso pezzo di storia. Dovrebbe essere così sul Treno, ma il test è confuso. Forse il tester sta sbirciando da qualche parte.

Ottengo 0,6-0,7 di errore nella mia foresta a circa gli stessi dati ed è lo stesso su sentiero, e il test non è sempre buono e quasi sempre peggiore del sentiero. Il boost ha circa lo stesso errore, ma il test è dolorosamente buono, questo non accade

come stai facendo, hai guadagnato delle foglie?

Beh, allora non lo so - senza un campionamento è difficile sapere cosa c'è che non va.

I miei risultati non mi rendono molto felice. Ho raccolto una discreta quantità di foglie, ma poi viene il problema di come farle funzionare al meglio tra loro. Il fatto è che spesso si sovrappongono l'un l'altro del 20%-50% o più, e quindi risulta che danno lo stesso segnale, che non è molto buono. L'idea è di raggrupparli e fare per ogni gruppo una soglia di attivazione - quindi penso al modo migliore per farlo.

Finora sto sperimentando il filtraggio reciproco - ho addestrato l'albero in R sulle foglie, ma finora solo sull'acquisto.

Il primo screenshot senza albero e il secondo con l'albero. Il periodo è marzo-settembre di quest'anno.

Naturalmente la curva di equilibrio non è molto attraente, ma è una strategia di tendenza, la cui essenza è di non perdere più di quanto si guadagna durante il periodo piatto, e il mercato (Si) è piatto tutto l'anno con rari movimenti forti. Vedo che l'aggiunta di un albero ha migliorato gli indicatori relativi, farò lo stesso per la vendita un po' più tardi, se il risultato è positivo, sarà una parte del modello.

La questione della selezione delle foglie fino alla fine non è risolta, anche selezionando le foglie che hanno mostrato buoni risultati in ciascuno dei 5 anni ci si può aspettare che il 20%-40% smetta di lavorare, che è ancora più triste è l'incapacità di capire se spegnerle o meno - soprattutto per trimestri ha fatto il test, si è scoperto che le foglie non redditizie nel trimestre passato si sovrappongono alla perdita (molte) nei trimestri successivi.

Il metodo di selezione delle foglie in sé sembra promettente, ma il processo è molto lento.

 
Aleksey Vyazmikin:

Beh, allora non so - senza un campione, è difficile sapere cosa c'è che non va.

Non sono molto contento dei risultati. Ho raccolto una quantità decente di foglie, ma la prossima domanda è come farle lavorare meglio insieme. Il fatto è che spesso si sovrappongono l'un l'altro del 20%-50% o più, e quindi risulta che danno lo stesso segnale, che non è molto buono. L'idea è di raggrupparli e fare per ogni gruppo una soglia di attivazione - quindi penso al modo migliore per farlo.

Finora sto sperimentando il filtraggio reciproco - ho addestrato l'albero in R sulle foglie, ma finora solo sull'acquisto.

Il primo screenshot senza albero e il secondo con l'albero. Il periodo è marzo-settembre di quest'anno.

Naturalmente la curva di equilibrio non è molto attraente, ma è una strategia di tendenza, la cui essenza è di non perdere più di quanto si guadagna durante il periodo piatto, e il mercato (Si) è piatto tutto l'anno con rari movimenti forti. Posso vedere che l'aggiunta di un albero ha migliorato gli indicatori relativi, farò lo stesso per la vendita più tardi, se il risultato è positivo, sarà una parte del modello.

La questione della selezione delle foglie fino alla fine non è risolta, anche selezionando le foglie che hanno mostrato buoni risultati in ciascuno dei 5 anni ci si può aspettare che il 20%-40% smetta di lavorare, ciò che è ancora più triste è l'incapacità di capire se spegnerle o meno - nello specifico per trimestri ha fatto il test, si è scoperto che le foglie non redditizie nel trimestre passato si sovrappongono alla perdita (molte) nei trimestri successivi.

Il metodo di selezione delle foglie sembra promettente, ma il processo è estremamente lento.

Non ricevo un muzen per questo, peccato.

Ci sono pochissimi scambi, non è rappresentativo. E dovremmo filtrare quelli non redditizi, perché sono tutti inutili
 
Maxim Dmitrievsky:

Sì, non ci si può guadagnare in fretta, è un peccato.

Ci sono pochissimi scambi, non è rappresentativo. E dovresti filtrare quelli non redditizi, sono tutti uguali, non ti servono.

Sì, il problema è che per ogni segnale di foglia assegnato 1 lotto, rispettivamente, se un sacco di foglie attivato, quindi più lotti necessari - ci sono 71 lotti, ma molto raramente, e se si mantiene il denaro a 71 lotti tutto il tempo, quindi il totale otterrebbe il 25% all'anno - GO sullo scambio è grande, ed è Si.

Riguardo alla rimozione dei non redditizi - questa è un'arma a doppio taglio - da un lato è possibile aumentare il numero di filtri, che ridurrà il numero di trade perdenti, ma allo stesso tempo riduce il numero di quelli redditizi, come ho scritto sopra, molte foglie diventano redditizie durante l'anno, quindi è una questione di tempo, una questione di condizioni di mercato. Il problema con questo approccio è che è molto laborioso e non c'è la possibilità di aggiungere prontamente nuovi predittori, idee per le quali ho e appaiono regolarmente - ora sto lavorando effettivamente con un campione da febbraio di quest'anno.

Un altro modo per migliorare gli indicatori, è quello di lavorare sulle prese di profitto - al momento la chiusura è fatta principalmente da stop e una condizione - in rare occasioni.

Nonostante tutti gli inconvenienti il sistema non ha perso soldi per quasi un anno, il che può indicare la giusta direzione.

 
Aleksey Vyazmikin:

Sì, il problema è che per ogni segnale di foglia assegnato 1 lotto, rispettivamente, se un sacco di foglie attivato, quindi più lotti necessari - ci sono 71 lotti, ma molto raramente, e se si mantiene il denaro a 71 lotti tutto il tempo, quindi il totale otterrebbe il 25% all'anno - GO sullo scambio è grande, ed è Si.

Riguardo alla rimozione dei non redditizi - questa è un'arma a doppio taglio - da un lato è possibile aumentare il numero di filtri, che ridurrà il numero di trade perdenti, ma allo stesso tempo riduce il numero di quelli redditizi, come ho scritto sopra, molte foglie diventano redditizie durante l'anno, quindi è una questione di tempo, una questione di condizioni di mercato. Il problema con questo approccio è che è molto laborioso e non c'è la possibilità di aggiungere prontamente nuovi predittori, idee per le quali ho e appaiono regolarmente - ora sto lavorando effettivamente con un campione da febbraio di quest'anno.

Un altro modo per migliorare gli indicatori, è quello di lavorare sulle prese di profitto - al momento la chiusura è fatta principalmente da stop e una condizione - in rare occasioni.

Nonostante tutte le carenze, il sistema non perde soldi da quasi un anno, il che può essere un segno della giusta direzione.

È possibile addestrare un 2. modello sopra il primo, sulle stesse caratteristiche. Ma correggerà solo le entrate di Equity, cioè proibirà/consentirà le transazioni. Almeno non ci saranno scambi inutili.

 
Maxim Dmitrievsky:

è possibile addestrare un 2. modello sopra il primo, con le stesse caratteristiche. Ma correggerà solo le entrate azionarie, cioè proibirà/consentirà le transazioni. Almeno non ci saranno scambi inutili.

O qualcosa come un portafoglio di sistema con ricalcolo a scorrimento.

 
Maxim Dmitrievsky:

è possibile addestrare un 2. modello sopra il primo, con le stesse caratteristiche. Ma correggerà solo le entrate azionarie, cioè proibirà/consentirà le transazioni. Almeno non ci saranno scambi inutili.

Non capisco bene come suggerisci di cambiare l'obiettivo - in questo momento ho già 3 obiettivi - comprare/vendere/non commerciare. E, io selezionare fogli di acquistare / vendere, e poi per ogni tale foglio cercando un filtro di fogli "non commerciare", fino a 3 pezzi (per alcuni è sufficiente per alcuni non è sufficiente - condotto i test). Dopo i risultati di queste coppie - foglia di attivazione + foglia di filtro, ho costruito un albero basato sul segnale finale, che ha preso in considerazione le risposte di tutte le foglie e la loro esclusione reciproca, cioè ho ottenuto un ulteriore filtro.

Qui c'è un albero

Voglio provare il modello su CB invece che su albero, forse lì la generalizzazione di tutte le foglie usate sarà migliore, anche se la precisione è aumentata dell'1%, che non è molto, ma il risultato è positivo.

 
Aleksey Vyazmikin:

Non capisco bene come suggerisci di cambiare l'obiettivo - in questo momento ho fondamentalmente 3 obiettivi - comprare/vendere/non commerciare. E, seleziono i fogli di acquisto/vendita, e poi per ogni foglio cerco un filtro di fogli "non scambiare", fino a 3 pezzi (per alcuni è sufficiente, per altri non è sufficiente - ho fatto dei test). Dopo i risultati di queste coppie - foglia di attivazione + foglia di filtro, ho costruito un albero basato sul segnale finale, che ha preso in considerazione le risposte di tutte le foglie e la loro esclusione reciproca, cioè ho ottenuto un ulteriore filtro.

Qui c'è un albero

Voglio provare il modello su CB invece che sull'albero, forse lì la generalizzazione di tutte le foglie usate sarà migliore.

Beh, si dovrebbe iniziare con la teoria. Per esempio, che senso ha selezionare i modelli separatamente per la vendita e per l'acquisto?

Tutto ciò che non è per comprare è per vendere, e viceversa. Ecco perché abbiamo bisogno di un classificatore binario ordinario. Inoltre, se lo facciamo in questo modo, perché abbiamo bisogno di una classe separata "do not trade", quando si possono semplicemente filtrare le entrate attraverso una soglia più alta. Alla classe "non commerciare" può essere dato un peso eccessivo dal modello, a causa del quale l'errore del modello sarà ridotto e la capacità predittiva (generalizzazione), in generale, cadrà.

Il punto del secondo modello è che il 1° modello avrà errori del 1° e 2° tipo - falso positivo e falso negativo. Siamo interessati a rimuoverli. Per fare questo si inseriscono le stesse caratteristiche nell'input del secondo modello e nell'output del primo modello, dove 0 - il trade era redditizio, 1 - il trade non era redditizio. Addestra il secondo classificatore e fai trading solo quando mostra 0, cioè filtra i segnali del 1° modello. Le transazioni in perdita quasi spariranno sul vassoio, devi testarlo sul test - questo è uno.

Puoi addestrare il secondo modello non solo su un vassoio, ma anche catturare OOS, poi correggerà i trade sui nuovi dati - sono due. E poi i test.

È possibile dividere il campione in falli, e insegnare i modelli in ordine di scacchiera, attraverso certi pezzi. Per esempio, 5 falli. Il primo modello è addestrato subito su 1,3,4 falli. Il secondo modello correttivo su 2,5. Questo migliorerebbe ulteriormente la generalizzazione.
Motivazione: