Kom igångKom igång gratis

Implementera en indikator – del I

Nu är det dags att gå in på mekaniken kring hur man implementerar en indikator inom ramen för biblioteket quantstrat. I den här övningen lär du dig att lägga till en indikator i din strategi. Du använder strategin som du skapade i tidigare övningar, strategy.st. Som första indikator lägger du till ett enkelt glidande medelvärde på 200 dagar.

För att lägga till en indikator i din strategi använder du add.indicator(). Sätt strategy till namnet på din strategi, name till namnet på en funktion inom citattecken, och arguments till funktionens argument i form av en lista. Om funktionsnamnet till exempel är SMA ska argumentet arguments innehålla argumenten till SMA-funktionen:

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

När du refererar till dynamiska marknadsdata i ditt add.indicator()-anrop, omslut mktdata med funktionen quote(). Det beror på att mktdata skapas inuti quantstrat och varierar beroende på vilket instrument paketet använder för tillfället. quote() säkerställer att data kan uppdateras dynamiskt medan strategin körs.

I den här övningen lägger du till ett 200-dagars SMA i din befintliga strategi strategy.st. Paketen quantstrat och quantmod är redan inlästa åt dig.

Den här övningen är en del av kursen

Finansiell handel i R

Visa kurs

Övningsinstruktioner

  • Använd add.indicator() på din befintliga strategi strategy.st. Följ exempelkoden noga.
  • Ange SMA-funktionen som argument till name.
  • Specificera önskade argument för SMA, med slutkursen från mktdata och en återblicksperiod n på 200 dagar.
  • Ge din indikator etiketten "SMA200".

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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 = ___)
Redigera och kör kod