[PYTHON] Investissement en actions par apprentissage approfondi (méthode du gradient de politique) (1)

Je suis un étudiant de 4e année qui apprend l'apprentissage par renforcement. J'ai déjà obtenu mon diplôme. J'ai commencé mes recherches en pensant simplement que je pouvais faire des bénéfices avec la puissance de l'IA. Même si je la recherche parce qu'elle est liée à la finance, aucune information ne sort ... Donc la recherche de cette année "Acquisition d'une stratégie d'investissement grâce à un apprentissage approfondi" J'espère que cela sera utile à quelqu'un quelque part. (Je ne l'ai pas publié dans les sociétés universitaires, alors n'ayez pas peur ... je ne le trouve pas même si je cherche un article.) (J'ai écrit qu'il s'agissait d'une recherche sur la façon de gagner de l'argent, mais ce n'est pas un produit d'information, etc. Soyez assuré qu'il n'y a aucune indication sur les URL étranges.)

Cette fois, nous l'avons introduit comme (1). (2) Je voudrais expliquer la théorie et le programme réels après (3).

De plus, le contenu publié cette fois n'est pas ce que j'ai appris en classe, mais ce que j'ai appris par moi-même. Je suis sûr que vous trouverez des erreurs partout, mais j'espère que vous y trouverez un regard chaleureux. Je vous remercie.

Qu'est-ce que l'apprentissage renforcé (méthode du gradient politique)?

Tout d'abord, je présenterai brièvement ce qui renforce l'apprentissage en prenant "AlphaGo" comme exemple, ce qui m'a intéressé au renforcement de l'apprentissage.

AlphaGo image.png

En gros (c'est vraiment difficile. Je suis désolé pour les experts)

image.png

  1. Récupérez la carte actuelle de l'environnement Go
  2. Le tableau est lu par l'agent d'apprentissage de renforcement
  3. Sortie ** distribution de probabilité ** du mouvement
  4. Déterminez de manière probabiliste le prochain mouvement à partir de la distribution de probabilité

C'est une série d'étapes pour décider quoi faire du conseil.

Sortie ** distribution de probabilité ** du mouvement

C'est le miso, selon le conseil actuel Il vaut mieux frapper ensuite, et si vous le frappez, il est proche de gagner. Pour les mains pincées lorsqu'elles sont touchées, ** réduisez la probabilité ** Le but est de produire une distribution de probabilité «appropriée».

Ensuite, il est possible d'entrer et de sortir un tel agent d'apprentissage amélioré. C'est un "réseau de neurones" familier en apprentissage profond, Le rôle de l'apprentissage par renforcement est d'apprendre «de manière appropriée» la distribution de probabilité produite par le réseau neuronal.

C'est pourquoi les deux sont combinés et appelés apprentissage par renforcement profond.

C'est incroyable dans Alpha Go

AlphaGo et apprentissage par renforcement profond On peut dire que c'est un algorithme qui "apprend ** la distribution de probabilité appropriée ** en fonction de l'environnement actuel". Le grand avantage de cet algorithme est

«J'apprends sans utiliser les connaissances qu'une personne appelée« pierre fixe »a découverte.»

C'est vrai ... Les connaissances que les gens ont découvertes en compétition depuis des décennies et des centaines d'années sont si faciles à perdre. C'est cet apprentissage par renforcement profond qui exerce un fort pouvoir en Go.

Application à l'investissement en actions

Pour le moment, laissez la théorie détaillée de l'apprentissage par renforcement profond, etc. N'est-il pas possible d'utiliser l'algorithme «d'apprentissage de la distribution de probabilité ** appropriée ** en fonction de l'environnement actuel» pour les cours des actions? J'ai pensé.

Les gens achètent et vendent des actions image.png

De cette façon, vous négociez en fonction des mouvements de prix du passé au présent. Bien sûr, cela peut échouer parce que nous ne connaissons pas l'avenir.

Renforcer cela L'agent d'apprentissage lit le cours de l'action image.png

N'est-il pas possible de se convertir aux probabilités et au commerce?

Si vous pouvez trouver la probabilité d'acheter et de vendre au moment suivant sans identifier le cours de l'action Il est tout à fait possible de gagner de l'argent.

Donc image.png

C'est le but de cette fois et le contenu du programme.

À propos du résultat

Si le résultat est mauvais, il ne sera pas utile de le lire, je vais donc le publier en premier. Cependant, je suis conscient que de nombreux points manquent d’explication. Je publierai des résultats et des méthodes détaillés à une date ultérieure, donc maintenant, même avec cette méthode d'apprentissage améliorée, la probabilité a convergé, et je me demande s'il sera possible de faire des bénéfices, même si cela dépasse les humains. J'espère que vous pouvez y réfléchir.

Données d'apprentissage ↓ image.png

État d'apprentissage ↓ image.png

Le profit moyen augmente à mesure que le nombre d'étapes augmente.

Concernant l'achat et la vente

Je souhaite en publier ultérieurement.

Cela peut être un long message, mais veuillez rester en contact. Je vous remercie.

Recommended Posts

Investissement en actions par apprentissage approfondi (méthode du gradient de politique) (1)
Note récapitulative sur l'apprentissage profond -4.3 Méthode de gradient
[Renforcer l'apprentissage] Suivi par multi-agents
Apprentissage par renforcement profond 1 Introduction au renforcement de l'apprentissage
Apprentissage par renforcement profond 2 Mise en œuvre de l'apprentissage par renforcement
Apprentissage profond appris par l'implémentation 1 (édition de retour)
Apprentissage par renforcement 3 Méthode de planification dynamique / méthode TD
Algorithme d'apprentissage automatique (méthode de descente de gradient)
Deep Strengthening Learning 3 Édition pratique: Briser des blocs
Apprenez en faisant! Apprentissage par renforcement profond_1
Deep learning 2 appris par l'implémentation (classification d'images)
Apprentissage amélioré pour apprendre de zéro à profond
<Cours> Deep Learning Day4 Renforcement de l'apprentissage / flux de tension
Prévision du cours des actions à l'aide du Deep Learning (TensorFlow)
Produisez de belles vaches de mer par apprentissage profond
Détection d'objets par apprentissage profond pour comprendre en profondeur par Keras
Simulation de Deep Learning / Probabilistic Gradient Descente (SGD)
L'apprentissage en profondeur
Chainer et deep learning appris par approximation de fonction
Apprentissage profond appris par la mise en œuvre ~ Détection d'anomalies (apprentissage sans enseignant) ~
99,78% de précision avec apprentissage en profondeur en reconnaissant les hiragana manuscrits
Interpolation d'images vidéo par apprentissage en profondeur, partie 1 [Python]
Prévision du cours des actions à l'aide du Deep Learning (TensorFlow) - Partie 2
Apprentissage parallèle du deep learning par Keras et Kubernetes
Prévision du cours de l'action par machine learning Numerai Signals
Apprentissage profond appris par mise en œuvre (segmentation) ~ Mise en œuvre de SegNet ~
Prévision du cours de l'action à l'aide du Deep Learning [acquisition de données]