Začněte nyníZačněte zdarma

Implementace indikátoru – I

Je čas podívat se blíže na to, jak indikátor v rámci knihovny quantstrat skutečně implementovat. V tomto cvičení se naučíš, jak indikátor přidat do své strategie. Budeš pracovat se strategií strategy.st, kterou jsi vytvořil/a v předchozích cvičeních. Jako první indikátor přidáš 200denní jednoduchý klouzavý průměr.

Pro přidání indikátoru do strategie použiješ funkci add.indicator(). Nastav strategy na název své strategie, name na název funkce v uvozovkách a arguments na argumenty dané funkce ve formě seznamu. Pokud by se například funkce jmenovala SMA, argument arguments by obsahoval argumenty funkce SMA:

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

Pokud ve volání add.indicator() odkazuješ na dynamická tržní data, vlož mktdata do funkce quote() – tento objekt vzniká uvnitř quantstrat a mění se podle toho, s jakým instrumentem balíček právě pracuje. quote() zajistí, že se data mohou v průběhu běhu strategie dynamicky měnit.

V tomto cvičení přidáš 200denní SMA do své stávající strategie strategy.st. Balíčky quantstrat a quantmod jsou již načteny.

Toto cvičení je součástí kurzu

Finanční obchodování v R

Zobrazit kurz

Pokyny k cvičení

  • Zavolej add.indicator() na své stávající strategii strategy.st. Drž se vzorového kódu.
  • Jako argument name zadej funkci SMA.
  • Upřesni požadované argumenty SMA – použij závěrečnou cenu z mktdata a délku lookback periody n 200 dní.
  • Pojmenuj svůj indikátor "SMA200".

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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 = ___)
Upravit a spustit kód