LoslegenKostenlos loslegen

Einen Indikator implementieren – I

Jetzt geht es an die Mechanik der Implementierung eines Indikators im Rahmen der quantstrat-Bibliothek. In dieser Übung lernst du, wie du deiner Strategie einen Indikator hinzufügst. Dafür verwendest du die Strategie aus den vorherigen Aufgaben, strategy.st. Als ersten Indikator fügst du einen einfachen gleitenden 200-Tage-Durchschnitt (SMA) hinzu.

Um einen Indikator zu deiner Strategie hinzuzufügen, verwendest du add.indicator(). Setze strategy auf den Namen deiner Strategie, name auf den Namen einer Funktion in Anführungszeichen und arguments auf die Argumente der benannten Funktion als Liste. Wenn dein Funktionsname zum Beispiel SMA wäre, enthält arguments die Argumente für die Funktion SMA:

add.indicator(strategy = strategy.st, 
              name = "SMA", 
              arguments = list(x = quote(Cl(mktdata)), n = 500), 
              label = "SMA500")

Wenn du in deinem add.indicator()-Aufruf auf dynamische Marktdaten verweist, setze mktdata in die Funktion quote(), da mktdata innerhalb von quantstrat erzeugt wird und je nach verwendetem Instrument wechselt. quote() stellt sicher, dass sich die Daten während der Ausführung deiner Strategie dynamisch anpassen können.

In dieser Übung fügst du deiner bestehenden Strategie strategy.st einen 200-Tage-SMA hinzu. Die Pakete quantstrat und quantmod sind bereits geladen.

Diese Übung ist Teil des Kurses

Finanzhandel in R

Kurs anzeigen

Anleitung zur Übung

  • Verwende add.indicator() für deine bestehende Strategie strategy.st. Orientiere dich eng am Beispielcode.
  • Übergib die Funktion SMA als name-Argument.
  • Gib die gewünschten Argumente für SMA an: den Schlusskurs von mktdata und eine Lookback-Periode n von 200 Tagen.
  • Vergib das Label "SMA200" für deinen Indikator.

Interaktive Übung

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

# Add a 200-day SMA indicator to strategy.st
add.indicator(strategy = ___, 
              
              # Add the SMA function
              name = ___, 
              
              # Create a lookback period
              arguments = list(___), 
              
              # Label your indicator SMA200
              label = ___)
Code bearbeiten und ausführen