[PYTHON] Qu'est-ce que l'étiquetage dans les prévisions financières?

Références [Finance Machine Learning](https://www.amazon.co.jp/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%8A%E3%83%B3 % E3% 82% B9% E6% A9% 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92% E2% 80% 95% E9% 87% 91% E8% 9E% 8D% E5 % B8% 82% E5% A0% B4% E5% 88% 86% E6% 9E% 90% E3% 82% 92% E5% A4% 89% E3% 81% 88% E3% 82% 8B% E6% A9 % 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92% E3% 82% A2% E3% 83% AB% E3% 82% B4% E3% 83% AA% E3% 82% BA % E3% 83% A0% E3% 81% AE% E7% 90% 86% E8% AB% 96% E3% 81% A8% E5% AE% 9F% E8% B7% B5-% E3% 83% 9E% E3% 83% AB% E3% 82% B3% E3% 82% B9% E3% 83% BB% E3% 83% AD% E3% 83% 9A% E3% 82% B9% E3% 83% BB% E3% 83% 87% E3% 83% BB% E3% 83% 97% E3% 83% A9% E3% 83% 89-ebook / dp / B0834XJQTY)

Motivation pour cet article

Lors de la prévision des données financières, vous devez définir ce que vous souhaitez prévoir, et l'approche est complètement différente en fonction de ce que vous souhaitez prédire. Peut-être êtes-vous le plus familier pour définir si le cours de l'action $ T + 1 $ augmente ou diminue avec le taux de changement de prix ou le code du taux de changement de prix? Cependant, dans certains cas, cela peut être difficile à prévoir, et même si le taux de réponse correct est élevé, le taux de profit moyen et le ratio élevé peuvent être terribles. Un tel problème n'est pas un problème qui peut être résolu par l'étiquetage seul, mais bien que l'étiquetage soit souvent négligé, il a en fait une signification profonde.

Exemples d'étiquetage dans les données de séries chronologiques et leur interprétation

Par exemple, supposons que vous ayez Données OHLC quotidiennes du cours moyen de l'action Nikkei. Si vous souhaitez prédire le cours de clôture du cours moyen de l'action Nikkei le jour ouvrable suivant, chaque cours de clôture étant égal à X_1, X_2, ..., X_T , définissez l'étiquette de prédiction sur $ Y_n = \ frac {X_ {n + 1} -X_n } {X_n} (1 \ leq n \ leq n) Sera $$. À l'heure actuelle, la prédiction de cette étiquette est une stratégie consistant à créer un nouveau produit long (short) avec le cours moyen de l'action Nikkei comme actif sous-jacent au prix discount d'aujourd'hui et à le régler à la clôture du marché le jour ouvrable suivant. Il y aura. Par exemple, si vous parvenez à prédire cette étiquette et obtenez un taux de réponse correct de 55%, cela ne réussit pas toujours. Ici, le coût est ignoré une fois. Si la probabilité de succès est $ p $, le profit en cas de succès est $ \ mu_ + $, et la perte en cas d'échec est $ \ mu_- $, la valeur attendue est $ \ mu = p \ mu_ + - (1-p ) \ Mu_- $, et sous la condition $ \ mu> 0 $, ce doit être $ p> \ frac {\ mu_-} {\ mu_ + + \ mu_-} $. Ici, même si $ \ mu_- = 1 $ ne perd pas sa généralité, il devient $ p> \ frac {1} {\ mu_ + + 1} $. Ici, si $ p = 0,55 $, alors $ \ mu_ +> 0,8181 ... $. De cette manière, il est nécessaire de décider ce qu'il faut rechercher en fonction du but. En d'autres termes, j'interprète qu'une étiquette de prévision est une stratégie d'investissement.

Exemple d'application d'étiquetage

Dérivé de l'exemple ci-dessus, existe-t-il un exemple où il suffit de donner un taux de réponse correcte de 50% ou plus sur l'étiquette de prédiction? Par exemple, qu'en est-il de ces stratégies? Faites une forte supposition que vous pouvez négocier avec le prix de l'actif et que la liquidité est excellente (ne saute pas). Si vous détenez un nouvel actif à $ T = 0 $ et que le rapprochement augmente de + 1bps ou -1bps, réglez. Il s'agit du modèle binaire le plus simple introduit en finance. Dans ce cas, 50% ou plus des étiquettes prédites auront une valeur attendue positive.

Alors, comment l'étiqueter?

Les données sont des données de graduation des informations du conseil (milieu).

Je veux expliquer l'utilisation du code Python.

label.py



labels = df["mid"].diff().shift(-1).replace(0, np.nan).bfill()
labels = labels / abs(labels)

―― Puisqu'il s'agit d'un changement de 1bps, regardez-le avec un diff.

Autre

Dans ce livre, la méthode Triple Barrier, la méthode Trend-Scanning, etc. ont également été introduites, alors pourquoi ne pas jeter un œil?

Recommended Posts

Qu'est-ce que l'étiquetage dans les prévisions financières?
Ingénierie des fonctionnalités des prévisions financières: quelles sont les fonctionnalités des prévisions financières?
Qu'est-ce que "mahjong" dans la bibliothèque Python? ??
Qu'est-ce que l'espace de noms
Qu'est-ce que copy.copy ()
Qu'est-ce que Django? .. ..
Qu'est-ce que dotenv?
Qu'est-ce que POSIX
Qu'est-ce que Linux
Qu'est-ce que le klass?
Qu'est-ce que SALOME?
Qu'est-ce que Linux?
Qu'est-ce que python
Qu'est-ce que l'hyperopt?
Qu'est-ce que Linux
Qu'est-ce que pyvenv
Qu'est-ce que __call__
Qu'est-ce que Linux
Qu'est-ce que Python
Qu'est-ce que la «programmation fonctionnelle» et «orientée objet»? Édition Python
Qu'est-ce que wheezy dans l'image Docker Python?
Qu'est-ce qu'une distribution?
Qu'est-ce que le F-Score de Piotroski?
Qu'est-ce que Raspberry Pi?
[Python] Qu'est-ce que Pipeline ...
Qu'est-ce que Calmar Ratio?
Qu'est-ce qu'un terminal?
[Tutoriel PyTorch ①] Qu'est-ce que PyTorch?
Qu'est-ce que le réglage des hyper paramètres?
Quel est l'attribut de domaine écrit dans la disposition de Plotly?
Qu'est-ce qu'un hacker?
Qu'est-ce que JSON? .. [Remarque]
À quoi sert Linux?
Qu'est-ce qu'un pointeur?
Qu'est-ce que l'apprentissage d'ensemble?
Qu'est-ce que TCP / IP?
Qu'est-ce que __init__.py de Python?
Qu'est-ce qu'un itérateur?
Qu'est-ce que UNIT-V Linux?
[Python] Qu'est-ce que virtualenv
Qu'est-ce que l'apprentissage automatique?
Qu'est-ce que Mini Sam ou Mini Max?
Qu'est-ce que l'analyse de régression logistique?
Quelle est la fonction d'activation?
Qu'est-ce qu'une variable d'instance?
Qu'est-ce qu'un arbre de décision?
Qu'est-ce qu'un changement de contexte?
Qu'est-ce que Google Cloud Dataflow?
[DL] Qu'est-ce que la décroissance du poids?
[Python] Python et sécurité-① Qu'est-ce que Python?
Qu'est-ce qu'un super utilisateur?
La programmation du concours, c'est quoi (bonus)
[Python] * args ** Qu'est-ce que kwrgs?
Qu'est-ce qu'un appel système
[Définition] Qu'est-ce qu'un cadre?
A quoi sert l'interface ...
Qu'est-ce que Project Euler 3 Acceleration?
Ce que j'ai appris en Python