L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 2412
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Alexei, dovresti imparare python o p-cu, provare a costruire qualcosa lì... credetemi, mille domande sarebbero sparite...
Che bel desiderio, e sarebbe utile imparare un paio di lingue straniere, e padroneggiare tutte le altre competenze, che non dipenderebbero da altre persone. Tuttavia, non ho talento in tutto, e mi rendo conto che non otterrò alti risultati nella codifica, e si spenderà troppo sforzo.
Che senso ha controllare l'efficienza dei metodi di selezione dei tratti se sono già testati e funzionanti?
La domanda qui era più sull'efficacia del metodo, cioè di quanto può alla fine migliorare il risultato rispetto all'alimentazione del campione senza escludere i predittori. Cioè l'esperimento vero e proprio.
Il problema non è nel rifiuto dei tratti, è nei tratti stessi, se si alimentano 10 indicatori, poi si seleziona fino al blu in faccia e si ottiene lo stesso risultato da QUALSIASI algoritmo di selezione...
Ho circa 5 predittori al momento, ecco perché questo approccio è interessante.
Avete sentito nel video? Stanno selezionando tra decine di migliaia di caratteristiche, e menzionano anche MSUA dove parlano di creare ed enumerare miliardi di caratteristiche
Questo è ciò di cui dovremmo parlare - sistemi che generano milioni di idee e le controllano automaticamente, questa è l'essenza, sono decisioni individuali, e la selezione delle caratteristiche è la piccola parte finale del processo e non c'è niente di interessante in essa, basta prendere qualsiasi algoritmo e andare avanti, non c'è niente di cui parlare, semplicemente non è interessante.
Sto solo lavorando con un gran numero di caratteristiche, e sviluppando metodi per generarle da un modello. Il processo di binarizzazione delle caratteristiche, possibilmente mantenendo diversi indicatori all'interno del nuovo predittore, che farebbe 50000 caratteristiche su 5000, e devono essere studiate per le relazioni reciproche per creare nuove caratteristiche sature da cui il modello sarà già costruito.
Tutto sommato, non so perché una visione così primitiva della mia attività...
Comunque, non so perché hai una visione così primitiva delle mie prestazioni...
Alexei, come puoi non capire che tutti i tuoi 5k attributi binari possono essere sostituiti da 2-3 -componenti principali, cioè 2-3 attributi e tutto)) ma devi farlo per sapere...
Da dove trae queste conclusioni sulla mia comprensione o meno? Il tema della MGUA non è stato toccato da me perché non c'è una vera esperienza della sua applicazione. Sei pronto a condensare i miei segni in 2-3? Sarei interessato a vederlo e a confrontarlo con il mio approccio. Dal momento che hai già tutto affinato su questo, non credo che sarebbe un problema, vero?
L'ho messo in pratica per molto tempo, estraendo le foglie dai modelli - sono un componente saturo per i modelli più globali.
Molto di ciò che ho inventato ha altri nomi ed è implementato per uso generale, ma quando si fa tutto da zero, c'è una comprensione di fondo di come e perché funziona, non solo teoria.
Devo fare delle cose - ho già abbastanza pensieri da controllare, devo codificare e verificare.
Fan del film Matrix?
Ho pensato a come migliorare il metodo di selezione dei predittori/attributi/caratteristiche attraverso l'analisi del modello risultante.
Ho alcune idee per l'implementazione dell'algoritmo, ma ho deciso di condividerle con la comunità rispettata, forse ci saranno alcune critiche costruttive o aggiunte/rifinanziamenti all'algoritmo prima di iniziare a lavorare sull'implementazione di questo algoritmo. È interessante pensare che niente funzionerà con la giustificazione.
Selezione dei predittori per frequenza d'uso (Feature importance) durante la creazione di un modello CatBoost
.
L'idea è che ogni algoritmo ha le sue peculiarità di costruzione degli alberi e noi selezioneremo quei predittori che sono usati più spesso dall'algoritmo, in questo caso CatBoost.
Tuttavia, per stimare l'uniformità sulla scala temporale, useremo più campioni e aggregeremo i loro dati in un'unica tabella. Questo approccio setaccerà gli eventi casuali che hanno una forte influenza sulla scelta del predittore in uno dei modelli. Le regolarità su cui il modello è costruito dovrebbero verificarsi in tutto il campione, il che può facilitare una corretta classificazione sui nuovi dati. Questa caratteristica è applicabile ai dati del mercato, cioè ai dati senza completezza, compresa la ciclicità nascosta, cioè non temporale, ma basata sugli eventi. Nel fare ciò, è auspicabile penalizzare i predittori che non sono nel top 30%-50% in uno dei grafici, il che permetterà la selezione dei predittori che sono più frequentemente richiesti per i modelli su diversi orizzonti temporali.
Inoltre, per ridurre il fattore di casualità dovremmo usare modelli con diversi valori di Seed, penso che ci dovrebbero essere da 25 a 100 modelli di questo tipo. Se il coefficiente debba essere aggiunto a seconda della qualità del modello ottenuto o solo per fare la media di tutti i risultati per predittori - non lo so ancora, ma penso che dovremmo iniziare con quello semplice, cioè solo per fare la media.
La questione dell'uso di una tabella di quantizzazione è importante, può essere cruciale nella selezione dei predittori. Se la tabella non è fissa, allora ogni modello creerà la propria tabella per il sottocampione, rendendo impossibile confrontare i risultati, quindi la tabella deve essere comune a tutti i campioni.
È possibile ottenere una tabella di quantizzazione:
Puoi collegare i valori shap a bootstrap e vedere l'interazione delle caratteristiche nell'output su qualsiasi dato, è per chi ama scavare nell'intimo, come Alexey :)
La questione della metrica è aperta, ci sono diverse varianti - dovremmo provare, quale è migliore - impatto sul modello, numero di suddivisioni, numero di esempi corretti dopo la suddivisione - le metriche sono diverse. La questione è nella correttezza del loro uso per il compito da svolgere. A proposito, per quanto mi ricordi ivalori shap non potevano essere usati nelle prime build per la linea di comando, ma in questo modo si può fare uno script per la visualizzazione.
Naturalmente, se si analizzano centinaia di segni senza senso, allora ogni sforzo di questo tipo è condannato. È un lavoro semplice, ed è improbabile che qualcuno lo faccia per voi gratuitamente, perché è un incredibile ammazza-tempo con un risultato noto.
Perché il pessimismo - il punto è proprio quello di generare un insieme di attributi, in teoria adatti a qualsiasi obiettivo/strategia di base e selezionare il migliore di essi per un particolare obiettivo.
Dubitare dell'aumento della qualità della classificazione dopo la manipolazione?Perché il pessimismo - il punto è proprio quello di generare un insieme di attributi, in teoria adatti a qualsiasi obiettivo/strategia di base e selezionare il migliore di essi per un particolare obiettivo.
Dubita del guadagno in qualità della classificazione dopo la manipolazione?