[PYTHON] Est-il possible de manger avec les prévisions de cours de bourse par apprentissage automatique [Plan de mise en œuvre]

introduction

Cet article n'est qu'une idée. Je ne suis ni un data scientist ni un ingénieur hautement conscient, donc il n'y a pas de soutien académique. C'est juste l'idiot de Poo Taro.

Je sais que les cours des actions sont une marche aléatoire, mais je me demande toujours si je peux prédire les cours des actions par l'apprentissage automatique des cours des actions passés. Par exemple, supposons que la fourchette de prix de demain (différence entre le prix discount et le prix de clôture) puisse être prédite avec une précision de 60%. Le taux de réussite de 60% ne semble pas être aussi imprudent, car le taux de réussite lorsque prédit en lançant les dés est de 50%.

Un taux de réussite de 60% signifie que si vous prédisez 10 fois, vous gagnerez 2 fois avec 6 victoires et 4 défaites. Si vous investissez le même montant à chaque fois, et si les bénéfices que vous avez gagnés en frappant la marque et les pertes que vous avez perdues s'annulent à long terme, vous accumulerez les bénéfices de deux fois toutes les dix fois.

S'il s'agit d'une marque individuelle, si elle n'est pas vendue vide, il n'y a une chance de l'acheter que lorsqu'elle devrait augmenter, de sorte que le système sera tel qu'il ne pourra être établi qu'en achetant en nature. Autrement dit, Nikkei 225 est la cible de prévision.

Si tel est le cas, il sera possible de le transformer simplement en achetant en nature. Puisque j'ai une petite somme d'argent sous la main, je peux faire un effet de levier.

Gamme de prix du Nikkei 225

Alors, tout d'abord, voyons quelle est la fourchette de prix du Nikkei 225. Déposez les données de séries chronologiques de Nikkei 225 vers csv,

Date,Open,High,Low,Close,Volume
2017-10-31,21896.38,22020.38,21840.07,22011.61,1055801728.0
2017-10-30,22047.95,22086.88,21921.24,22011.67,1397960064.0
2017-10-27,21903.27,22016.5,21815.72,22008.45,1241389952.0
2017-10-26,21698.95,21793.62,21688.56,21739.78,851784320.0
  ....

Vérifiez en écrivant le code suivant. Selon la tendance du marché, la fourchette de prix moyenne au moment de la hausse et de la baisse sera différente, mais elle est considérée comme un marché de boîtes et la valeur absolue de la fourchette de prix est moyennée.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import statistics

def calc_histgram(exchange):
    '''
 Calcul de l'écart type de la distribution des gammes de prix et création de l'histogramme
    '''    
 #Convertir l'offre en liste
    open_list = exchange['Open'].tolist()
 # Convertir le prix de clôture en liste
    close_list = exchange['Close'].tolist()
    diff_list = ((np.array(close_list) - np.array(open_list))/np.array(open_list)).tolist()
    stdev = statistics.stdev(np.array(diff_list))

 #Calculer la valeur moyenne de la fourchette de prix
    abs_diff_list = np.abs(diff_list)
    abs_diff_mean = statistics.mean(np.array(abs_diff_list))
    print('abs_diff_mean={}'.format(abs_diff_mean))
    
 # Dessinez un histogramme avec une fourchette de prix = 20
    plt.hist(diff_list, bins=80, rwidth=50)
    plt.title('n225 price range, sigma={}'.format(stdev))
    plt.show()

def main():
    nikkei_225 = pd.read_csv('NIKKEI225.csv').set_index('Date').sort_index()
    calc_histgram(nikkei_225)

if __name__ == '__main__':
    main()

fig1-1_n225_sigma.png

La fourchette de prix moyenne du 2014-10-14 au 2017-10-31 était de 0,64%.

Schéma de prévision

Dans ce schéma, NF Nikkei Leverage et NF Nikkei Double Inverse sont doublés, donc la fourchette de prix moyenne Δ est deux fois N225, donc Δ = 0,64% x 2 = 1,28%.

En supposant que le marché ouvre 20 fois par mois, si vous pouvez prédire que le taux de réussite est de 60%, vous gagnerez 4 fois par mois, et le bénéfice mensuel sera le montant de l'investissement par jour x 1,28% x 4. Des frais de négociation (0,064% pour un aller-retour) sont requis 20 fois. En plus de cela, des frais de fiducie d'investissement sont également requis, mais il s'agit d'un petit montant, alors ignorez-le. On suppose que le profit et la perte autres que les quatre jours de gain étaient égaux.

Bénéfice mensuel = montant de l'investissement par jour x (1,28% x 4-0,064 x 20) = Montant de l'investissement quotidien x 3,84% Sera.

Si le taux d'intérêt mensuel est de 3,84%, le taux annuel est de 46% lorsqu'il est multiplié par 12. C'est délicieux. Est-ce vrai? En supposant que le montant de l'investissement quotidien est de 1 million de yens, le bénéfice mensuel attendu est de 38 400 yens. C'est un bon argent de poche. Si vous investissez 10 millions de yens, vous pouvez le manger.

Si quelque chose ne va pas, qu'est-ce qui ne va pas Il dit: "Prédisez le signe de la fourchette de prix du Nikkei 225 avec une précision de 60%." .. ..

Je voudrais vérifier ici.

Résumé

C'est une blague que si le code de la fourchette de prix du Nikkei 225 peut être prédit avec une précision de 60%, un bénéfice annuel de 46% peut être obtenu.

Est-il possible de manger avec la prévision du cours des actions par apprentissage automatique? ] est suivi.

Recommended Posts

Est-il possible de manger avec les prévisions de cours de bourse par apprentissage automatique [Plan de mise en œuvre]
Est-il possible de manger avec la prévision du cours des actions par apprentissage automatique [Machine learning partie 1]
Les prévisions du cours des actions par apprentissage automatique sont si vraies Signaux Numerai
Prévision du cours de l'action par machine learning Numerai Signals
Prévisions du cours des actions par apprentissage automatique Commençons Numerai
Prévision du cours des actions à l'aide de l'apprentissage automatique (scikit-learn)
Prévision du cours des actions à l'aide de l'apprentissage automatique (édition de retour)
Essayez de prédire la demande de puissance par l'apprentissage automatique
Estimation raisonnable du prix de Mercari par apprentissage automatique
Mémo d'étude Python & Machine Learning ⑦: Prévision du cours de l'action
Introduction à l'apprentissage automatique
Qu'est-ce que l'apprentissage automatique?
[Introduction à Systre] Prévision du cours de l'action; faible lundi m (__) m