L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 1202
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
Non capisco bene cosa ci sia nelle cifre e quale sia il problema
Le figure mostrano il risultato finanziario (asse y) del modello quando si scelgono diverse probabilità per la classificazione binaria (asse x). Utilizzando un campione di prova, ho capito che si dovrebbe sempre entrare nel mercato quando appare un segnale di attivazione (la formazione decide se entrare o meno). Il paradosso è che l'apprendimento provoca solo un deterioramento del segnale di attivazione di base e non l'avrei visto, se non avessi deciso di vedere come il risultato finanziario cambia a seconda dello spostamento del punto di classificazione sul segmento di probabilità.
Ho fatto un sacco di varianti di modelli io stesso, ora sto cercando di capire quale scegliere per il monitoraggio :D o per migliorarlo ulteriormente
in breve... questi approcci non alimentano affatto l'output in modo corretto, sia che si tratti di zigzag o di qualche altra assurdità
perché per ogni dimensione della finestra scorrevole ci dovrebbe essere una diversa distribuzione da cui vengono fatti gli scambi. Poi il modello si adatta meglio, anche al campione di prova. (mentre gli zigzag o altre uscite sono molto deterministiche di per sé, ci sono pochi gradi di libertà per l'adattamento) Quest'ultimo è fatto e cioè, l'enumerazione delle uscite è più completa, e poi non c'è davvero nient'altro da fare
agli ingressi di incrementi con diversi ritardi, nel vecchio modo, con auto-selezione attraverso importans e forse attraverso PCA per sbarazzarsi di correlazione, tali varianti di bot anche fatto. Ma in generale, usare la PCA è un'idea sbagliata (anche se, di nuovo, su Internet si scrive il contrario). Non solo i campioni devono essere centrati, ma con i nuovi dati questi componenti si trasformano lentamente in scorieAbbiamo un approccio molto diverso al problema. Sono estraneo a una descrizione puramente matematica del prezzo senza alcuna giustificazione reale (modelli visivamente osservabili). Al contrario, io applico ZZ e ne vedo l'efficienza (i pedicatori su ZZ sono sempre in cima alla lista in tutti i pacchetti MO). Penso che combinare i due approcci potrebbe migliorare il risultato.
Selezionare i modelli attraverso la significatività non ha senso - ho dimostrato prima che rimuovere diversi predittori significativi sullo stesso modello può migliorare i risultati di apprendimento e formare nuove relazioni più produttive e stabili nelle foglie degli alberi. Tutta questa "importanza" è un principio avido nella costruzione degli alberi, che non è corretto a priori, quindi ho bisogno di metodi di valutazione dei predittori significativi separati - non li ho ancora.
Maxim Dmitrievsky:
Tutto questo dà qualcosa del genere, praticamente senza problemi, basta aspettare 10 minuti:
la possibilità di ulteriori miglioramenti sembra dubbia in realtà, quando il modello funziona già oltre il 100% dei treni
forse con un buon pezzo di grafica/strumento si può spremere di più.
Sembra buono, ma il periodo del modello è troppo breve, come si comporta sui dati di un anno fa?
Le figure mostrano il risultato finanziario (asse y) del modello quando si scelgono diverse probabilità per la classificazione binaria (asse x). Sul campione di prova, ho ottenuto la conclusione che si dovrebbe sempre entrare nel mercato quando appare il segnale di attivazione (la formazione decide se entrare nel mercato o no). Il paradosso risultante è che l'apprendimento provoca solo il deterioramento del segnale di attivazione di base e non l'avrei visto, se non avessi deciso di vedere come il risultato finanziario cambia a seconda dello spostamento del punto di classificazione sul segmento di probabilità.
Abbiamo un approccio molto diverso al problema. Sono estraneo a una descrizione puramente matematica del prezzo senza alcuna giustificazione reale (modelli visivamente osservabili). Al contrario, io applico ZZ e ne vedo l'efficienza (i pedicatori su ZZ sono sempre in cima alla lista in tutti i pacchetti MO). Penso che combinare i due approcci potrebbe migliorare il risultato.
Selezionare i modelli attraverso la significatività non ha senso - ho dimostrato in precedenza che la rimozione di diversi predittori significativi sullo stesso modello può migliorare i risultati di apprendimento e formare nuove relazioni più produttive e stabili nelle foglie degli alberi. L'intera cosa dell'"importanza" è un principio di avidità nella costruzione degli alberi, che non è corretto a priori, quindi abbiamo bisogno di metodi di stima dei predittori significativi separati - non li ho ancora.
come, l'importanza dovrebbe essere guardata sul campione di prova, e finita sul campione di allenamento. Le importazioni classicamente incorporate come gini mentono sempre, dobbiamo fare la permutazione (randomizzare ciascuno dei predittori uno per uno e guardare l'errore del modello), poi buttare via i peggiori. Bisogna sbarazzarsi prima delle caratteristiche correlate, altrimenti le importazioni attraverso la permutazione mentiranno anche. Niente sciocchezze, si ottiene il miglior modello possibile. Perché cercare di reinventare la ruota se finora non è stato inventato niente di meglio.
Non sembra male, ma il periodo del modello è troppo breve, come si comporta su dati vecchi di un anno?
15 minuti, non insegno più a lungo perché ci vuole più tempo per aspettare.
Per quanto riguarda il grafico a 15 minuti, solo fxsaber è abbastanza buono per farlo anche per qualche anno :)
Ho una leva senza azione, cioè nessuna strategia è incorporata nel modello dall'inizioSto guardando un grafico del profitto rispetto al numero di alberi in un modello (512 modelli)
e sembra che i modelli con più alberi sopra i 60 siano meno probabili o il campione è piccolo...
Ecco altri grafici con diversi numeri di alberi.
Campione 7400 per tutti, algoritmo rf
Numero di alberi 50
L'errore diminuisce al crescere del numero di alberi. Sembra aumentare, improvvisamente a zero.
Numero di alberi = 150
Con 150 la precisione sale, ma abbastanza modestamente, di un paio di centesimi.
Aumentare il numero di alberi
Conclusione: fino a 50 alberi ha senso aumentare il numero di alberi, ma oltre i 100 non ha senso.
Sono troppo pigro per farlo ora, ma stavo cambiando la dimensione del campione.
La dimensione del campione fino a 1000 osservazioni influenza fortemente la precisione del modello. Ma dopo 5000 la dimensione del campione NON influenza l'accuratezza del modello.
Quindi concludo: l'errore non è determinato dal modello o dai suoi parametri, ma dalla combinazione "predittori-bersaglio".
Aumentiamo il numero di alberi
Quindi concludo: l'errore non è determinato dal modello o dai suoi parametri, ma dal legame "predittori-bersaglio".
50-100 alberi sono raccomandati inizialmente, non ha senso allevare così tanti classificatori deboli, non ho visto nemmeno un miglioramento.
monte carlo e simili per aiutare, sanSanSanych... costruire fasci non è una cosa da mente umana, è solo un f... cervelliBeh, bisogna guardare le importazioni sul campione di prova, e adattarle al campione di allenamento. Le importazioni classicamente incorporate come gini mentono sempre, dovremmo fare una permutazione (randomizzare ciascuno dei predittori uno per uno e controllare l'errore del modello), poi scartare i peggiori. Bisogna sbarazzarsi prima delle caratteristiche correlate, altrimenti le importazioni attraverso la permutazione mentiranno anche. Niente sciocchezze, si ottiene il miglior modello possibile. Perché inventare una bicicletta se finora non è stato inventato niente di meglio.
Onestamente non capisco il metodo - stiamo parlando di spegnere i predittori dall'allenamento passo dopo passo e confrontare i risultati con e senza questo predittatore? Allora cosa significa randomizzare? Come fai a decidere se fa schifo o no - se il predittore ti permette di dividere correttamente l'1% del campione ed è nella media profondità dell'albero - è buono o cattivo? Forse è necessario considerare la qualità della costruzione dell'albero con il predittore della radice, come taglia il campione ad ogni livello - forse è necessaria una caduta morbida del gradiente... La bicicletta deve inventare, perché ciò che è di dominio pubblico non è il meglio di ciò che esiste, per esempio, forse dovremmo dividere il campione non per massimo ma per media o per x-sigma o altro - forse le regole saranno più complesse, ma più stabili. A proposito, non capisco perché non c'è un metodo di addestramento che utilizzi non solo i contatori numerici per le suddivisioni, ma anche i predittori logici e comparativi?
15 minuti, non mi alleno più a lungo perché l'attesa è più lunga.
Non so... penso che solo fxsaber sia stato in grado di fare un grafico a 15 minuti così liscio per alcuni anni :)
Ho un leerning no-action, cioè nessuna strategia è incorporata nel modello fin dall'inizioAvete mai provato a creare una strategia primitiva e a formare dei filtri per essa, che dessero o rifiutassero di entrare nel mercato?
Onestamente non capisco il metodo - stiamo parlando di rimuovere i predittori dal training passo dopo passo e confrontare i risultati con e senza questo predittatore? Allora cosa significa randomizzare? Come fai a decidere se fa schifo o no - se il predittore ti permette di dividere correttamente l'1% del campione ed è nella media profondità dell'albero - è buono o cattivo? Forse è necessario considerare la qualità della costruzione dell'albero con il predittore della radice, come taglia il campione ad ogni livello - forse è necessaria una caduta morbida del gradiente... La bicicletta deve inventare, perché ciò che è di dominio pubblico non è il meglio di ciò che esiste, per esempio, forse dovremmo dividere il campione non per massimo ma per media o per x-sigma o altro - forse le regole saranno più complesse, ma più stabili. A proposito, non capisco perché non esiste un metodo di allenamento che utilizzi non solo i contatori numerici per gli split, ma anche quelli logici, confrontando i predittori?
Avete mai provato a creare una strategia primitiva e a formare dei filtri per essa che permettono o proibiscono l'entrata nel mercato?
prima allenare il modello con tutte le caratteristiche, salvare gli errori
poi randomizzare ciascuno dei predittori, diciamo con una distribuzione normale, e controllare di nuovo l'errore su tutte le caratteristiche, compreso questo randomizzato (cambiato) e confrontarlo con quello iniziale. Non c'è bisogno di riaddestrare il modello. E quindi controllare ciascuno dei predittori. Se il predittore era buono, l'errore sull'intero campione (compresi tutti gli altri predittori originali) aumenterà drammaticamente rispetto all'originale. Salvare le differenze di errore, vagliare le migliori schede in base ad esse. Poi, alla fine, allenarsi solo sui migliori e modellare in produzione. I cattivi predittori sono rumore per il modello, non hanno bisogno di loro con il loro 1%. Quelli buoni di solito rimangono 5-10, l'importanza del resto diminuisce esponenzialmente (legge di Zipf).
Ho provato a insegnare i filtri, ma non molto, non vedo molto senso, è meglio mettere tutto in un modello in una volta sola
Se è possibile, solo circa la selezione dei predittori MOLTO competente(già gettato prima)
Ecco gli altri grafici con diversi numeri di alberi.
Campione 7400 per tutti, algoritmo rf
Numero di alberi 50
L'errore diminuisce al crescere del numero di alberi. Sembra aumentare, improvvisamente a zero.
Numero di alberi = 150
Con 150 la precisione sale, ma abbastanza modestamente, di un paio di centesimi.
Aumentare il numero di alberi
Conclusione: fino a 50 alberi ha senso aumentare il numero di alberi, ma oltre i 100 non ha senso.
Sono troppo pigro per farlo ora, ma stavo cambiando la dimensione del campione.
La dimensione del campione fino a 1000 osservazioni influenza notevolmente la precisione del modello. Ma dopo 5000 la dimensione del campione NON influenza l'accuratezza del modello.
Da qui la mia conclusione: l'errore NON è determinato dal modello o dai suoi parametri, ma dalla relazione predittore-bersaglio.
Penso che ci possa essere un numero diverso di alberi per le foreste casuali e diversi tipi di boosting, e il numero dipende dalla qualità dei predittori e dalle situazioni, che possono essere diverse per lo stesso obiettivo (come esempio - obiettivo 100 punti di profitto da qualsiasi punto). È interessante vedere quali combinazioni di foglie e quanto spesso sono usate per prendere decisioni - penso che sia il tipo di informazione che può stimare meglio il modello. E, un altro problema è che è impossibile presentare un modello stazionario del mercato per i test e l'addestramento, il che significa che solo una parte del modello addestrato sarà usato nei test e il modello deve essere stimato da questa parte, mentre l'altra parte può rivelarsi molto migliore. E se l'errore di classificazione non è uguale al modulo di classificazione corretto (usiamo una rete a strascico e diminuiamo il costo dell'errore), la stima del modello diventa ancora più complicata.
prima addestrare il modello su tutte le caratteristiche, salvare gli errori
Poi, uno per uno, randomizzate ciascuno dei predittori, diciamo con una distribuzione normale, e controllate di nuovo l'errore su tutte le caratteristiche, compresa questa randomizzata (modificata), e confrontatela con quella iniziale. Non c'è bisogno di riaddestrare il modello. E quindi controllare ciascuno dei predittori. Se il predittore era buono, l'errore sull'intero campione (compresi tutti gli altri predittori originali) aumenterà drammaticamente rispetto all'originale. Salvare le differenze di errore, vagliare le migliori schede in base ad esse. Poi, alla fine, allenarsi solo sui migliori e modellare in produzione. I cattivi predittori sono rumore per il modello, non hanno bisogno di loro con il loro 1%. Quelli buoni di solito rimangono 5-10, l'importanza del resto diminuisce esponenzialmente (legge di Zipf).
Ho provato a insegnare i filtri, ma non molto, non vedo molto senso, è meglio mettere tutto in un modello in una volta sola
Se è possibile, solo circa la selezione dei predittori MOLTO competente(già gettato prima)
Grazie. La randomizzazione dovrebbe avere gli stessi valori del predittore nel campione, giusto?
Nel complesso capisco l'approccio, grazie, devo pensare a come implementarlo e provarlo.
Purtroppo non riesco a padroneggiarlo, quindi ascolterò la tua parafrasi di tanto in tanto.
Ma di nuovo, non credo che questo sia del tutto corretto, poiché dipenderà da quanto vicino alla radice il predittore è nell'albero...