L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 188
![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
È stata rilasciata la nuova release di jPrediction 11
Corretto un piccolo inconveniente (la virgola in CSV non era sostituita da un punto per i numeri). Algoritmo migliorato per selezionare predittori significativi per i modelli.
Potete scaricarlo dal mio sito web (indicato nel mio profilo), primo post della pagina principale.
E volevo anche scrivere sulla selezione dei predittori...
Oltre all'esperimento principale, sto anche facendo un po' di analisi su un asset di scambio.
Ci sono volumi normali, che ho anche aggiunto alle caratteristiche.
Poi ho applicato il solito modello lineare (regressione OLS) [Target ~ Predictor] a ogni predictor separatamente a diversi output (di cui ci sono 11).
Modelli f-stat calcolati. Ho un'immagine come questa:
Ed ecco una sorpresa - tutti i blocchi di predittori collegati ai volumi si sono rivelati inutili. E non avevamo nemmeno bisogno di predittori basati sull'autocorrelazione degli incrementi di prezzo.
È anche chiaro che maggiore è il ritardo della variabile di uscita, peggiore è la significatività.
Poi ho eliminato tutto il rumore con F critical (a livello 0,01).
È venuto fuori così:
Questo senza tener conto delle possibili interazioni, purtroppo...
Ma per alcuni input il significato del modello lineare non è male.
Cerco di non analizzare l'importanza dei predittori uno per uno. C'era un buon esempio nel thread qui:
Ci sono due predittori.Quale è visivamente molto facile lavorare con l'analisi di due in una volta, si può vedere che il secondo obiettivo forma cluster chiari che possono essere trovati dai modelli. Se usate questi predittori uno per uno, ognuno di loro sarà inutile nella predizione.
L'immagine è puramente ipotetica. Ma per quanto riguarda Forex posso giudicare da un certo numero di segni che i buoni predittori in qualche modo formano cluster simili, solo che ho bisogno di 30 predittori invece di 2....
Prima, nella versione 10 era così che jPrediction usando più ingressi non aumentava la capacità di generalizzazione, e dovevo riqualificare, ma ora, con più predittori nel modello, la capacità di generalizzazione del modello in generale aumenta, e il lavoro di tali modelli dura di più ed è di qualità superiore...
Grazie per il feedback!
Testando la versione 11 sui campioni che ho, sono arrivato a una conclusione simile. Era necessario confermare questa conclusione ipotetica con una ricerca indipendente (riproduzione dell'esperimento). Dopo tutto, ognuno ha obiettivi diversi. Quindi c'era un rischio potenziale che per alcuni problemi il classificatore desse risultati opposti. Inoltre, il tempo necessario per la selezione dei predittori significativi nella nuova versione era significativamente aumentato e non tutti ne erano felici.
Per quanto riguarda il tempo di addestramento del modello, si può potenzialmente diminuire senza peggiorare la qualità (generalizzabilità) - è già una questione di tecnica. La cosa principale è ottenere un feedback costruttivo in tempo per capire: vale la pena migliorare jPrediction in questa direzione, o la direzione era sbagliata e dovrebbe essere riportata indietro? Altrimenti avremmo dovuto sprecare tempo e sforzi in funzioni futili.
...
Ottengo il 92,3% (oos) sui dati che uso.
...
Le mie sincere congratulazioni! (Se non stai mentendo).
E si rammarica che sia là fuori da qualche parte e non sia di dominio pubblico.
Discutere ciò che è di dominio pubblico è inutile, poiché è impossibile provare o confutare le tue "affermazioni" su jPrediction.
Mi sono appena imbattuto in un articolo su un argomento che penso sia particolarmente interessante per gli amanti di NS.
Quello che ho trovato interessante è la fine dell'articolo, che confronta l'errore di previsionein-campione e l'errore di previsionefuori-campione: lo fa attraverso la correlazione di questi errori. Nella mia terminologia questo significa che se la correlazione è alta (nell'articolo 0,8), allora il modello non è sovrallenato.
Cerco di non analizzare l'importanza dei predittori uno per uno. C'era un buon esempio nel thread qui:
Ci sono due predittori.Quale è visivamente molto facile lavorare con l'analisi di due in una volta, si può vedere che il secondo obiettivo forma cluster chiari che possono essere trovati dai modelli. Se usate questi predittori uno per uno, allora ognuno di loro sarà inutile nella predizione.
L'immagine è puramente ipotetica. Ma per quanto riguarda il Forex, posso giudicare da un certo numero di segni che i buoni predittori formano in qualche modo cluster simili, solo che non ho bisogno di 2, ma di 30 predittori.In generale, tutto questo è vero. C'è un'informatività supplementare sulle interazioni che supera la somma delle informazioni degli input marginali.
Alberi di decisione, accattonaggio e potenziamento delle interazioni del modello facilmente. Cioè, senza alcuno sforzo extra da parte dell'utente. Ci sono molti problemi per i modelli lineari. La regressione OLS tiene conto dell'ordine di occorrenza dei predittori... L'avida aggiunta alternata di predittori funziona in linea di principio, ma l'avidità crea un modello sbilenco. Lo stesso vale per le foreste e gli alberi.
Ma sarei cauto nell'includere dozzine di predittori. Riesci a immaginarti mentre interagisci con 30 variabili? Per un albero sarebbe una profondità di almeno 30. Hai bisogno di una quantità enorme di dati per simularlo senza riqualificazione selvaggia...
In pratica, una profondità di interazione di 3-5 è già sufficiente.
In generale, tutto questo è vero. C'è un'informatività supplementare sulle interazioni che supera la somma delle informazioni degli input marginali.
Alberi di decisione, accattonaggio e potenziamento delle interazioni del modello facilmente. Cioè, senza alcuno sforzo aggiuntivo da parte dell'utente. Ci sono molti problemi per i modelli lineari. La regressione OLS tiene conto dell'ordine di occorrenza dei predittori... L'avida aggiunta alternata di predittori funziona in linea di principio, ma l'avidità crea un modello sbilenco. Lo stesso vale per le foreste e gli alberi.
Ma sarei cauto nell'includere dozzine di predittori. Riesci a immaginarti mentre interagisci con 30 variabili? Per un albero sarebbe una profondità di almeno 30. Hai bisogno di una quantità enorme di dati per simularlo senza riqualificazione selvaggia...
In pratica, una profondità di interazione di 3-5 è già sufficiente.
Per me, l'interazione dei predittori è una cosa estremamente dubbia. Ci sono così tanti problemi lì.....
E se c'è anche interazione in OLS, è semplicemente impensabile. Se prendete e su un pezzo di carta scrivete attentamente tutte le condizioni in cui OLS può essere applicato. E poi confrontare tutto ciò che è scritto sulla carta con la realtà delle serie storiche finanziarie.
PS.
Se prendete quasi tutti i libri sul datamining, le procedure per rimuovere i predittori correlati sono necessariamente descritte.
Se prendete quasi tutti i libri sul datamining, le procedure per rimuovere i predittori correlati sono necessariamente descritte.