L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 98

 
Dr. Trader:

La deuxième partie de l'expérience est.

J'avais 14 prédicteurs sélectionnés précédemment, j'en ai ajouté 14 autres avec des valeurs aléatoires. Le nombre maximal autorisé de composants ForeCA est désormais de 28.

Précision de prédiction avec les 28 composants sur les données d'entraînement dans les deux cas (avec et sans foreCA) 76%, précision sur les nouvelles données dans les deux cas 57%.

Je ne pense pas que foreCA ait fait face à des prédicteurs de mauvaise qualité, je n'ai pas vu le miracle attendu.

C'est génial !

Merci de réduire ma charge de travail

 
J'ai remarqué que sur d'autres données, mon exemple ForeCA ne fonctionnait pas, car la covariance des prédicteurs est trop élevée.
Ce problème peut être résolu avec ce code :
#это  строки кода из примера:
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]
        }
}
Il suffit de retirer les prédicteurs avec une valeur propre élevée de la matrice de covariance un par un. Peut-être devrions-nous retirer les prédicteurs avec une valeur propre faible dans l'autre sens. Mais c'est encore long et inefficace, mais comment l'améliorer - je ne le sais pas encore.
 

Pourquoi les indicateurs n'ont-ils jamais fonctionné et ne fonctionneront jamais ? Mon avis... Et comment essayer de le réparer....

un peu sur le fait d'être défoncé... :)

Nous savons tous que les marchés ne sont pas stationnaires, mais nous utilisons surtout des outils d'analyse des marchés, moi y compris.

Par exemple, il existe des algorithmes bien établis pour l'analyse des données non stationnaires, et ils ne sont pas nombreux : modèles de Markov cachés "HMM" , méthode de comptabilisation des arguments par groupe "MGUA", et réseaux neuronaux récurrents pour la TA ; plus précisément, pourquoi n'utilisons-nous pas ces algorithmes ? Mais nous utilisons tous des échafaudages, de la neuronique conventionnelle, les classificateurs les plus stupides qui n'ont rien à voir avec le problème

Pourquoi ça ? Pourquoi, bien que je comprenne tout cela, je continue à pratiquer la RF... Quel est le problème avec nous... Écrivez ce que vous en pensez...

Maintenant, à propos des indicateurs et un peu de geekitude à nouveau...;)

Sachant que les marchés sont instables, nous essayons de trouver des indicateurs qui fonctionneront à l'avenir, comment est-ce possible si le marché change constamment ? La réponse est évidente - pas question !!! Ou ce n'est pas si simple ... ?

Je pense qu'il y a un moyen d'être plus objectif sur le marché, en utilisant des indicateurs, l'analyse spectrale, dans ce cas l'ondelette, aidera à illustrer notre pensée.

w

dans l'image, sur le côté gauche il y a une échelle qui montre les périodes, c'est-à-dire les périodes qui existent dans le marché, plus la zone rouge sur le graphique, la période la plus forte prévaut, la période la plus forte est soulignée avec un contour noir comme dans l'image...

Ne continuez pas à lire avant d'avoir exécuté le code.

une fois le code effectué, appuyez sur la "flèche arrière" sur l'image dans le studio pour voir toutes les images qui sont sorties après avoir exécuté le code.

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)
}

Vous voyez que les périodes sur le marché flottent constamment comme des nuages dans le ciel, et maintenant il est clair qu'il n'y a rien à faire sur le marché avec une période fixe, mais vous pouvez vous adapter. Et si l'on identifiait la période forte actuelle du marché et que l'on ajustait constamment l'indicateur en fonction de cette période réelle et objective qui se trouve actuellement sur le marché ?

liens

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/

 

Pour les amateurs de NS , voici

Apprentissage profond - Partie 1 : Comparaison des cadres symboliques d'apprentissage profond

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:

Pourquoi les indicateurs n'ont-ils jamais fonctionné et ne fonctionneront jamais ? Mon avis... Et comment pouvons-nous essayer de le réparer ? ....

Nous savons tous que les marchés ne sont pas stationnaires, mais la grande majorité des outils que nous utilisons pour analyser le marché sont des séries stationnaires, y compris moi, je ne sais pas pourquoi, quelle en est la raison ? la mode ? l'entêtement ?

Sachant que les marchés ne sont pas stationnaires, nous essayons de trouver des indicateurs qui fonctionnent dans le futur, comment est-ce possible si le marché change constamment ?


