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

 
Combinatore:
E l'opinione che se si va sulla strada di Sanych, si riduce notevolmente la già bassa probabilità di colpire l'agognato 1%?

Ogni indicatore ha alcune informazioni aggiuntive, ed è tutto utile, non solo una percentuale. Per l'RSI non esiste una strategia "compra a >0,99, vendi a <0,01", era un esempio sfortunato.

Diciamo che si può prendere un indicatore, fare un Expert Advisor basato su di esso e ottimizzare i suoi parametri per ottenere risultati migliori. Ma un tale EA fallirà sempre in futuro. Affinché l'EA non fallisca, abbiamo bisogno di decine di indicatori (forse anche meno, ma per me non è così facile), dove i valori degli indicatori saranno testati da una logica complessa con diverse condizioni. Per esempio, se MA(20)>MA(16), allora compra se RSI>0.3. E se MA(20)<MA(16), allora non guardare rsi, ma lo stocastico. La logica dovrebbe essere qualcosa come questa, ma ancora più complessa e ornata. Il modello di foresta casuale può costruire tale logica, che è molto buona.

Tutti i valori degli indicatori sono importanti per la costruzione del modello. Il modello determinerà da solo le soglie di questi valori per la decisione e l'acquisto/vendita e le condizioni del loro adempimento dai valori di altri indicatori.

 
Dr.Trader:

Ogni indicatore porta alcune informazioni aggiuntive, e tutte sono utili, non solo una percentuale.

Conoscete il principio del rasoio di Occam?

 

Se un indicatore ha una certa gamma di valori, allora ogni valore in questa gamma dice qualcosa, ha un suo significato aggiuntivo. Non consiglio di prendere semplicemente l'1% dei limiti superiore e inferiore dell'indicatore e decidere di fare trading solo su di essi. Certo, puoi provare, ma si rivelerà poco redditizio, e avrai bisogno di molti altri indicatori per aggiungere molte condizioni alla strategia. Cioè, si può fare trading nell'intera gamma di valori RSI con un mucchio di altri indicatori. Oppure puoi fare trading solo in una certa gamma di valori RSI, con un mucchio di altri indicatori. Non vedo come il secondo modo possa darmi un vantaggio.

Ma quando inizialmente ci sono decine di indicatori, e tutti con un centinaio di varianti di ritardi o parametri, allora alcuni di loro devono essere eliminati, qui il rasoio di Occam è in piena forza. A causa di questo ho solo un centinaio di predittori su quasi 9000 (una dozzina di indicatori con diversi lag (shift). E questi restanti predittori sono accurati almeno al 60%.

 
Dr.Trader:

Più predittori rumorosi hai, più è probabile che ci siano dati utili simili tra loro.

Riapprendimento a priori, la mancanza di cui Sanych si vanta tanto

 
Combinator:

Più predittori di rumore avete, più è probabile che tra loro ci siano dati utili simili.

Sovrapprendimento a priori, l'assenza di cui Sanych si vanta così tanto

Sono stato piuttosto impreciso sui predittori di rumore.

Mi vanto qui di avere un algoritmo che setaccia i predittori di rumore. Ma questo non è del tutto esatto, nel senso che per me non ci sono predittori 100% rumorosi e 100% non rumorosi. Tutti i predittori che ho visto (diverse centinaia, su 10 serie di persone diverse) sono in parte rumorosi o in parte non rumorosi. Sempre. Non ne ho visti altri. Lo spiegherò di seguito con dei numeri.

Ora, per cosa stiamo combattendo?

Secondo il mio algoritmo, se prendiamo predittori puramente rumorosi otteniamo la probabilità di predizione di classe corretta circa il 50% - lancia una moneta. E la fregatura è che quando ci si allena su predittori puramente rumorosi si ottengono quasi sempre ottimi risultati, e se si prende il tempo fuori campione, si ottiene quel 50%.

Ho fatto in modo che ogni predittore abbia un valore astratto di "rumorosità". Se è un valore tra 0 e 1, è rumoroso e assolutamente senza speranza. Se è da 1 a 2, si può, ma è meglio non usarlo. Dovresti andare con la mia misura su 3. Sopra il 6 non ho mai visto.

Quindi, supponiamo che i predittori con la mia misura di "rumorosità superiore a 3 siano selezionati. Se si costruisce un modello, ho ottenuto un errore dal 25 al 35% per diversi set di predittori. Su tutti i tipi di campionamento (training-testing-validation - tutti con mescolanza casuale, e out-of-sample - rigorosamente nell'ordine in cui arrivano le barre) all'incirca uguale, ad esempio 32-30-33-35%. Non c'è modo di migliorare l'errore, per esempio, della metà sullo stesso particolare set di predittori. Cioè, la grandezza dell'errore del modello è determinata da un particolare insieme di predittori. Se non vi piace la grandezza dell'errore, avete bisogno di qualche altro insieme di predittori, che possono dare un errore diverso.

L'errore che stavo ottenendo è ovviamente grande, andare per me è importante che fuori dal campione l'errore sia approssimativamente uguale in allenamento e test. Ma ho tratto la conclusione più importante per me: il dato set di predittori non genera un overtraining del modello - in futuro avrò approssimativamente lo stesso errore di predizione. Questo è testato su diverse varianti di scaffolding casuale, ada, SVM. Non sono stati provati altri modelli.

 
Combinator:

Più predittori di rumore avete, più è probabile che tra loro ci siano dati utili simili.

Il sovraapprendimento a priori, la cui assenza Sanych si vanta tanto

Andrew. Questo è chiaramente accettato. Tutte le conclusioni sono tratte sulla convalida. La possibilità che un predittore puramente rumoroso generi migliaia di osservazioni indovinate e indipendenti è molto piccola, trascurabile. Le conclusioni sono anche verificate dai test statistici corretti che ho.

Laselezione dei predittori dal rumore funziona.
 
Vladimir Perervenko:2. C'è una funzionelforecastinrminer- Esegue previsioni multi-step utilizzando iterativamente le previsioni 1-ahead come input. Parlando di previsioni a più fasi, intende la regressione, ovviamente?

Non lo so)) Ho bisogno di uno strumento che faccia previsioni multiple usando una matrice con predittori. Non mi interessa in che modo farà la previsione, la regressione prende solo la serie temporale come input, non mi va bene, ho bisogno di una matrice con predittori...

