L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 214
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
PS. Et paralléliser le calcul de lm(). C'est juste le bon moment pour le faire.
Merci.
J'ai vu comment paralléliser une opération dans une boucle grâce à foreach %dopar%. Je ne sais pas comment l'accrocher à une boucle cachée dans DT. Je ne sais pas si c'est plus rapide ou non.
Merci.
J'ai vu comment paralléliser une opération dans une boucle grâce à foreach %dopar%. Je ne sais pas comment l'attacher à une boucle cachée dans DT. Et je ne sais pas si ça serait plus rapide.
Je voulais dire cette partie du code.
{
lapply(c(1:20), function(x) summary(lm(data = .SD[, c(1:x, 21), with = F], formula = V21 ~ . -1))$'fstatistic'[[1]])
}
, by = sampling
]
Foreach() au lieu de lapply
Il y a quelque chose qui ne va pas avec les graphiques qui prennent plusieurs dizaines de secondes à construire.
Consultez ce paquet ("nhstplot"). C'est rapide à dessiner et je pense que c'est assez bon.
Il y a quelque chose qui ne va pas avec les graphiques qui prennent plusieurs dizaines de secondes à construire.
Consultez ce paquet ("nhstplot"). C'est rapide à dessiner et je pense que c'est assez bon.
Ahh. Je vais essayer, merci. Il s'avère que la boucle lapply sera remplacée par une boucle parallèle. Et tout cela tourne dans une boucle DT avec 1000 itérations.
Ou il y a une autre façon de sauter ces 1000 itérations par foreach.
J'y jetterai un coup d'œil, bien sûr. Mais où est la semi-transparence ici, où sont les centaines d'objets superposés ? Testez-le dans des conditions difficiles et nous comprendrons alors si c'est plus rapide ou non.
Un dessin semi-transparent rapide peut être réalisé avec une carte graphique OpenGL. En R, il y a une bibliothèque rgl pour cela, elle est plus pour la 3d, mais si vous pouvez faire une projection orthogonale, et dessiner des lignes, ce sera juste ce dont vous avez besoin. Je ne l'ai pas compris tout de suite, il faut lire la documentation.
Je l'ai :
Il est assez facile de dessiner des lignes semi-transparentes, il suffit d'avoir un tableau avec des coordonnées X et Y. Vous pourriez également ajouter une troisième colonne Z pour la tridimensionnalité.
for(i in 1:1000){
lines3d(cbind(1:1000, cumsum(rnorm(1000))), col="blue", alpha=0.1)
}
Mais il s'est avéré être lent tout de même. A en juger par procesexplorer - la vidéo n'est utilisée que par 5%, alors qu'un processeur logique est utilisé à 100%. Je pense que R est trop lent à fournir des données à OpenGL, beaucoup plus lent que ce qu'il peut recevoir. D'une certaine manière, c'est juste apparu comme ça.
Juste pour le plaisir d'encombrer :) faites-le, agrandissez la fenêtre en plein écran, et faites tourner "figure" avec le bouton gauche de la souris.
for(i in 1:100){
lines3d(cbind(cumsum(rnorm(100)), cumsum(rnorm(100)), cumsum(rnorm(100))), alpha=0.2)
}
J'ai finalement fait le premier essai de l'idée de cluster que j'ai annoncée plus tôt, c'est un essai, juste pour voir ce qui se passe, les prédicteurs sont simples
série mobile de 5 valeurs OHLC + volume + volatilité 6 prédicteurs de 5 valeurs chacun
apprendre l'histoire 100 000 bars
chaque prédicteur a été normalisé bien sûr) et ensuite regroupé en 100 clusters désolé pour le non-sens
La cible a été créée à l'improviste (en ce moment, je viens juste de m'asseoir), j'ai simplement pris le renversement sous cette forme : L'objectif est un extremum supérieur aux 4 bougies précédentes et supérieur aux 10 bougies suivantes.
J'ai commencé à chercher des motifs répétitifs...
Le meilleur que j'ai trouvé avec de tels prédicteurs est le modèle suivant
91 6 30 41 91 100 0.4 9
dans(open high low close volum volum) sont les nombres de clusters qui caractérisent ce modèle.
target_avg - il s'agit dela probabilité que mon retournement soit déclenché dans ce modèle. Je n'ai pas pu trouver de modèles avec une probabilité de 80-90% de déclenchement selon ces prédicteurs.
target_count - lenombre de fois que le motif a été détecté dans l'historique, je n'ai pas trouvé de motifs significatifs, qui ont été détectés 30-50 fois en utilisant ces prédicteurs.
La meilleure chose que j'ai trouvée avec ces prédicteurs est un modèle, dans lequel le renversement (cible) est déclenché dans 40% des cas et il n'y a que 9 observations (nombre de modèles).
C'est donc peut-être le seul élément d'information utile, le "NO BLOW" nécessaire, qui peut être extrait de l'ensemble des prédicteurs et il n'explique qu'une seule raison du renversement et même cela ne représente que 40 % de celui-ci et différentes raisons pour différents renversements et il n'y en a certainement pas 10 ou 30.
Et maintenant, pensez à la façon dont l'algorithme MO peut expliquer tous les mouvements du marché avec de tels prédicteurs, c'est impossible, car les prédicteurs ne peuvent expliquer que 2% et le reste est du bruit....
de plus, il n'y a pas de contrôle de la récurrence statistique, c'est-à-dire que le RI peut prendre une décision sur la base d'une ou deux observations, ce qui est vrai en fait dans la grande majorité des cas, soit moins de 95 % des cas.
Bref, je m'égare... continuons sur un schéma, après avoir estimé la qualité des intrants sur un nouvel échantillon je vais le dire, ce n'est pas la Mercedes mais si c'est un Zaporozhets tué alors cette approche un neuf tout juste sorti d'usine
La qualité des entrées est bien meilleure, plus claire, moins d'erreurs...
et l'autre chose est, le modèle complet est...
91 6 30 41 91 100
lorsque j'ai exécuté la reconnaissance sur les nouvelles données de 50 000 chandeliers, l'algorithme n'a pas pu trouver un tel modèle, il n'est tout simplement pas apparu ;))
J'ai dû réduire le modèle et ne laisser que les prix.
91 6 30 41 91 100
J'ai déjà trouvé une vingtaine de ces modèles
voici les entrées dans le modèle, je n'ai rien choisi "ala best entries" juste pris une photo telle quelle dans l'ordre dans lequel les transactions ont été faites, pas toutes les transactions bien sûr juste quelques-unes d'abord, de sorte que vous pouvez évaluer
l'eqiti est agréable, bien que le risque soit plus grand que prévu
n'oubliez pas qu'il ne s'agit que d'un seul modèle, et que c'est un short.
Si quelqu'un a besoin du code, je le posterai, mais j'en doute, il est déjà très clair.214 pages, c'est beaucoup à étudier/apprendre. Chacun d'entre eux traite de quelque chose de différent et n'est pas toujours facile à comprendre).
Est-il possible de résumer toutes ces pages en un seul post, même s'il n'est pas très court ? Type : objectif fixé, méthodes de solution, résultats, conclusions.
Je précise tout de suite que mon modèle de marché est un processus aléatoire (mouvement brownien), ou plutôt la somme de plusieurs (peut-être beaucoup) de ces mouvements avec des rétroactions. Et prédire quoi que ce soit ou chercher des modèles autres que statistiques est un exercice absolument futile. En d'autres termes, les prédicteurs significatifs n'existent tout simplement pas, du moins à des fins spéculatives.