GASTBEITRAG: Was Finanzprofis über R wissen müssen
Ich bin ein großer Fan von Python, wenn es ums Programmieren in den Finanzdienstleistungen geht. Dennoch muss ich zähneknirschend eingestehen, dass viele der Instrumente, die sich beim Programmieren in den Finanzdienstleistungen als nützlich erweisen, ursprünglich aus R stammen. Doch wenn Sie R für Finance oder Data Science nutzen, welche Pakete sollten Sie kennen?
Tidyverse
Dabei handelt es sich eigentlich nicht um kein einzelnes Paket, sondern um eine ganze Reihe von Paketen, die generell für Finance und Data Science relevant sind – ähnlich wie z.B. SciPy in Python. Davon gehört ggplot2 wahrscheinlich zu den bekanntesten. Es ermöglicht Daten auf erklärende Weise zu visualisieren und Grafiken zu erstellen, ohne mit den Parametern zu jonglieren. Weiter ist dplyr nützlich, was die Unterteilung der Daten erleichtert. Tidyr wiederum ermöglicht die Daten zu „säubern“ und in kohärente Form zu bringen. Um Daten von CSV-Daten zu ziehen, hat sich readr bewährt. Darüber ermöglicht purrr Ihnen, funktionale Programmierungen einzusetzen.
Xts (und Zoo)
In den Finanzdienstleistungen spielen Zeitreihen eine große Rolle – oftmals handelt es sich dabei um Kursdaten. Daher ist es von entscheidender Bedeutung, dass man diese Daten leicht nutzen und verarbeiten kann. Dazu haben sich xts-Objekte bewährt, die wie normale R-Matrizen aussehen, ober eine Zeitkomponente enthalten. Auf diese Weise lassen sich auch verschiedene Zeitreihen miteinander verbinden, Additionen und Subtraktionen durchzuführen, fehlende Werte zu ergänzen, sie zu verzögern usf.
Quantmod
Wenn Sie beispielsweise eine Trading-Strategie backtesten wollen, dann erfordert dies eine Reihe von Schritten: Sie müssen Marktdaten laden, ein Signal konstruieren und dann die Ergebnisse berechnen. Schließlich müssen die Ergebnisse auch noch dem Nutzer präsentiert werden. Die meisten dieser Schritte wiederholen sich häufig. Die Hauptunterschiede bestehen darin, welche Signale Sie generieren und welche Fragestellungen Sie beantworten wollen. Quantmode übernimmt einen großen Teil der wiederholenden Schritte eines Backtests, womit Sie sich auf die spannenderen Aufgaben wie die Trading-Signale konzentrieren können. Quantmod lässt sich auch mit TTR anwenden, welches eine Menge von Technischen Indikatoren bereitstellt, wie sie fürs Tradings erforderlich sind.
Tidyquant
Hinter tidyquant verbergen sich verschiedene Pakete wie z.B. zoo und xts für Zeitreihen. Auch quantmod, TTR und PerformanceAnalysis spielen eine Rolle. Tidyquant erleichtert es auch, diese mit Paketen wie tidyverse zu verwenden.
Shiny
Nicht jeder will programmieren. Doch wie können Leute ohne Programmierkenntnisse einen Zugriff zu R-Skripten erhalten? Shiny ermöglicht es, webbasierte Dashboards für R-Programme zu entwickeln, ohne dass man dazu Webtechnologien wie JavaScript kennen muss. Erst seit Kurzem gibt es für Python Dash, welches den Ansatz von Shiny nachzuahmen versucht.
R wird in den Finanzdienstleistungen immer noch viel eingesetzt und es gibt sicherlich viele Einsatzmöglichkeiten. Falls Sie nach einer guten Einführung in R für Finance suchen, dann empfehle ich Jonathan Regensteins Buch „Reproducible Finance with R“. Dieses Buch behandelt die oben genannten Pakete detailliert und mit anschaulichen Beispielen aus den Finanzdienstleistungen.
Saeed Amen ist ein systematischer Devisenhändler, der seit 2013 sein eigenes Handelsbuch in den zehn größten Devisen hat. Amen hat schon Handelssysteme für verschiedene Großbanken wie Lehman Brothers und Nomura entwickelt.