[PYTHON] J'ai essayé l'histoire courante de prédire la moyenne Nikkei à l'aide du Deep Learning (backtest)

modifier l'historique

** 14/8/2016: Ajout du résultat lorsque les signaux des trois méthodes sont synthétisés. ** ** ** 2016/8/14: Taux de victoire ajouté. ** **

Aperçu

La dernière fois (j'ai essayé l'histoire courante de l'utilisation du Deep Learning pour prédire la moyenne Nikkei), le retour des actions moyennes Nikkei la veille J'ai essayé de prédire la hausse et la baisse du cours moyen de l'action Nikkei le lendemain en utilisant. Cette fois, pour le moment, il s'agit d'un back-test de fonctionnement, j'ai donc essayé de simuler ce qui se passerait s'il était réellement exploité en utilisant le retour prévu.

Discramer

Comme mentionné la dernière fois, je ne suis pas responsable des dommages causés par l'opération réelle utilisant cette méthode.

Hypothèses opérationnelles

A l'origine, il faut considérer les frais, le temps qui peut être acheté et vendu, le chiffre d'affaires, etc., mais cette fois il est facile de "faire une prédiction au cours de clôture de la veille, prendre une décision d'achat et de vente momentanément, et momentanément la moyenne Nikkei Cela fait une hypothèse très irréaliste selon laquelle vous pouvez acheter ou vendre. (Eh bien, n'est-ce pas parce que le calcul est gênant?)

Le résumé est le suivant.

Dernier résultat

Le résultat précédent était le suivant. J'ai essayé trois méthodes: Random Forest, Multilayer Perceptron (MLP) et Convolution Neural Network (CNN).

Kobito.B8RCPa.png

Kobito.8YIHGQ.png

Kobito.VOx3BE.png

Du point de vue AUC, l'ordre est CNN> MLP> RF.

Backtest opérationnel

La période de backtest sera quotidienne de 2008 au plus tard. Le premier est 1 000 et chacun est indexé. (Axe gauche) Il montre également la différence par rapport à l'indice moyen Nikkei. (Axe droit)

Résultats de la simulation RF

RF運用.png

Résultats de la simulation MLP

MLP運用.png

Résultats de la simulation CNN

CNN運用.png

Comparaison de trois méthodes

三手法.png

Résultats des signaux synthétiques de CNN, MLP, RF (Ajouté 2016/08/14)

CNN est la meilleure performance de modèle, alors synthétisons RF et MLP autour de cela. En tant qu'expression conditionnelle

signal = (Signal CNN) & (Signal RF|Signal MLP)

C'est comme ressentir. En d'autres termes, seulement si vous dites que le CNN monte et que les deux autres modèles montent, vous décidez que le signal final monte.

合成.png

Diverses statistiques (ajoutées le 14 août 2016)

RF MLP CNN Synthétique Nikkei
Retour annuel(%) 5.6% 8.1% 9.2% 11.7% 1.5%
Écart type annuel(%) 20.1% 20.5% 19.9% 18.6% 27.2%
Retour du risque 0.277 0.395 0.461 0.628 0.054
Taux de victoire cumulé 54% 55% 54% 56% 52%

Le résultat est une synthèse> CNN> MLP> RF (en termes de risque / rendement). Même si la moyenne du Nikkei est Long Hold, c'est une victoire de 52%, il semble donc que la hausse et la baisse au cours de cette période soient légèrement plus proches de la tendance à la hausse. Cependant, parmi eux, toutes les méthodes sont supérieures à cela, et 56% pour la synthèse est un assez bon nombre.

Résumé

Recommended Posts

J'ai essayé l'histoire courante de prédire la moyenne Nikkei à l'aide du Deep Learning (backtest)
J'ai essayé l'histoire courante de l'utilisation du Deep Learning pour prédire la moyenne Nikkei
L'histoire de l'apprentissage profond avec TPU
J'ai essayé le deep learning
J'ai essayé d'extraire et d'illustrer l'étape de l'histoire à l'aide de COTOHA
J'ai essayé d'utiliser le filtre d'image d'OpenCV
J'ai essayé d'exécuter le didacticiel de détection d'objets en utilisant le dernier algorithme d'apprentissage en profondeur
J'ai essayé d'utiliser l'API de Sakenowa Data Project
J'ai essayé de compresser l'image en utilisant l'apprentissage automatique
J'ai essayé la reconnaissance faciale du problème du rire en utilisant Keras.
J'ai essayé d'héberger un modèle d'apprentissage en profondeur de TensorFlow à l'aide de TensorFlow Serving
[TF] J'ai essayé de visualiser le résultat de l'apprentissage en utilisant Tensorboard
[Apprentissage automatique] J'ai essayé de résumer la théorie d'Adaboost
[Python] J'ai essayé de collecter des données en utilisant l'API de wikipedia
J'ai essayé de comparer la précision des modèles d'apprentissage automatique en utilisant kaggle comme thème.
J'ai essayé d'utiliser GrabCut d'OpenCV
J'ai essayé l'apprentissage par renforcement avec PyBrain
J'ai essayé d'utiliser l'API checkio
[Bouclier d'épée Pokémon] J'ai essayé de visualiser la base de jugement de l'apprentissage en profondeur en utilisant la classification des trois familles comme exemple
J'ai essayé d'obtenir l'index de la liste en utilisant la fonction énumérer
J'ai regardé les méta-informations de BigQuery et essayé de les utiliser
[Détection d'anomalies] Essayez d'utiliser la dernière méthode d'apprentissage à distance
J'ai essayé de visualiser la condition commune des téléspectateurs de la chaîne VTuber
Othello-De la troisième ligne de "Implementation Deep Learning" (3)
[Kaggle] J'ai essayé l'apprentissage d'ensemble avec LightGBM
Visualisez les effets de l'apprentissage profond / de la régularisation
Othello-De la troisième ligne de "Implementation Deep Learning" (2)
J'ai essayé d'utiliser l'API BigQuery Storage
J'ai essayé de transformer l'image du visage en utilisant sparse_image_warp de TensorFlow Addons
J'ai essayé SIGNATE "[Question pratique] Prédire le nombre d'utilisateurs de vélos de location"
J'ai essayé d'obtenir les résultats de Hachinai en utilisant le traitement d'image
J'ai essayé d'appeler l'API de prédiction du modèle d'apprentissage automatique de WordPress
zoom J'ai essayé de quantifier le degré d'excitation de l'histoire lors de la conférence
J'ai essayé d'estimer la similitude de l'intention de la question en utilisant Doc2Vec de gensim
J'ai essayé d'héberger le modèle d'apprentissage en profondeur de Pytorch avec TorchServe sur Amazon SageMaker
En utilisant COTOHA, j'ai essayé de suivre le cours émotionnel de la course aux meros.
J'ai essayé de prédire la détérioration de la batterie lithium-ion en utilisant le SDK Qore
J'ai essayé de notifier la mise à jour de "Hameln" en utilisant "Beautiful Soup" et "IFTTT"
J'ai essayé l'analyse par grappes de la carte météo
L'histoire selon laquelle le coût d'apprentissage de Python est faible
Un amateur a essayé le Deep Learning avec Caffe (Introduction)
vprof - J'ai essayé d'utiliser le profileur pour Python
[Python] J'ai essayé de juger l'image du membre du groupe d'idols en utilisant Keras
Un amateur a essayé le Deep Learning en utilisant Caffe (Practice)
[Python] Deep Learning: J'ai essayé d'implémenter Deep Learning (DBN, SDA) sans utiliser de bibliothèque.
J'ai essayé d'utiliser PyCaret à la vitesse la plus rapide
J'ai essayé d'utiliser l'API Google Cloud Vision
J'ai essayé de corriger la forme trapézoïdale de l'image
J'ai essayé de prédire la présence ou l'absence de neige par apprentissage automatique.
J'ai essayé de comprendre attentivement la fonction d'apprentissage dans le réseau de neurones sans utiliser la bibliothèque d'apprentissage automatique (première moitié)
L'histoire de la fabrication de soracom_exporter (j'ai essayé de surveiller SORACOM Air avec Prometheus)
J'ai essayé d'utiliser la bibliothèque de programmation fonctionnelle toolz
J'ai essayé de vectoriser les paroles de Hinatazaka 46!
J'ai essayé de prédire la victoire ou la défaite de la Premier League en utilisant le SDK Qore
J'ai essayé de notifier la mise à jour de "Devenir romancier" en utilisant "IFTTT" et "Devenir un romancier API"
Python pratique 100 coups J'ai essayé de visualiser l'arbre de décision du chapitre 5 en utilisant graphviz