Signale kombinieren – II
In der vorherigen Übung hast du ein sigFormula-Signal approximiert, indem du die Werte zweier anderer Signale verglichen hast. In dieser letzten Übung gehst du einen Schritt weiter und verwendest die Funktion sigFormula(), um ein sigFormula-Signal zu erzeugen.
Das Ziel dieser Übung ist einfach: Du willst in eine Position einsteigen, wenn sowohl longfilter als auch longthreshold gleichzeitig wahr werden. Die Idee dahinter: Du willst nicht fortlaufend in Positionen einsteigen, solange die Bedingungen wahr sind, aber du willst eine Position halten, wenn es in einem Aufwärtstrend zu einem Rücksetzer kommt.
Eine sigFormula-Funktion zu schreiben, ist so einfach wie das Schreiben des Arguments einer "if-Anweisung" in Base R innerhalb der Funktion formula(). In diesem Fall willst du ein Signal mit dem Label longentry erstellen, das wahr ist, wenn sowohl longfilter als auch longthreshold gleichzeitig auf wahr wechseln.
Wenn du diese Übung abgeschlossen hast, hast du einen vollständigen Überblick darüber, wie Signale in quantstrat funktionieren!
Diese Übung ist Teil des Kurses
Finanzhandel in R
Anleitung zur Übung
- Verwende
add.signal(), um einsigFormula-Signal zu erstellen, das wahr ist, wenn sowohllongfilterals auchlongthresholdwahr sind. - Setze
crossaufTRUE. - Beschrifte dieses neue Signal mit
longentry.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Add a sigFormula signal to your code specifying that both longfilter and longthreshold must be TRUE, label it longentry
add.signal(strategy.st, name = "___",
# Specify that longfilter and longthreshold must be TRUE
arguments = list(formula = "___ & ___",
# Specify that cross must be TRUE
cross = ___),
# Label it longentry
label = "___")