Statistik für Finanzmärkte WS 2026 / 2027
Vorwort¶
In dieser Lehrveranstaltung wollen wir uns mit der Programmiersprache Python und deren Anwendungen in der Statistik für Finanzmärkte vertraut machen.
Als Vorlage für diesen Kurs dient der Kurs Mathematisches Programmieren von Dr. Max Winkler und Dr. Roman Unger, welches sich an dem Buch Woyand (2021) ( Link Universitätsbibliothek Link) -- herzlichen Dank an die beiden für die Vorlage! Das hat uns den Einstieg zur Entwicklung erleichtert, denn die Python Grundlagen sind natürlich völlig unabhängig von den konkreten Anwendungen. Dieser Kurs fand erstmalig im WS 2025/2026 statt und befindet noch im Aufbau. Wir freuen uns über Feedback: egal ob Sie Fragen haben, Fehler finden, Verbesserungsvorschläge haben oder Wünsche, welche Themen hier noch unbedingt aufgegriffen werden sollten, schreiben Sie uns über folgende E-Mail.
Was ist Python?¶
Python ist eine Programmiersprache, die häufig in Webanwendungen, Softwareentwicklung, in der Datenwissenschaft und im Machine Learning verwendet wird. Python hat nicht nur für mathematische Anwendungen ein breites Anwendungsspektrum gefunden, sondern Python ist auch sehr gut geeignet für Finance und Statistik.
Python ist eine sogenannte Skriptsprache, das bedeutet, dass jede Programmzeile aus der Quelldatei nach und nach von einem Interpreter ausgeführt wird. Dies vereinfacht die Programmierung, da im Gegensatz zu anderen Programmiersprachen wie C/C++, Fortran und Java der Programmcode nicht erst aufwändig in Maschinencode übersetzt (kompiliert) werden muss.
Python ist bei Programmierern sehr beliebt, da sich der Programmierer bzw. die Programmiererin nicht damit beschäftigen muss, was der Computer eigentlich genau im Hintergrund macht. Man kann sich stets auf das zu lösende Kernproblem fokussieren.
Ziele der Vorlesung¶
In dieser Vorlesung wollen wir elementare Programmierkonzepte verstehen und mit der Programmiersprache Python umsetzen und diese auf typische Finance- und Statistik-Problemstellungen anwenden. Besonders mächtig wird Python durch die unzähligen Erweiterungsmodule. Wir wollen uns diese zunutze machen und folgende Aspekte, die für statistische Anwendungen relevant sind, diskutieren.
Analyse von Kurszeitreihen und deren graphische Darstellung
Um Finanzmarktdaten zu visualisieren, müssen diese zunächst importiert werden. Neben dem klassischen Import von Kursdaten aus externen Dateien, beispielsweise im CSV-Format, werden wir auch den automatischen Zugriff auf verschiedene öffentlich verfügbare Quellen im Internet diskutieren.
Die graphische Darstellung der Zeitreihen sowie deren Verteilungen und Zusammenhänge zwischen verschiedenen Werten, ist hilfreich für erste Analysen von Finanzmarktdaten. Wir werden daher lernen Funktionen zu plotten und Datensätze in Diagrammen geeignet darzustellen. Die Berechnung und Interpretation statistischer Kenngrößen sowie klassischer Risikokennzahlen rundet die Auswertung von Finanzdaten ab.
Regressionsmodelle
Die Zusammenhangsanalyse basiert in der Statistik typischerweise auf Modellen. Wir werden hier speziell die linearen Modelle betrachten, insbesondere ausführlich die klassischen Regressionsmodelle besprechen. Aus mathematische Sicht lassen sich alle linearen Modelle durch lineare Gleichungssysteme lösen, so dass wir uns auch das Arbeiten mit Matrizen und Vektoren in Python näher ansehen werden.
Mathematische Berechnungen
Python lässt sich nicht nur als Taschenrechner verwenden, es gibt Erweiterungsmodule, die es sogar erlauben Funktionen zu Differenzieren und zu Integrieren sowie nichtlineare Gleichungen und Differentialgleichungen exakt zu lösen.
Warum Python?¶
Die Programmiersprache Python bietet einige Vorteile, die wir uns bei der Programmierung mathematischer Anwendungen zunutze machen:
Python ist leicht zu erlernen, unterstützt die üblichen Programmierparadigmen und ist dabei gut lesbar.
Python eignet sich perfekt für die schnelle Entwicklung von Software-Prototypen. Mit nur wenigen Code-Zeilen lassen sich bereits recht komplexe Anwendungen schreiben.
Es gibt unzählige Erweiterungen, sogenannte Module, für alle möglichen Zwecke. Wir werden in dieser Veranstaltung einige dieser Module kennenlernen:
NumPy: Rechnen mit Matrizen und Vektoren und statistische Funktionen
SciPy: Sammlung von Algorithmen für das wissenschaftliche Rechnen und statistische Methoden
SymPy: Ein Computeralgebrasystem für symbolische Berechnungen
Matplotlib: Zum Erzeugen von Plots und Diagrammen
Pandas: Für Datenanalysen und Datenstrukturen
YFinance: Datenabruf von Yahoo-Finance
Statsmodels: Arbeiten mit statistischen Modellen
Scikit-learn: Arbeiten mit Statistik-Modellen (Regression, Klassifikation, Clustering, ..) und allgemeinen Modellen des maschinellen Lernens
Python ist portabel. In Python geschriebener Programmcode läuft auf allen Betriebssystemen (Windows, macOS, Linux).
Python und seine Erweiterungsmodule sind kostenlos, was unser Hauptargument gegen Matlab ist.
Wann ist Python eher ungeeignet?
Python ist für Anwendungen, die eine hohe Geschwindigkeit erfordern, ungeeignet, denn Python ist aufgrund der zeilenweisen Ausführung und der dynamischen Typisierung langsamer als andere Sprachen. Python verbraucht aufgrund seiner Eigenschaften wie flexible Datentypen viel Speicher.
Lernziele¶
Sie kennen die Grundlagen in Python und können sowohl eigene Algorithmen programmieren als auch mit den Zusatzpaketen von Python umgehen. Sie können Daten aus verschiedenen Quellen importieren weiterverarbeiten. Sie sind in der Lage statistische Analysen von Finanzmarktdaten unter Berücksichtigung der Annahmen der verwendeten statistischen Methoden durchzuführen und können die Ergebnisse richtig interpretieren und graphisch visualisieren.
Links und Literatur speziell zu Finance- oder Statistik-Themen und Python
Python for Accounting and Finance Kumar (2024) Link
Data Analytics for Finance Using Python Untwal & Kose (2024) Link
Machine Learning in Finance Dixon et al. (2020) Link
Tidy Finance with Python Link in Anlehnung an Tidy Finance with R Link
Links und Literatur speziell zu Statistik und Zeitreihen
An Introduction to Statistical Learning with Applications in Python James et al. (2023) Link
An Introduction to Statistics with Python Haslwanter (2022) Link
Applied Time Series Analysis and Forecasting with Python Huang & Petukhina (2022) Link
Jupyter-Hub¶
Falls eine Installation nicht möglich ist, von Handy oder Tablet programmiert werden soll oder es technische Probleme beim Einrichten gibt, kann alternativ auch auf einen speziell für diesen Kurs eingerichteten Jupyter-Hub zugegriffen werden[3]. Auf Jupyter-Hub10 bzw. Jupyter-Hub20 sind unter der Environment finance2026 alle im Kurs verwendeten Pakete bereits installiert.
möchten, wählen Sie bitte oben rechts den Kernel ???venv??? ‘conda env:finance2026’. Beachten Sie bitte, dass beide Server völlig unabhängig voneinander laufen, d.h. Notebooks oder Daten, die Sie beispielsweise auf dem Server Jupyter-Hub10 abgespeichert haben, sind auf dem dem Server Jupyter-Hub20 nicht abgespeichert.
Hierfür müssen Sie innerhalb des Campus-Netzes (bei externen Zugriff VPN Tunnel aufbauen) sich mit Ihrem Linux-Login anmelden. Wenn Sie ein Jupyter Notebook oder Python-Script kompilieren
- Woyand, H.-B. (2021). Python für Ingenieure und Naturwissenschaftler. Hanser.
- Kumar, S. (2024). Python for Accounting and Finance: An Integrative Approach to Using Python for Research. Springer Nature Switzerland. 10.1007/978-3-031-54680-8
- Untwal, N. J., & Kose, U. (2024). Data Analytics for Finance Using Python. CRC Press. https://ebookcentral.proquest.com/lib/tuchemnitz/detail.action?docID=31544048
- Dixon, M. F., Halperin, I., & Bilokon, P. (2020). Machine Learning in Finance: From Theory to Practice. Springer International Publishing. 10.1007/978-3-030-41068-1
- James, G., Witten, D., Hastie, T., Tibshirani, R., & Taylor, J. (2023). An Introduction to Statistical Learning with Applications in Python. Springer Cham. 10.1007/978-3-031-38747-0
- Haslwanter, T. (2022). An Introduction to Statistics with Python. Springer Cham. 10.1007/978-3-030-97371-1
- Huang, C., & Petukhina, A. (2022). Applied Time Series Analysis and Forecasting with Python. Springer International Publishing. 10.1007/978-3-031-13584-2