Signalen combineren - II
In de vorige oefening heb je een sigFormula-signaal benaderd door de waarde van twee andere signalen te vergelijken. In deze laatste oefening ga je nog een stap verder door de functie sigFormula() te gebruiken om een sigFormula-signaal te genereren.
Het doel van deze oefening is simpel: je wilt een positie innemen wanneer zowel longfilter als longthreshold op hetzelfde moment waar worden. Het idee hierachter is: je wilt niet steeds opnieuw instappen zolang de voorwaarden waar blijven, maar je wilt wél een positie aanhouden wanneer er een pullback is in een opwaartse trend.
Een sigFormula schrijven is net zo eenvoudig als het argument van een "if-statement" in base R binnen de functie formula() zetten. In dit geval wil je een signaal maken met het label longentry, dat waar is wanneer zowel longfilter als longthreshold tegelijkertijd naar waar overschakelen.
Zodra je deze oefening afrondt, heb je een compleet overzicht van hoe signalen in quantstrat werken!
Deze oefening maakt deel uit van de cursus
Financieel traden in R
Oefeninstructies
- Gebruik
add.signal()om eensigFormula-signaal te maken dat waar is wanneer zowellongfilteralslongthresholdwaar zijn. - Stel
crossgelijk aanTRUE. - Label dit nieuwe signaal als
longentry.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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 = "___")