L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 129
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
Ici, j'ai expliqué exactement ce que je fais :
En détail : sur la barre actuelle, le signal d'achat, comme acheter, compter le plus petit nombre de barres vers l'avant dans le futur et vérifier si le commerce sera rentable, si oui, comme fermer, si non - compter une barre de plus vers l'avant et vérifier à nouveau. De cette façon, nous atteignons le nombre maximum de barres et les fermons définitivement. Il s'agit d'un mécanisme d'apprentissage.
Qu'est-ce qui n'est pas clair ? Ce n'est pas un fantasme, c'est exactement ce que je fais maintenant. La fonction cible est de maximiser les profits avec des drawdowns minimaux. Je m'entraîne en utilisant ma propre génétique.
SanSanych Fomenko:
2. N'est-il pas possible de le mettre en œuvre comme ça ?1. qu'enseignons-nous ?
1.la fonction cible est de maximiser les profits avec des retraits minimaux. J'enseigne avec l'aide de ma génétique.
2. Oui, très simple.
Quelqu'un sait-il comment trouver la langue dans laquelle le paquet R est écrit ?
Documentation. Ouvert à partir de l'aide en R :
En outre, il existe une description détaillée de la manière de travailler avec Cp
Messieurs, une nouvelle tâche de ma part :
Voici un jeu de données au format .R : https://drive.google.com/open?id=0B_Au3ANgcG7CcjZVRU9fbUZyUkE
Il y a environ 40 000 lignes et 101 colonnes dans le jeu. La colonne la plus à droite est la variable cible. A gauche, il y a 100 entrées.
Je vous suggère d'essayer de construire un modèle de régression prédisant la valeur de la 101e colonne en fonction des 100 colonnes restantes, sur les 20 000 premières observations.
Sur les 20 000+ observations restantes, le modèle construit devrait montrer un R^2 d'au moins 0,5.
Je révèle ensuite la manière dont les données sont générées et je donne ma solution.
L'indice est la série de données temporelles. L'entrée est de 100 échantillons, prédits 1 avant. Il ne s'agit pas de prix, de cotations ou de leurs dérivés.
Alexey
J'ai essayé de trouver l'importance des prédicteurs à travers le paquet vtreat. Mais le paquet n'est pas capable de rechercher les relations entre les prédicteurs, il ne prend en compte que les relations directes entre le prédicteur et la cible, ce qui n'est pas très adapté à cette tâche.
En jugeant de l'importance de vtreat - lag_diff_51 et lag_diff_52 sont les plus utiles. Petit à petit, j'ai ajouté d'autres prédicteurs de la liste reçue et j'ai regardé la croissance du R^2 sur les données d'entraînement pour la forêt. A la fin, je me suis arrêté à ces prédicteurs - 51, 52, 53, 54, 55, 17, 68, très probablement ils sont utilisés pour calculer la cible. R^2 sur les données d'entraînement avec eux > 0.9, mais sur les tests et les validations tout est mauvais. Maintenant, je dois essayer différentes opérations mathématiques avec ces prédicteurs, sélectionner des formules et ainsi de suite, de sorte que lors de la validation croisée, le R^2 augmente également. Je ne le chercherai plus :)
Je l'ai terminé plus tard :
J'ai expérimenté un peu plus, j'ai fait un tas de nouveaux prédicteurs à partir de ceux existants, avec différentes opérations mathématiques. vtreat et forest aiment beaucoup ces deux combinaisons : sum(51,52) et average(51,52). Mais je n'ai jamais réussi à obtenir une formule pour la valeur cible. Et les modèles formés sur ces prédicteurs ne peuvent pas non plus prédire quoi que ce soit de manière adéquate.
100 entrées ? C'est fort.
Pourquoi pas un millier ?
Vous n'avez absolument aucune idée de ce qu'est un réseau nerveux.
J'ai essayé de trouver l'importance des prédicteurs à travers le paquet vtreat. Mais le paquet n'est pas capable de rechercher les relations entre les prédicteurs, il ne prend en compte que les relations directes entre le prédicteur et la cible, ce qui n'est pas très adapté à cette tâche.
En jugeant de l'importance de vtreat - lag_diff_51 et lag_diff_52 sont les plus utiles. Petit à petit, j'ai ajouté d'autres prédicteurs de la liste reçue et j'ai regardé la croissance du R^2 sur les données d'entraînement pour la forêt. A la fin, je me suis arrêté à ces prédicteurs - 51, 52, 53, 54, 55, 17, 68, très probablement ils sont utilisés pour calculer la cible. R^2 sur les données d'entraînement avec eux > 0.9, mais sur les tests et les validations tout est mauvais. Maintenant, je dois essayer différentes opérations mathématiques avec ces prédicteurs, sélectionner des formules et ainsi de suite, de sorte que lors de la validation croisée, le R^2 augmente également. Je ne le chercherai plus :)
Je l'ai terminé plus tard :
J'ai expérimenté un peu plus, j'ai fait un tas de nouveaux prédicteurs à partir de ceux existants, avec différentes opérations mathématiques. vtreat et forest aiment beaucoup ces deux combinaisons : sum(51,52) et average(51,52). Mais je n'ai jamais réussi à obtenir une formule pour la valeur cible. Et les modèles formés sur ces prédicteurs ne peuvent pas non plus prédire quoi que ce soit de manière adéquate.
De plus, 0,9 est un surentraînement. Un R^2 supérieur à 0,6 sur un ensemble de formation est un maximum réaliste.
Une dernière chose : n'oubliez pas les interactions. Les connexions uniques peuvent mener dans une fausse direction.
J'essaie moi-même de résoudre ma propre tâche. J'ai appliqué une seule couche de NS. Le test R^2 ne dépasse pas 0,148. Ça ne correspond pas...