LoslegenKostenlos loslegen

Hochfrequente Aktienkurse

Hochfrequente Aktiendaten lassen sich gut mit einem MA(1)-Prozess modellieren und sind daher eine schöne Anwendung der Modelle in diesem Kapitel.

Der DataFrame intraday enthält die Minutenkurse eines Tages (am 1. September 2017) für die Sprint-Aktie (Tickersymbol "S"). Die Börse ist 6,5 Stunden (390 Minuten) geöffnet, von 9:30 bis 16:00 Uhr.

Bevor du die Zeitreihen analysieren kannst, musst du sie etwas bereinigen – das machst du in dieser und den nächsten beiden Übungen. Beim Blick auf die ersten Zeilen fällt dir einiges auf: Es gibt keine Spaltenüberschriften. Die Daten sind nicht mit Zeitstempeln von 9:30 bis 16:00 versehen, sondern laufen von 0 bis 390. Außerdem ist das erste Datum das ungewöhnliche „a1504272600“. Die Zahl nach dem „a“ ist Unix-Zeit, also die Anzahl Sekunden seit dem 1. Januar 1970. So trennt dieser Datensatz die einzelnen Tage der Intraday-Daten.

Wenn du die Datentypen prüfst, siehst du, dass die Spalte DATE ein Objekt ist, was hier bedeutet: ein String. Das musst du in numerisch umwandeln, bevor du einige fehlende Werte bereinigen kannst.

Die Quelle der Minutendaten ist Google Finance (siehe hier, wie die Daten heruntergeladen wurden).

Das Modul datetime wurde bereits für dich importiert.

Diese Übung ist Teil des Kurses

Zeitreihenanalyse in Python

Kurs anzeigen

Anleitung zur Übung

  • Ändere das erste Datum manuell auf Null mit .iloc[0,0].
  • Setze die beiden Spaltenüberschriften auf 'DATE' und 'CLOSE', indem du intraday.columns gleich einer Liste mit diesen beiden Strings setzt.
  • Verwende das pandas-Attribut .dtypes (ohne Klammern), um zu sehen, welcher Datentyp in jeder Spalte steckt.
  • Wandle die Spalte 'DATE' mit der pandas-Funktion to_numeric() in numerisch um.
  • Mache die Spalte 'DATE' zum neuen Index von intraday mit der pandas-Methode .set_index(). Als Argument übergibst du den String 'DATE' (nicht die gesamte Spalte, nur den Namen der Spalte).

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# import datetime module
import datetime

# Change the first date to zero
intraday.___ = 0

# Change the column headers to 'DATE' and 'CLOSE'
intraday.columns = ___

# Examine the data types for each column
print(intraday.dtypes)

# Convert DATE column to numeric
intraday['DATE'] = pd.to_numeric(____)

# Make the `DATE` column the new index
intraday = ____
Code bearbeiten und ausführen