Mais la classification, comme Sanych l'a écrit, ne fonctionnera-t-elle pas ?
 
Yuri Evseenkov:
Et la classification, comme Sanych l'a écrit, ne fera pas l'affaire ?
Soyons plus précis, car je ne comprends pas de quelle classification nous parlons.
 
mytarmailS:
Soyons plus précis, car je ne comprends pas du tout de quelle classification nous parlons.

Je suis quoi, un docteur ? Voici l'écriture de Sanych :

"Nous discutons ici des prédictions basées sur la classification, qui ne prennent pas en compte l'état précédent pour prédire la barre suivante. Les prédictions (prévisions) basées sur la classification sont des prédictions basées sur des modèles. Et s'il y a eu des nouvelles dans le passé qui ont conduit à un changement qui ne suit PAS les valeurs précédentes (non extrapolées), alors la classification saisira ce changement comme tel et s'il y a un changement similaire dans le futur (pas exactement le même, mais similaire), il sera reconnu et une prédiction correcte sera faite. "

C'est ce que je pense qu'il faut creuser :"la classification saisira tel changement comme tel" .

 
Yuri Evseenkov:

Je suis quoi, un docteur ? Voici l'écriture de Sanych :

"Nous discutons ici des prédictions basées sur la classification, qui ne prennent pas en compte l'état précédent pour prédire la barre suivante. Les prédictions (prévisions) basées sur la classification sont des prédictions basées sur des modèles. Et s'il y a eu des nouvelles dans le passé qui ont conduit à un changement qui ne suit PAS les valeurs précédentes (non extrapolées), alors la classification saisira ce changement comme tel et s'il y a un changement similaire dans le futur (pas exactement le même, mais similaire), il sera reconnu et une prédiction correcte sera faite. "

Je pense donc que cela vaut la peine de creuser dans cette direction :"la classification va capter ce changement en tant que tel" .

l'expérience est le critère de la vérité - ne pensez pas, mais faites

Je pense personnellement que l'analyse spectrale est plus prometteuse, mais c'est mon avis personnel...

 
Yuri Evseenkov:


Je pense donc qu'il vaut la peine de creuser dans cette direction :"la classification saisira un tel changement comme tel".

La classification n'est pas une panacée ou un outil de création de graal.

La première chose que fait l'application de la classification est d'appliquer les outils aux problèmes auxquels ils s'appliquent. Par exemple, l'idée d'appliquer l'analyse spectrale aux marchés financiers a été discutée à de nombreuses reprises, tous les outils semblant formidables, mais pour d'autres objets, ah, non, proposés à nouveau.

Deuxièmement. Cette classification est tout à fait applicable aux marchés financiers, mais elle présente de nombreux problèmes, comme il a été dit plus haut. Mais avec la classification, nous pouvons mettre le problème principal - le problème du ré-entraînement (overfitting) du TS. Qu'est-ce qui pourrait être plus important ? Il n'est pas agréable, bien sûr, d'être privé de l'illusion d'avoir son graal préféré, mais il faut choisir : le bonheur, c'est bien, mais la vérité, c'est mieux ?

Troisièmement. La classification pose la question de manière très précise : que prédisons-nous ? Comparons-le à l'AT. Nous prenons des indicateurs. Il s'agit toujours d'une barre [1]. La barre actuelle n'est pas utilisée. Qu'est-ce que cela signifie pour H1 ? Nous utilisons l'information sur la fraîcheur horaire pour prédire l'entrée sur le marché! Ceci dans le meilleur des cas.

C'est complètement différent dans la classification. Vous prenez la valeur actuelle de la variable cible et vous la faites correspondre aux données brutes de la veille - vous décalez la cible d'une ou plusieurs barres. Lorsque vous utilisez un modèle ajusté à ces données, vous prévoyez toujours de manière réaliste l'avenir lorsque la prochaine barre arrive.

PS.

Si vous comptez l'utiliser pour prédire des mouvements brusques du marché (nouvelles), vous réussirez si vous pouvez former une variable cible, et vous avez de gros problèmes avec elle dans des cas beaucoup plus simples.

 
DAFomenko:

Par exemple, l'idée d'appliquer l'analyse spectrale aux marchés financiers a été discutée à de nombreuses reprises, tout semble être un outil formidable, mais pour d'autres objets, ah, non, on le propose à nouveau.

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

Si un chercheur n'a aucune idée de l'analyse spectrale et se retrouve avec un article de wikipedia, je suis d'accord pour dire que ce n'est pas applicable au marché :)