L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 29
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
Ho disegnato un grafico di R^2 e della percentuale di casi vincenti in funzione del numero di componenti utilizzati. Il miglior risultato sul fronttest è stato con 41 componenti (guadagno di circa il 70%, molto buono). Ma non si può dire che dai grafici di backtest, continuano a salire continuamente. Se ci basiamo sull'importanza dei componenti, dovremmo prenderne 73, che non è il miglior risultato nel fronttest.
R^2 del fronttest può essere negativo anche con >50% di guadagno, a causa di risultati richiesti sbilanciati, il numero di classi "0" è diverso da "1", quindi la loro media non è 0,5, e R^2 è un po' peggiore da questo.
Se è il caso, allego il mio dataset (classificazione binaria).
Ci sono nove parametri di input (all'inizio) - tutti informativi e un parametro di output (nella colonna più a destra).
Se l'output è 1 allora la differenza di prezzo di apertura della prossima barra è positiva, se 0 allora è negativa.
La domanda di interesse è: quale avrà una migliore capacità di generalizzazione del mio algoritmo?
Dato che è la prima volta, allego il mio set di dati.
Ci sono nove parametri di input (all'inizio) - tutti informativi e un parametro di output (nella colonna più a destra).
Se l'output è 1, allora la differenza di prezzo di apertura della prossima barra è positiva, se è 0, allora è negativa.
Mi interessa la domanda: chi ha una capacità di generalizzazione migliore del mio algoritmo?
1. Come si dimostra "l'informatività dei predittori"?
2. Cos'è la "generalizzabilità"?
1. Come si dimostra l'"informatività dei predittori"?
2. Cos'è la "generalizzabilità"?
1. Un marcato deterioramento della generalizzabilità se almeno un predittore informativo viene rimosso dal campione
2. Vedere il video:
1. Marcato deterioramento della generalizzabilità se almeno un predittore informativo viene rimosso dal campione
2. Vedere il video:
Yuri, ciao. Cercherò di dare un'occhiata ai suoi dati.
Saluti!
Se siete interessati ai dati, posso creare uno script che raccoglie le informazioni dai grafici e le scrive in un file.
1. Marcato deterioramento della generalizzabilità se almeno un predittore informativo viene rimosso dal campione
2. Vedere il video:
2. Vedere il video:
Scusate, ma le solite sciocchezze di un dottorando poco istruito a cui non è stato ancora spiegato che ci sono molte altre persone oltre al suo amato che non solo sanno tutto, non solo hanno progredito molto di più, ma lo hanno implementato in algoritmi usati da milioni di persone (se si includono gli studenti qui)
1. Un notevole deterioramento della generalizzabilità se si rimuove almeno un predittore informativo dal campione
Credetemi, purtroppo questo non prova nulla. Inoltre, se l'insieme dei predittori è cattivo (molto rumore), questo effetto sarà tanto più forte quanto maggiore è il rumore. Questo si spiega molto semplicemente: più c'è rumore, più è facile per l'algoritmo trovare un valore "conveniente".
Per quanto riguarda il problema in generale.
Esiste un numero abbastanza grande di algoritmi che determinano l'importanza dei predittori per una data variabile obiettivo. Questi algoritmi possono essere divisi in due gruppi: quelli che sono incorporati nell'algoritmo di costruzione del modello e quelli che esistono autonomamente. Secondo me e secondo l'opinione delle persone sul ramo e sul link che ho citato qui, tutti questi algoritmi soffrono di un difetto comune: se c'è un certo numero critico di predittori rumorosi tra i predittori, l'algoritmo smette di funzionare e inoltre inizia a scartare i predittori che sono rilevanti per la variabile obiettivo.
Questo è il motivo per cui qui al ramo cerchiamo di pulire preliminarmente il set iniziale di predittori, e poi lavorare con il resto dei predittori usando metodi standard.
Per quanto riguarda il suo file.
1. Non sono stato in grado di costruire 6 modelli di classificazione sui tuoi dati: errori superiori al 50%. Se vuoi posso postare i risultati qui
2. La ragione di questo risultato è che avete un insieme molto povero di predittori - rumore, cioè predittori non rilevanti per la variabile obiettivo. I predittori 6, 7 e 8 hanno un certo potere predittivo, ma molto poco. Non lavoro con questi predittori. Gli altri sono solo rumore.
PS.
Se sei davvero interessato all'argomento, tieni d'occhio. Una volta che la padroneggiate, insegnerete a questo ragazzo intelligente del video. Caret ha quasi 200 modelli + funzioni di preparazione molto utili + due algoritmi di selezione dei predittori molto buoni.
PPSS.
Una volta su un forum ho postato la mia visione di ciò che significa "il predittore è rilevante per la variabile obiettivo".
Quindi.
Prendiamo la variabile obiettivo: maschio/femmina.
Predittore: abbigliamento.
Se il predittore (vestiti) contiene solo gonne e pantaloni, allora per la popolazione di un certo numero di paesi questo predittore sarà rilevante al 100% per la variabile obiettivo - inter-ambiguo. Ma i vestiti sono di diverse varietà e di una maggiore varietà. Quindi, non il 100%, ma meno. Cioè otteniamo che un certo insieme di vestiti può avere una relazione con la variabile obiettivo, e un altro insieme può in linea di principio non avere alcuna relazione. Cioè il rumore. Quindi il problema è come trovare tali predittori NOT-noise che saranno rumore in una finestra e non in un'altra. E qual è la misura di questa "rumorosità"?
Saluti!
Se sei interessato ai dati, posso postare uno script che raccoglie le informazioni dai grafici e le scrive in un file.
Anch'io ho una domanda. Dovrei costruire un predittore sul treno e misurare l'errore sul test? E possiamo confrontarlo con il tuo risultato, giusto?
Colleghi, se avete tempo, potete farmi delle domande sotto l'articolo?https://habrahabr.ru/company/aligntechnology/blog/303750/
Habr è silenzioso a tutti!