J'ai plongé dans le domaine des réseaux de neurones et je suis devenu fasciné par eux.
J'ai finalement développé un cadre d'application pour tester les systèmes de négociation en bourse et maintenant je vais y implanter mon premier réseau neuronal. Très simple et primitif, non destiné au vrai trading, juste pour les débutants.
Je veux seulement savoir si mon approche est bonne.
Et si vous voyez que je manque quelque chose (ou que je me trompe) ou si vous avez une idée de ce qui pourrait aider un débutant dans le domaine des réseaux de neurones dans le trading de marché, cela me rendrait super heureux :)
J'ai 40 entrées, les valeurs de marché de la bourse (S&P e-mini mais ce n'est pas important).
Pour ces 40 entrées, je connais 2 chiffres.
- Combien d'argent gagnerais-je ou perdrais-je avec un ordre d'achat
- Combien d'argent gagnerais-je ou perdrais-je avec un ordre de vente
En raison du fonctionnement des bourses, les deux chiffres peuvent en fait être négatifs / positifs, ce qui signifie que je peux perdre / gagner de l'argent pour acheter et vendre (cela est dû au fait qu'un métier peut avoir associé des ordres de "perte de limitation" ou de "ciblage" comme STOP, LIMIT etc. qui se comportent différemment).
Mais si cela se produit, cela indique que je ne devrais pas passer de commande du tout, même si les deux ordres d'achat et de vente donnent des chiffres positifs.
J'imagine que la meilleure fonction d'activation à utiliser est la ... chose sigmoïde mais avec une plage de -1 à 1 (j'ai trouvé que cela s'appelle beaucoup de noms sur Internet ... sigmoïde bipolaire, tanh, quelque chose de tangent ... Je ne suis pas un mathématicien profond).
Avec un apprentissage de rétropropagation, j'enseigne au réseau que pour les 40 entrées, il y a 1 sortie et cette sortie est l'un de ces nombres.
- -1 ce qui signifie que l'ordre de vente va gagner de l'argent, acheter va perdre de l'argent
- +1, ce qui signifie que l'ordre d'achat va gagner de l'argent, que la vente va perdre de l'argent
- 0, ce qui signifie que l'achat et la vente vont tous deux vendre / perdre de l'argent, mieux vaut éviter les échanges
J'imagine qu'après avoir appris, la sortie réseau sera toujours un nombre proche de -1, 1 ou 0 et c'est à moi de définir le seuil d'achat ou de vente.
Est-ce une bonne façon d'utiliser un réseau de neurones?
Partout sur Internet, les résultats pour les personnes apprenantes donnent à la machine d'apprentissage à propagation arrière les valeurs futures du graphique du marché et non le rendement monétaire attendu d'une entrée commerciale différente (achat ou vente). Je considère que c'est une mauvaise approche car je ne suis pas intéressé par les futures valeurs du graphique mais par l'argent que je veux gagner.
Edit: J'ai l'intention de construire un réseau de neurones pour le trading automatisé, pas pour l'aide à la décision.
Réponses:
Cette approche présente de graves défauts.
Troisièmement, vous devez vous rendre compte que vous êtes en concurrence avec d'autres personnes qui ont également accès aux réseaux de neurones. Il existe de nombreux programmes commerciaux destinés aux day traders basés sur des réseaux de neurones. (Ceux-ci sont fabriqués par des personnes qui trouvent plus rentable de vendre des logiciels à des day traders confus que d'utiliser leurs propres systèmes.) Il existe de nombreux systèmes propriétaires, dont certains peuvent impliquer des réseaux de neurones. Pour trouver de la valeur qu'ils négligent, vous devez avoir un avantage et vous n'en avez pas mentionné.
Je suis un grand fan des réseaux de neurones, mais je pense que les utilisateurs typiques des réseaux de neurones en bourse ne comprennent pas les bases et ne dépensent pas d'argent.
la source
These are made by people who find it more profitable to sell software to confused day traders than to use their own systems
Cela aurait valu à lui seul un vote positif.Je me rends compte que c'est un vieux fil, mais juste au cas où quelqu'un tomberait dessus, ce que l'OP devait faire était d'écraser son champ souhaité dans l'espace 0 à 1. c'est-à-dire juste remapper -1 = 0,0, 0 = 0,5 et 1 = 1. Ensuite, vous pouvez simplement utiliser la fonction d'activation sigmoïde logistique standard.
la source