Ho guardato la funzione "iforecast", prende una serie temporale per la regressione come input, non è la stessa cosa, o sto fraintendendo qualcosa?

 
Dr.Trader:

Ogni indicatore ha alcune informazioni aggiuntive, ed è tutto utile, non solo una percentuale. Per l'RSI non esiste una strategia "compra a >0,99, vendi a <0,01", è un esempio sfortunato.

Mi stai prendendo in giro. Ho scritto che esagero (semplifico le cose al limite) e l'ho scritto due volte:) O sarebbe meglio se dessi un esempio reale con 135 regole per il sistema? Nonostante il fatto che per quello che volevo spiegare una regola è più che sufficiente.
 

Per continuare il tema della selezione

Ho una domanda: abbiamo un predittore (uno dei tanti) con una certa gamma di valori, che siano 10 pezzi.

dividere il predittore in questi intervalli X1,X2....X10

calcoliamo l'importanza di ogni intervallo nel predittore con alcuni mezzi non è importante ora come

otterremo una tabella di importanza(vi ricordo che si tratta di un predittore diviso in sotto-predittori)

Х1 = 0,5%

Х2 = 0,01%

Х3 = 0,003%

Х4 = 0,0033%

Х5 = 0,0013%

Х6 = 0,0039%

Х7 = 0,0030%

Х8 = - 0,0000%

Х9 = - 0,0001%

Х10 = - 0,00002%

vediamo che solo un intervallo "X1" ha davvero una forte influenza, l'influenza degli altri è negativa o a mezzo passo dal negativo ed è molto dubbio che su nuovi dati questi intervalli X2....X7 si mostrino in meglio...

Domanda :

è meglio mantenere tutta la gamma positiva X1...X7 o lasciare solo la gamma dove non ci sono dubbi, cioè solo X1

Ancora una volta, è solo una selezione di un predictor, e se purifichiamo 200 predittori? su quali dati l'algoritmo riconoscerà meglio i nuovi dati o no?

Chi ci pensa?

 
mytarmailS:

Per continuare il tema della selezione

Ho una domanda: abbiamo un predittore (uno dei tanti) con una certa gamma di valori, che siano 10 pezzi.

dividere il predittore in questi intervalli X1,X2....X10

calcoliamo l'importanza di ogni intervallo nel predittore con alcuni mezzi non è importante ora come

otterremo una tabella di importanza(vi ricordo che si tratta di un predittore diviso in sotto-predittori)

Х1 = 0,5%

Х2 = 0,01%

Х3 = 0,003%

Х4 = 0,0033%

Х5 = 0,0013%

Х6 = 0,0039%

Х7 = 0,0030%

Х8 = - 0,0000%

Х9 = - 0,0001%

Х10 = - 0,00002%

vediamo che solo un intervallo "X1" ha davvero una forte influenza, l'influenza degli altri è negativa o a mezzo passo dal negativo ed è molto dubbio che su nuovi dati questi intervalli X2....X7 si mostrino in meglio...

Domanda :

è meglio mantenere tutta la gamma positiva X1...X7 o lasciare solo la gamma dove non ci sono dubbi, cioè solo X1

Ancora una volta, è solo una selezione di un predictor, e se purifichiamo 200 predittori? su quali dati l'algoritmo riconoscerà meglio i nuovi dati o no?

Chi ci pensa?

R Si può provare. A volte rimuovere le code delle distribuzioni e a volte aiuta.
Motivazione: