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

 
Dr.Trader:

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.

Accuratezza della previsione con tutti i 28 componenti sui dati di allenamento in entrambi i casi (con e senza foreCA) 76%, accuratezza sui nuovi dati in entrambi i casi 57%.

Non credo che foreCA abbia affrontato la spazzatura nei predittori, non ho visto il miracolo previsto.

È fantastico!

Grazie per aver ridotto il mio carico di lavoro

 
Ho notato che su altri dati il mio esempio ForeCA non ha funzionato, perché la covarianza dei predittori è troppo alta.
Questo può essere risolto con questo codice:
#это  строки кода из примера:
targetName <- colnames(trainData)[ncol(trainData)]
predictorColnames <- colnames(trainData)[-ncol(trainData)]
#...
#это  нужно добавить сразу после них:
while(TRUE){
        covMatrix <- cov(as.matrix(trainData[,predictorColnames]))
        covMatrixRank <- qr(covMatrix)$rank
        if(covMatrixRank == ncol(covMatrix)){
                break
        }else{
                eigenValues <- abs(eigen(covMatrix)$values)
                #  eigenValuesLow <- order(eigenValues, decreasing=FALSE)[1:(ncol(covMatrix)-covMatrixRank)]
                #  predictorColnames <- predictorColnames[-eigenValuesLow]
                eigenValuesHigh <- order(eigenValues, decreasing=TRUE)[1]
                predictorColnames <- predictorColnames[-eigenValuesHigh]
        }
}
Basta rimuovere i predittori con alto autovalore dalla matrice di covarianza uno per uno. Forse dovremmo rimuovere i predittori con basso autovalore al contrario. Ma è ancora lungo e inefficiente, ma come renderlo migliore - non lo so ancora.
 

Perché gli indicatori non hanno mai funzionato e non funzioneranno mai? La mia opinione... E come provare a risolverlo....

un po' sull'essere fatti... :)

Sappiamo tutti che i mercati non sono stazionari, ma per lo più usiamo strumenti di analisi di mercato, me compreso.

Per esempio, ci sono algoritmi consolidati per l'analisi di dati non stazionari, e non ce ne sono molti: modelli di Markov nascosti "HMM" , metodo di contabilità di gruppo di argomenti "MGUA", e reti neurali ricorrenti per BP in particolare, perché non usiamo questi algoritmi? Ma tutti noi usiamo l'impalcatura, la neuronica convenzionale, i classificatori più stupidi che non hanno nulla a che fare con il problema

Perché? Perché anche se capisco tutto questo, continuo a praticare la RF... Cosa c'è di sbagliato in noi... Scrivi cosa ne pensi...

Ora circa gli indicatori e un po 'di geekiness di nuovo...;)

Sapendo che i mercati sono instabili, stiamo cercando di trovare alcuni indicatori che funzioneranno in futuro, come è possibile se il mercato cambia costantemente? La risposta è ovvia - in nessun modo!!! O non è così semplice ...?

Penso che ci sia un modo per essere più obiettivi sul mercato, utilizzando indicatori, analisi dello spettro, in questo caso il wavelet, aiuterà a illustrare il nostro pensiero

w

nell'immagine, sul lato sinistro c'è una scala che mostra i periodi, cioè i periodi che esistono nel mercato, più l'area rossa sul grafico, il periodo più forte prevale, il periodo più forte è delineato con contorno nero come nell'immagine...

Per favore, non leggete oltre fino a quando non avrete eseguito il codice

dopo che il codice è finito, premi la "freccia indietro" sopra l'immagine nello studio per visualizzare tutte le immagini che sono uscite dopo aver eseguito il codice

install.packages("dplR")

hankel <- function(data, r=10) {
  do.call(cbind,
          lapply(0:(r-1),function(i) { data[(i+1):(length(data)-(r-1-i))]}))} #hankel  matrx

price <- cumsum(rnorm(200))+1000    ;    plot(price,t="l")
H.price <- hankel(price,100)

library(dplR)
for(i in nrow(H.price):1 ){
  m <- morlet(y1 = H.price[i,] )
  wavelet.plot(m)
}

Vedete che i periodi sul mercato fluttuano costantemente come nuvole nel cielo ed è chiaro ora che non c'è niente da fare nel mercato con periodo fisso, ma ci si può adattare. E se si identificasse l'attuale periodo forte nel mercato e si regolasse costantemente l'indicatore esattamente per quel periodo reale - obiettivo che è esattamente ora nel mercato?

link

https://cran.r-project.org/web/packages/dplR/vignettes/timeseries-dplR.pdf

https://www.r-bloggers.com/wavelet-spectrogram-non-stationary-financial-time-series-analysis-using-r-ttrquantmoddplr-with-usdeur/

 

Per gli amanti di NS , qui

Apprendimento profondo Parte 1: Confronto dei quadri di apprendimento profondo simbolico

Deep Learning Part 1: Comparison of Symbolic Deep Learning Frameworks
Deep Learning Part 1: Comparison of Symbolic Deep Learning Frameworks
  • Joseph Rickert
  • www.r-bloggers.com
This blog series is based on my upcoming talk on re-usability of Deep Learning Models at the Hadoop+Strata World Conference in Singapore. This blog series will be in several parts – where I describe my experiences and go deep into the reasons behind my choices. Deep learning is an emerging field of research, which has its application across...
 
mytarmailS:

Perché gli indicatori non hanno mai funzionato e non funzioneranno mai? La mia opinione... E come possiamo provare a risolvere il problema....

Tutti sappiamo che i mercati non sono stazionari, ma la stragrande maggioranza degli strumenti che usiamo per analizzare il mercato sono serie stazionarie, compreso me, non so perché, qual è la ragione? moda? testardaggine?

Sapendo che i mercati non sono stazionari, cerchiamo di trovare degli indicatori che funzionino nel futuro, come è possibile se il mercato cambia costantemente?


Ma la classificazione, come ha scritto Sanych, non funzionerà?
 
Yuri Evseenkov:
E la classificazione, come ha scritto Sanych, non va bene?
Cerchiamo di essere più specifici, perché non capisco di quale classificazione stiamo parlando
 
mytarmailS:
cerchiamo di essere più specifici, perché non capisco affatto di quale classificazione stiamo parlando

L Cosa sono, un dottore? Ecco Sanych che scrive:

"Qui stiamo discutendo le previsioni basate sulla classificazione, che non tengono conto dello stato precedente quando si prevede la barra successiva. Le predizioni (previsioni) basate sulla classificazione sono previsioni basate su modelli. E se c'è stata una notizia nel passato che ha portato a un cambiamento che NON segue i valori precedenti (non estrapolati), allora la classificazione coglierà quel cambiamento come tale e se c'è un cambiamento simile nel futuro (non esattamente lo stesso, ma simile) sarà riconosciuto e sarà fatta una previsione corretta. "

Questo è quello che penso valga la pena di approfondire:"la classificazione coglierà un tale cambiamento come tale".

 
Yuri Evseenkov:

L Cosa sono, un dottore? Ecco Sanych che scrive:

"Qui stiamo discutendo le previsioni basate sulla classificazione, che non tengono conto dello stato precedente quando si prevede la barra successiva. Le predizioni (previsioni) basate sulla classificazione sono previsioni basate su modelli. E se c'è stata una notizia nel passato che ha portato a un cambiamento che NON segue dai valori precedenti (non estrapolati), allora la classificazione coglierà quel cambiamento come tale e se c'è un cambiamento simile nel futuro (non esattamente lo stesso, ma simile) sarà riconosciuto e sarà fatta una previsione corretta. "

Quindi penso che valga la pena scavare in questa direzione:"la classificazione coglierà questo cambiamento come tale".

l'esperimento è il criterio della verità - non pensare, ma fare

Personalmente penso che l'analisi spettrale sia più promettente, ma questo è per me personalmente...

 
Yuri Evseenkov:


Quindi penso che valga la pena di scavare in questa direzione:"la classificazione coglierà un tale cambiamento come tale".

La classificazione non è una panacea o uno strumento per fare il graal.

La prima cosa che fa l'applicazione della classificazione è applicare gli strumenti ai problemi a cui si applicano gli strumenti. Per esempio, l'idea di applicare l'analisi spettrale ai mercati finanziari è stata discussa molte volte, tutti apparentemente grandi strumenti, ma per altri oggetti, ah, no, offerti di nuovo.

Secondo. La classificazione è abbastanza applicabile ai mercati finanziari, ma ci sono molti problemi, come è stato scritto sopra. Ma nella classificazione possiamo mettere il problema principale - il problema del retraining (overfitting) del TS. Cosa c'è di più importante? Non è bello, certo, essere privati dell'illusione di avere un graal preferito, ma ecco la scelta: la felicità è buona, ma la verità è meglio?

Terzo. La classificazione pone la domanda in modo specifico: cosa stiamo prevedendo. Confrontiamolo con l'AT. Prendiamo degli indicatori. È sempre una barra [1]. La barra attuale non viene utilizzata. Cosa significa per H1? Usiamo le informazioni sulla freschezza oraria per prevedere l'ingresso sul mercato! Questo è nel migliore dei casi.

Questo è completamente diverso nella classificazione. Si prende il valore attuale della variabile target e lo si abbina ai dati grezzi di ieri - spostando il target di una o più barre. Quando si utilizza un modello adattato a tali dati, si prevede sempre realisticamente il futuro quando arriva la prossima barra.

PS.

Se avete intenzione di usarlo per prevedere bruschi movimenti di mercato (notizie) avrete successo se potete formare una variabile target, e avete grossi problemi con esso in casi molto più semplici.

 
DAFomenko:

Per esempio, l'idea di applicare l'analisi spettrale ai mercati finanziari è stata discussa molte volte, tutto apparentemente un grande strumento, ma per altri oggetti, ah, no, ancora una volta viene proposto.

????????????????????????

Se un ricercatore non ha idea dell'analisi spettrale e finisce con un articolo di wikipedia, sono d'accordo che non è applicabile al mercato :)