Netflix, der globale Streaming-Riese, hat die Artwork und Weise, wie wir Unterhaltung konsumieren, revolutioniert. Da das Unternehmen weiterhin den Markt dominiert, sind Anleger immer auf der Suche nach Möglichkeiten, die Aktienkurse dieses Technologieriesen vorherzusagen. In diesem Artikel werden wir untersuchen, wie Techniken des maschinellen Lernens verwendet werden können, um Netflix-Aktienkurse mit Python vorherzusagen.
Um mit unserer Analyse zu beginnen, benötigen wir einen Datensatz, der historische Netflix-Aktienkurse enthält. Glücklicherweise gibt es hier einen Open-Supply-Datensatz zum Obtain. Dieser Datensatz ist leichtgewichtig und kann schnell in unsere Python-Umgebung importiert werden.
Bevor wir uns mit der Analyse befassen, importieren wir die erforderlichen Bibliotheken. Wir werden beliebte Python-Bibliotheken wie Pandas, NumPy, Matplotlib und Scikit-learn für die Datenmanipulation, Visualisierung und Modellierung des maschinellen Lernens verwenden.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
Bei der langfristigen Prognose zielen wir darauf ab, den Gesamttrend der Netflix-Aktienkurse auf der Grundlage aller verfügbaren Daten zu erfassen. Dieser Ansatz ist für Anleger nützlich, die daran interessiert sind, das allgemeine Verhalten der Aktie über einen längeren Zeitraum zu verstehen. Um dies zu erreichen, können wir die Polynomregression nutzen, eine Erweiterung der linearen Regression.
Bei der polynomialen Regression wird die Zeitachse in eine N-dimensionale Matrix umgewandelt und ein lineares Regressionsmodell auf die transformierten Daten angewendet. Durch Experimentieren mit Polynomen unterschiedlichen Grades können wir das optimale Modell finden, das den mittleren quadratischen Fehler (MSE) minimiert.
Teilen wir unseren Datensatz in drei Teile auf: einen Trainingssatz (90 %), einen Validierungssatz (5 %) und einen Testsatz (5 %). Wir werden den Trainingssatz verwenden, um verschiedene polynomiale Regressionsmodelle zu trainieren, das Modell mit dem niedrigsten MSE mithilfe des Validierungssatzes auszuwählen und schließlich das ausgewählte Modell mithilfe des Testsatzes zu bewerten.
# Splitting the dataset
train_size = int(len(dataset) * 0.9)
val_size = int(len(dataset) * 0.05)
test_size = int(len(dataset) * 0.05)
train_set = dataset[:train_size]
val_set = dataset[train_size:train_size+val_size]
test_set = dataset[train_size+val_size:]# Coaching totally different polynomial regression fashions
levels = [1, 2, 3, 4, 5]
mse_scores = []for diploma in levels:
poly_features = PolynomialFeatures(diploma=diploma)
X_train = poly_features.fit_transform(train_set[['Date']])
y_train = train_set['Close'].values mannequin = LinearRegression()
mannequin.match(X_train, y_train) # Consider the mannequin utilizing the validation set
X_val = poly_features.remodel(val_set[['Date']])
y_val = val_set['Close'].values
y_pred = mannequin.predict(X_val)
mse = np.imply((y_pred - y_val) ** 2)
mse_scores.append(mse)# Choose the mannequin with the bottom MSE
optimal_degree = levels[np.argmin(mse_scores)]
Das Modell mit dem niedrigsten MSE ist das mit einem Grad von 3. Dieses Modell erfasst den Gesamttrend der Netflix-Aktienkurse recht intestine, berücksichtigt jedoch nicht die kurzfristigen Schwankungen. Lassen Sie uns den vorhergesagten Pattern visualisieren.
# Visualizing the anticipated development
X_train = poly_features.fit_transform(train_set[['Date']])
y_train = train_set['Close'].values
mannequin = LinearRegression()
mannequin.match(X_train, y_train)X_test = poly_features.remodel(test_set[['Date']])
y_test = test_set['Close'].values
y_pred = mannequin.predict(X_test)plt.determine(figsize=(10, 6))
plt.scatter(train_set['Date'], train_set['Close'], shade='blue', label='Coaching Information')
plt.scatter(test_set['Date'], test_set['Close'], shade='pink', label='Take a look at Information')
plt.plot(test_set['Date'], y_pred, shade='inexperienced', label='Predicted Pattern')
plt.xlabel('Date')
plt.ylabel('Inventory Worth')
plt.title('Lengthy-Time period Prediction of Netflix Inventory Costs')
plt.legend()
plt.present()
Die Darstellung zeigt den prognostizierten Pattern der Netflix-Aktienkurse basierend auf dem langfristigen Prognosemodell. Obwohl es die kurzfristigen Schwankungen nicht erfasst, liefert es wertvolle Einblicke in das Gesamtverhalten der Aktie.
Bei der mittelfristigen Prognose zielen wir darauf ab, die Aktienkurse von Netflix für einen bestimmten Zeitraum, typischerweise einige Monate, vorherzusagen. Dieser Ansatz beinhaltet die Analyse historischer Daten und die Identifizierung von Mustern, die uns helfen können, zukünftige Preisbewegungen vorherzusagen.
Um eine mittelfristige Prognose zu erstellen, ermitteln wir zunächst monatlich den Durchschnitt der Netflix-Aktienkurse. Dies hilft uns, das allgemeine Verhalten der Aktie über einen kürzeren Zeitraum zu ermitteln. Anschließend verwenden wir ein ARIMA-Modell (AutoRegressive Built-in Shifting Common), um die Aktienkurse vorherzusagen.
ARIMA-Modelle werden häufig in der Zeitreihenanalyse verwendet und sind besonders effektiv bei der Erfassung von Traits und Saisonalitäten in den Daten. Indem wir ein ARIMA-Modell an die monatlichen durchschnittlichen Aktienkurse anpassen, können wir Vorhersagen für die nächsten Monate erstellen.
# Averaging the inventory costs on a month-to-month foundation
monthly_data = dataset.resample('M').imply()
# Becoming an ARIMA mannequin
mannequin = ARIMA(monthly_data['Close'], order=(1, 1, 0))
outcomes = mannequin.match()# Producing predictions for the following three months
forecast = outcomes.forecast(steps=3)# Visualizing the predictions
plt.determine(figsize=(10, 6))
plt.plot(monthly_data.index, monthly_data['Close'], label='Precise Costs')
plt.plot(forecast.index, forecast.values, label='Predicted Costs')
plt.xlabel('Date')
plt.ylabel('Inventory Worth')
plt.title('Center-Time period Prediction of Netflix Inventory Costs')
plt.legend()
plt.present()
Das Diagramm zeigt die tatsächlichen monatlichen durchschnittlichen Netflix-Aktienkurse und die prognostizierten Kurse für die nächsten drei Monate. Das ARIMA-Modell erfasst erfolgreich den Aufwärtstrend der Aktienkurse und liefert wertvolle Erkenntnisse für Anleger.
Die kurzfristige Prognose zielt darauf ab, die Aktienkurse von Netflix über einige Tage vorherzusagen, typischerweise auf der Grundlage der Daten der letzten Tage. Dieser Ansatz erfordert die Analyse der jüngsten Traits und Muster der Aktienkurse, um genaue Vorhersagen zu treffen.
Für die kurzfristige Vorhersage berücksichtigen wir die Netflix-Aktienkurse der letzten 41 Tage und verwenden ein maschinelles Lernmodell, um die Kurse für die nächsten drei Tage vorherzusagen. Wir können Techniken wie Help Vector Regression (SVR) oder Random Forest Regression verwenden, um unser Vorhersagemodell zu erstellen.
# Defining the dataset for short-term prediction
short_term_dataset = dataset[['Date', 'Close']].tail(41)
# Coaching the SVR mannequin
X_train = np.arange(1, 42).reshape(-1, 1)
y_train = short_term_dataset['Close'].valuessvr_model = SVR(kernel='linear')
svr_model.match(X_train, y_train)# Producing predictions for the following three days
X_test = np.array([42, 43, 44]).reshape(-1, 1)
y_pred = svr_model.predict(X_test)# Visualizing the predictions
plt.determine(figsize=(10, 6))
plt.scatter(X_train, y_train, shade='blue', label='Coaching Information')
plt.scatter(X_test, y_pred, shade='pink', label='Predicted Costs')
plt.xlabel('Days')
plt.ylabel('Inventory Worth')
plt.title('Quick-Time period Prediction of Netflix Inventory Costs')
plt.legend()
plt.present()
Die Darstellung zeigt die tatsächlichen Netflix-Aktienkurse für die Trainingsdaten und die prognostizierten Kurse für die nächsten drei Tage. Während kurzfristige Prognosen unsicherer sind, erfasst das Modell erfolgreich den Gesamttrend und deutet auf einen leichten Anstieg bei weitgehend unveränderten Preisen hin.
Zusammenfassend lässt sich sagen, dass Techniken des maschinellen Lernens wertvolle Werkzeuge zur Vorhersage von Netflix-Aktienkursen bieten. Durch die Nutzung der Polynomialen Regression für langfristige Vorhersagen, von ARIMA-Modellen für mittelfristige Vorhersagen und der SVR oder Random Forest Regression für kurzfristige Vorhersagen können Anleger Einblicke in das zukünftige Verhalten der Aktie gewinnen.
Es ist jedoch wichtig zu bedenken, dass Vorhersagen eine Frage von Zeitskalen sind. Jede Zeitskala erfordert einen anderen Ansatz und eine andere Datenanalyse. Daher sollten Anleger den spezifischen Zeitrahmen berücksichtigen, an dem sie interessiert sind, und entsprechend die geeignete maschinelle Lerntechnik auswählen.
Wenn Sie diesen Artikel hilfreich fanden und tiefer in die Welt des maschinellen Lernens eintauchen möchten oder Fragen haben, können Sie sich gerne an mich wenden LinkedIn oder abonnieren Sie mein Newsletter. Bleiben Sie über neue Geschichten auf dem Laufenden und wenden Sie sich an mich, wenn Sie Korrekturen oder Zweifel haben.
Denken Sie daran, dass die Vorhersage von Aktienkursen eine komplexe Aufgabe ist, aber mit den richtigen Instruments und Techniken können Anleger fundierte Entscheidungen treffen und am Markt vorne bleiben.