Aan de slagGa gratis aan de slag

Een indicator implementeren - I

Nu is het tijd om in te gaan op de mechaniek van het implementeren van een indicator binnen de quantstrat-bibliotheek. In deze oefening leer je hoe je een indicator aan je strategie toevoegt. Voor deze oefening gebruik je de strategie die je eerder hebt gemaakt, strategy.st. Als eerste indicator voeg je een simple moving average (SMA) van 200 dagen toe.

Om een indicator aan je strategie toe te voegen, gebruik je add.indicator(). Zet strategy gelijk aan de naam van je strategie, name op de naam van een functie tussen aanhalingstekens, en arguments op de argumenten van die functie in de vorm van een lijst. Als je functienaam bijvoorbeeld SMA is, dan bevat het arguments-argument de argumenten voor de SMA-functie:

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

Wanneer je in je add.indicator()-aanroep naar dynamische marktdata verwijst, zet dan mktdata binnen de quote()-functie, omdat deze binnen quantstrat wordt aangemaakt en verandert afhankelijk van het instrument dat het pakket op dat moment gebruikt. quote() zorgt ervoor dat de data dynamisch kan veranderen tijdens het uitvoeren van je strategie.

In deze oefening voeg je een 200-daagse SMA toe aan je bestaande strategie strategy.st. De pakketten quantstrat en quantmod zijn al voor je geladen.

Deze oefening maakt deel uit van de cursus

Financieel traden in R

Cursus bekijken

Oefeninstructies

  • Gebruik add.indicator() op je bestaande strategie strategy.st. Volg het voorbeeld nauwkeurig.
  • Geef de SMA-functie door als het name-argument.
  • Specificeer de gewenste argumenten van SMA, met de slotkoers van mktdata en een terugkijkperiode n van 200 dagen.
  • Label je indicator als "SMA200".

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren