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

 

In precedenza abbiamo parlato della possibilità teorica di rimuovere i valori rumorosi da un array, ecco il modello originale

e qui ho rimosso il rumore da 0,01 a -0,01 da un array con pesi di risposta ad albero binario

Il guadagno è leggermente inferiore, ma la performance relativa è migliorata.

 

Hm, rimosso (valori azzerati) già alberi binari da -0,02 a 0,02

sembra che non ci sia un progresso debole, il che significa che c'è un nocciolo di razionalità in questo - sono necessarie ulteriori ricerche.

 
Aleksey Vyazmikin:

In termini molto primitivi, il primo albero non ha risposta al campione, restituisce zero, e il quarto albero ha questa risposta e conta "probabilità" 0,6 - tecnicamente ha corretto l'errore del primo albero, ma in realtà ha rivelato una connessione che prima non esisteva affatto.

L'errore del primo albero può essere non solo 0, ma anche 1.

Cioè se il primo albero ha predetto 1, ma in realtà era 0, allora gli alberi successivi dovrebbero diminuire il totale da 1 a 0. Cioè 2, 3 ecc. gli alberi daranno una predizione negativa per diminuire 1 dal primo albero a 0 dopo N passi con diverse sottrazioni.

 
elibrario:

L'errore del primo albero può essere non solo 0, ma anche 1.

Cioè se il primo albero ha previsto 1, ma in realtà c'è 0, allora gli alberi successivi dovrebbero diminuire il totale da 1 a 0. Cioè 2, 3 ecc. gli alberi daranno una previsione negativa per ridurre 1 dal primo albero a 0 dopo N passi con diverse sottrazioni.

Naturalmente, sono d'accordo. Ma non cambia l'essenza - la cosa importante è il modello che l'albero troverà, e l'interpretazione di questo modello è il lavoro di un algoritmo separato.

 
Aleksey Vyazmikin:

E non conosco la comunità, cioè non so come lo fanno altri individui in altre zone?

Estrarre i dati mi sembra logico, perché sto cercando un modello di comportamento umano (o un algoritmo) con l'aiuto del MO, ci possono essere molti modelli di comportamento e possono essere indipendenti, quindi ha senso estrarre il maggior numero possibile, perché è impossibile generalizzarli tutti insieme. E per qualcuno il mercato è qualcosa di intero, il risultato di un lavoro mentale collettivo, una specie di organo di voto senza regole, probabilmente stanno cercando il modello giusto per descrivere il comportamento del mercato come un organismo separato.

Come si fa a non saperlo quando si è parte di esso?)

forse sto condividendo, dato che l'obiettivo originale era di fare qualcosa come un'IA che raccogliesse tutto da sola, senza una routine manuale. Routine solo quando si progetta una cosa del genere

Non posso immaginare di passare attraverso centinaia/migliaia di modelli manualmente, selezionando qualcosa lì. Al contrario, voglio dimenticare di "inventare" i TC come un brutto sogno.

 
Maxim Dmitrievsky:

Come fai a non sapere quando ne fai parte?)

forse sto condividendo, dato che l'obiettivo originale era di fare qualcosa come un'IA che coglie tutto da sola, senza un lavoro manuale. Routine solo quando si progetta una cosa del genere

Non posso immaginare di passare attraverso centinaia/migliaia di modelli manualmente, selezionando qualcosa lì. Al contrario, voglio dimenticare di "inventare" TC come un brutto sogno.

E non ho idea di come analizzare ogni modello separatamente - ecco perché ho posto l'accento sull'elaborazione in batch. I singoli modelli dovrebbero essere analizzati in dettaglio per migliorare l'algoritmo generale del ciclo di creazione dei modelli, per trovare nuove idee.

Il problema è che quando si hanno centinaia di migliaia di varianti di modelli che danno risultati totalmente diversi, è difficile capire cosa fare per migliorare i risultati - è qui che ho l'intoppo più grande. All'inizio ottengo un modello interessante con 4 predittori e mi sembra che non abbia senso aggiungere altri predittori e solo più modelli dovrebbero essere generati, poi al contrario uso un sacco di predittori e l'influenza del campione di allenamento ha più, più un sacco di parametri per la formazione con CatBoost stesso. Ecco perché sono propenso a generare molti modelli e a salvarne 2-3 ogni 100k e a studiarli più a fondo.

 
Aleksey Vyazmikin:

Non ho idea di come analizzare ogni modello separatamente - da qui l'enfasi sull'elaborazione in batch. Il problema è che quando si hanno centinaia di migliaia di varianti di modelli che danno risultati completamente diversi, è difficile sapere cosa fare con loro.

Il problema è che quando si hanno centinaia di migliaia di varianti di modelli che danno risultati totalmente diversi, è difficile capire cosa fare per migliorare i risultati - è qui che ho l'intoppo più grande. All'inizio ottengo un modello interessante con 4 predittori e mi sembra che non abbia senso aggiungere altri predittori e solo più modelli dovrebbero essere generati, poi al contrario uso un sacco di predittori e l'influenza del campione di allenamento ha più, più un sacco di parametri per la formazione con CatBoost stesso. Quindi sono propenso a che sia necessario generare molti modelli e salvarne 2-3 da ogni 100k, e ci sono già più dettagliati da studiare.

Sì, così, è auspicabile il più possibile per automatizzare, che poi è rimasto una scelta banale che è più preferibile, avere una tazza di caffè

È difficile da fare, sono d'accordo, ma sarà AI e non un classificatore normale.

Per quanto riguarda l'ultimo - c'è un AutoML libs - una rete neurale seleziona la migliore rete neurale o un insieme di modelli per un particolare compito, è anche figo. Non ancora utilizzato.
 
Maxim Dmitrievsky:

Sì, qualcosa del genere, preferibilmente automatizzato il più possibile, in modo che dopo ci sia una banale scelta di quale ti piace di più, davanti a una tazza di caffè.

difficile da fare, sono d'accordo, ma allora sarebbe un'IA, non un classificatore normale.

Ora dopo l'addestramento, i risultati vengono elaborati dallo script (senza interprete del modello - dal calcolo di CatBoost), e su 100k modelli ottengo quelli che soddisfano i criteri definiti (modello e criteri commerciali) per tutti e tre i campioni, otteniamo circa 50-100 modelli, li converto in visualizzazione nel terminale e faccio re-pass per un'ulteriore selezione più dettagliata. In realtà, potrei anche non lanciarli nel terminale, se so esattamente cosa voglio, ma per ora sto cercando dei criteri di selezione e penso che sia utile guardare visivamente i diversi modelli. Posso salvare le curve di equilibrio con lo script, ma non so come lavorare con i grafici - non riesco ancora a capirlo.

Non so se in Python si possono creare molti modelli in una volta sola, ma se è interessante, posso mandarti le bacchette che uso per farlo.

 
Aleksey Vyazmikin:

Ora dopo l'allenamento i risultati vengono elaborati dallo script (senza l'interprete del modello - basato sui risultati di CatBoost), e su 100k modelli ottengo quelli che soddisfano i criteri (modello e criteri commerciali) per tutti e tre i campioni, ottengo circa 50-100 modelli, li converto per la riproduzione nel terminale e faccio un secondo passaggio lì per una ulteriore selezione più dettagliata. In realtà, potrei anche non lanciarli nel terminale, se so esattamente cosa voglio, ma per ora sto cercando dei criteri di selezione e penso che sia utile guardare visivamente i diversi modelli. Posso salvare le curve di equilibrio con lo script, ma non so come lavorare con i grafici - non riesco ancora a capirlo.

Non so se in python si possono creare molti modelli in una volta sola, ma se è interessante, posso mandarti le bacchette che uso per farlo.

si può fare qualsiasi cosa in python e non solo.

Non ancora, no grazie... Sto solo leggendo alcuni libri interessanti. Ho usato anche io catbust in python, l'ho confrontato con forest, non ho visto grandi miglioramenti, ma è configurabile e funziona bene da solo. In realtà in un paio di righe.

 
Maxim Dmitrievsky:

AutoML - una rete neurale seleziona la migliore rete neurale o l'insieme di modelli per un particolare compito, anche figo. Non l'ho ancora usato.

Ho fatto qualcosa di simile - la domanda è di nuovo sui predittori e sui criteri di selezione (target). Ora (molti mesi dopo) finalizzare tutte le idee con i predittori e tornare a questo argomento. E il risultato è lì in generale, ho postato prima come funzionano tali modelli, ma ho bisogno di campioni diversi con dispersione diversa, preferibilmente da modelli diversi.

E cosa usa AutoML come predittori e come obiettivo?