L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 97
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
Continuate a non fidarvi dell'importanza quando lo usate per il forex. Iris è un dato molto semplice, ci sono modelli diretti tra i dati disponibili e le classi. RF trova semplicemente un insieme minimo di predittori su cui le classi dell'iride possono essere definite e il gioco è fatto.
Cosa può fare RF per catturare le dipendenze non dirette? Mi sembra che non funzioni per il mercato solo perché i predittori sono marci, se ci fossero predittori normali funzionerebbe come con iris con un tasso di errore del 95%
Con gli iris è semplice - se un petalo è da così e così a così e così lunghezza allora è di classe 1, e se è da così e così a così e così larghezza allora è di classe 2, ecc. Quello che fa RF è trovare intervalli di valori predittivi che meglio corrispondono ai valori target.
Non ho nemmeno bisogno di una foresta per questo compito, un albero è sufficiente per una precisione del 90%:
Cioè, se una certa classe corrisponde a un certo intervallo di valori predittivi o alle loro combinazioni, e questi intervalli non si sovrappongono - allora l'albero o la foresta risolverà tutto al 100%.
Le dipendenze da Forex sono molto più complicate, e una foresta ha bisogno di decine di predittori per descrivere i valori target. La foresta troverà sicuramente tali intervalli di predittori e le loro combinazioni che descrivono i valori target, ma saranno semplicemente combinazioni selezionate, senza alcuna logica o analisi. Quello che la foresta prenderà per decidere - rumore, o un predittore veramente importante - è una questione di caso. Forest for forex funzionerà correttamente solo se elimina in anticipo i predittori inadatti e lascia solo quelli necessari per l'apprendimento. Il problema è che i predittori necessari devono essere in qualche modo identificati o trovati, e la foresta non è di aiuto in questo.
Non sono ancora riuscito a farlo.
La maggior parte del tempo è stato necessario per setacciare i predittori con autovalore = 0 dopo la cov() della tabella di allenamento (presumo che solo i predittori specialmente correlati siano adatti). Dopo 24 ore, si trattava di addestrare il modello ForeCA stesso, che non si è addestrato a causa di un errore:
Il pacchetto è molto esigente sui predittori, un sacco di restrizioni di ogni tipo. Non so nemmeno cosa significhi l'ultimo errore, lo approfondirò.
Finirò questo più tardi:
Google dice che non è necessario cancellare i predittori. Potete trasformarli in modo che non siano più correlati, allora la matrice di covarianza avrà pieno rango, che è richiesto per ForeCA. Per lo sbiancamento ci sono alcune funzioni nel pacchetto stesso (non ha funzionato subito, bisogna capirle), più la teoria nei link qui sotto.
Per usare correttamente il pacchetto ForeCA bisogna prima capire e imparare come si fa:
http://stats.stackexchange.com/questions/23420/is-whitening-always-good
http://courses.media.mit.edu/2010fall/mas622j/whiten.pdf
1) La foresta di forex funzionerà correttamente solo se si schermano in anticipo i predittori inadatti e si lasciano solo quelli necessari per l'allenamento. Il problema è che i predittori giusti devono essere identificati o trovati, e la foresta non è di aiuto in questo.
2) Il pacchetto è molto esigente per i predittori, ci sono molte limitazioni. Non so nemmeno cosa significhi l'ultimo errore, lo approfondirò.
1) Ho suggerito quella che penso sia un'idea abbastanza buona su come fare una tale selezione, ma nessuno è interessato, e non posso implementarla io stesso.
2) Non posso farlo da solo. 2) Puoi solo ridurre la quantità di dati, altrimenti lo saprai da solo).
Ho già pubblicato questo post ma nessuno ha reagito, proverò di nuovo.
Ho già pubblicato questo post ma nessuno ha reagito, ci riprovo. C'è una nozione in BP come dynamic time warping (DTW), si può usare per rendere il grafico dei prezzi più leggibile e quindi più riconoscibile per l'algoritmo
e tutto sembra essere a posto, ma la cosa triste è che come risultato di questa trasformazione, otteniamo due coordinate x e y tempo(sintetico) e valori
la domanda è come restituire questa trasformazione a un vettore in modo che non perda le sue proprietà
Questo è come appare - in alto ordinario, in basso dtw
1) Ho suggerito quella che pensavo fosse un'idea abbastanza buona per fare una tale selezione, ma nessuno è interessato, e non posso implementarla io stesso.
2) Ridurre solo la quantità di dati o si sa)
Cosa suggerisce? A quanto pare, cosa mi sono perso? Posso ripetere la sua idea?
la questione è come restituire questa trasformazione a un vettore normale senza perdere le sue proprietà
Ho fatto un altro esempio con ForeCA, in archivio piccola tabella per test e codice per lavorare con esso.
Questa volta ho capito bene.
Puoi usare la tua tabella con i dati di allenamento per il modello, la cosa principale è che deve essere matrice, senza fattori (allenamento con lm, puoi usare solo la regressione). Il numero di righe dovrebbe essere molto più grande del numero di predittori, altrimenti ci saranno errori in ForeCA.
Ho 0 e 1 valori target, con altra precisione non sarà determinato correttamente, se questo, si prega di correggere il codice in RegressionToClasses01(regr) per il tuo caso nel luogo in cui il risultato della regressione è arrotondato alle classi.
trainData - dati per la formazione
trainDataFT - dati per il fronttest
Risultato:
lm su dati grezzi: 75% di precisione sui dati di allenamento e 57% sui nuovi dati.
lm su tutti i 14 componenti di foreCA: 75% sui dati di allenamento e 61% sui nuovi dati. Leggermente meglio, ma in questo caso +4% è solo +1 risultato corretto, la tabella è abbastanza piccola :)
Cioè, se i predittori sono già preselezionati, non dovrebbe essere peggiore dopo ForeCA, forse anche aggiungere un paio di punti percentuali alla precisione.
Ho anche aggiunto un grafico con la dipendenza della precisione dal numero di componenti ForeCA. Sembra che maggiore è il numero di componenti, più accurati saranno i risultati. Numero massimo consentito di componenti = numero di predittori.
La seconda parte dell'esperimento è.
Avevo 14 predittori selezionati in precedenza, ho aggiunto altri 14 con valori casuali. Il numero massimo consentito di componenti ForeCA è ora 28.
L'accuratezza della previsione con tutti i 28 componenti sui dati di allenamento in entrambi i casi (con e senza foreCA) è del 76%, l'accuratezza sui nuovi dati in entrambi i casi è del 57%.
Non credo che foreCA abbia affrontato la spazzatura nei predittori, non ho visto il miracolo previsto.
E allora?