[PYTHON] "Erstellen eines Aktienkursdatensatzes" und "Implementieren von AR (1)"

Was ist in diesem Artikel zu tun?

--Erstellen Sie Ihren eigenen Aktienkursdatensatz und implementieren Sie das AR (1) -Modell.

Erstellen eines Aktienkursdatensatzes

Implementierung von AR (1)

AR (1) in einem Wort

Implementierung

Bibliotheksmodul

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

Vorverarbeitung

#Lesen Sie die Daten als df.
df = pd.read_csv(file_nm, encoding='cp932') # file_Geben Sie den Pfad der Standard-CSV-Datei in nm an.
#Da die oben genannte CSV nutzlose Informationen enthält, formatieren Sie sie als df.
date = df.index[1:] #Generieren Sie ein Datum, um den Wert des Datums zu speichern.
df = pd.DataFrame(df.values[1:,:], columns=df.loc['Datum'].values) #Zusätzliche Informationen löschen.
df['Datum'] = date
df = df[['Datum', 'Offener Preis', 'Hoher Preis', 'Niedriger Preis', 'Schlusskurs', 'Volumen', 'Schlusskurs調整値']]

#Grenzen Sie die df-Spalte bis heute und den Schlusskurs ein.
df = df[['Datum','Schlusskurs']]

#Ändern Sie den Datentyp des im Schlusskurs gespeicherten Werts von string in float32.
df.loc[:,'Schlusskurs'] = df['Schlusskurs'].astype(np.float32)

#28. Juni 2013 0,1. Juli 2013 1,2. Juli 2013 2, ...Generieren Sie eine Datumsnummernspalte.
date_num = list(range(len(df.Datum)))
df['Datumsnummer'] = date_num
df = df[['Datum', 'Datum番号', 'Schlusskurs']]

#Generieren Sie vor einem Tag eine Spalte mit Schlusskursen.
df_2 = df.copy()
df_2['Datumsnummer'] = df_2['Datumsnummer'] + 1
df = pd.merge(df, df_2[['Datumsnummer' ,'Schlusskurs']], on='Datumsnummer', how='left')
df = df.rename(columns={'Schlusskurs_x':'Aktienkurs des Tages', 'Schlusskurs_y':'Aktienkurs des Vortages'})

#Schließen Sie Zeilen aus, die fehlende Werte enthalten.
df = df.dropna()

#Funktionswert,X zum Speichern der Zielvariablen,Generiere y.
y = df.Aktienkurs des Tages.values
X = df.Aktienkurs des Vortages.values

def reshape_row(arr):
    """X,Ändern Sie die Form von y.(Wechseln Sie zu einem Zeilenvektor.)
    """
    return arr.reshape(-1, 1)

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

# X,y, um Daten und Validierungsdaten zu trainieren 7:Teilen Sie durch ein Verhältnis von 3.
train_X, val_X, train_y, val_y = train_test_split(X, y, test_size=0.3)

Lernen ~ Bewertung

#Lineares Regressionsmodell(AR(1))Berechnen Sie die Koeffizientenschätzung von.
model = LinearRegression()
model.fit(train_X, train_y)

#Zeigen Sie den Abschnitt und die Koeffizientenschätzung des Aktienkurses des Vortages an.
print("Der Abschnitt ist", model.intercept_[0])
print("Die Koeffizientenschätzung des Aktienkurses am Vortag beträgt", model.coef_[0][0])

#Bewerten Sie das Modell.
true_y = val_y
pred_y = model.predict(val_X)
mean_squared_error(true_y, pred_y)

Recommended Posts

"Erstellen eines Aktienkursdatensatzes" und "Implementieren von AR (1)"
[Python] Erstellen eines Aktien-Drawdown-Diagramms
Erstellen eines Dataset Loader
Erstellen eines LINE-Bots ~ Erstellen, Bereitstellen und Starten von ~
Ich habe einen UNIQLO-Aktienprognosedatensatz an Kaggle gesendet
Aktienkurs und Statistik (Mittelwert, Standardabweichung)
Holen Sie sich mit Python den Aktienkurs eines japanischen Unternehmens und erstellen Sie eine Grafik
Ein Memorandum zum Studieren und Implementieren von Deep Learning
[Bash] Erstellen eines sicheren und vielseitigen temporären Verzeichnisses
Python: Erstellen einer virtuellen Umgebung (venv), Starten und Stoppen
Versuchen Sie, eine komprimierte Datei mit Python und zlib zu erstellen
Erstellen Sie ein Diagramm mit der Plot-Schaltfläche und dem Schieberegler
Implementieren eines Generators mit Python> Link> Yield und next ()> Yield