[PYTHON] "Création d'un ensemble de données sur le cours de l'action" et "Mise en œuvre de l'AR (1)"

Que faire dans cet article

--Créez votre propre ensemble de données sur le cours de l'action et implémentez le modèle AR (1).

Création d'un ensemble de données sur le cours de l'action

Mise en œuvre de la RA (1)

AR (1) en un mot

la mise en oeuvre

Module bibliothèque

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

Prétraitement

#Lisez les données comme df.
df = pd.read_csv(file_nm, encoding='cp932') # file_Spécifiez le chemin du fichier csv stock en nm.
#Étant donné que le csv ci-dessus contient des informations inutiles, formatez-le comme df.
date = df.index[1:] #Générez une date pour stocker la valeur de la date.
df = pd.DataFrame(df.values[1:,:], columns=df.loc['Date'].values) #Supprimer les informations supplémentaires.
df['Date'] = date
df = df[['Date', 'Prix ouvert', 'Prix élevé', 'Bas prix', 'le dernier prix', 'Le volume', 'le dernier prix調整値']]

#Réduisez la colonne df à la date et au prix de clôture.
df = df[['Date','le dernier prix']]

#Modifiez le type de données de la valeur stockée dans le cours de clôture de chaîne à float32.
df.loc[:,'le dernier prix'] = df['le dernier prix'].astype(np.float32)

#28 juin 2013 0,1 juillet 2013 1,2 juillet 2013 2, ...Générez une colonne de numéro de date.
date_num = list(range(len(df.Date)))
df['Numéro de date'] = date_num
df = df[['Date', 'Date番号', 'le dernier prix']]

#Générez une colonne des cours de clôture il y a un jour.
df_2 = df.copy()
df_2['Numéro de date'] = df_2['Numéro de date'] + 1
df = pd.merge(df, df_2[['Numéro de date' ,'le dernier prix']], on='Numéro de date', how='left')
df = df.rename(columns={'le dernier prix_x':'Cours de l'action du jour', 'le dernier prix_y':'Cours de l'action de la veille'})

#Excluez les lignes contenant des valeurs manquantes.
df = df.dropna()

#Valeur de la fonctionnalité,X pour stocker la variable objectif,Générer y.
y = df.Cours de l'action du jour.values
X = df.Cours de l'action de la veille.values

def reshape_row(arr):
    """X,Changez la forme de y.(Passez à un vecteur de ligne.)
    """
    return arr.reshape(-1, 1)

X, y = reshape_row(X), reshape_row(y)

# X,y pour former les données et les données de validation 7:Divisez par un rapport de 3.
train_X, val_X, train_y, val_y = train_test_split(X, y, test_size=0.3)

Apprentissage ~ Évaluation

#Modèle de régression linéaire(AR(1))Calculez l'estimation du coefficient de.
model = LinearRegression()
model.fit(train_X, train_y)

#Affichez la section et l'estimation du coefficient du cours de l'action de la veille.
print("La section est", model.intercept_[0])
print("L'estimation du coefficient du cours de l'action la veille est", model.coef_[0][0])

#Évaluez le modèle.
true_y = val_y
pred_y = model.predict(val_X)
mean_squared_error(true_y, pred_y)

Recommended Posts

"Création d'un ensemble de données sur le cours de l'action" et "Mise en œuvre de l'AR (1)"
[Python] Création d'un graphique de tirage des actions
Créer un chargeur de jeu de données
Création d'un bot LINE ~ Création, déploiement et lancement ~
J'ai publié un ensemble de données de prévision boursière UNIQLO sur Kaggle
Cours des actions et statistiques (moyenne, écart type)
Obtenez le cours de l'action d'une entreprise japonaise avec Python et faites un graphique
Un mémorandum d'étude et de mise en œuvre du Deep Learning
[Bash] Création d'un répertoire temporaire sûr et polyvalent
Python: création d'un environnement virtuel (venv), démarrage et arrêt
Essayez de créer un fichier compressé en utilisant Python et zlib
Créez un graphique à l'aide du bouton et du curseur de l'intrigue
Implémentation d'un générateur en utilisant Python> link> yield et next ()> yield