ÎncepețiÎncepe gratuit

Implementarea unui indicator – I

A venit momentul să explorezi mecanica implementării unui indicator în cadrul bibliotecii quantstrat. În acest exercițiu vei învăța cum să adaugi un indicator la strategia ta. Vei folosi strategia creată în exercițiile anterioare, strategy.st. Ca prim indicator, vei adăuga o medie mobilă simplă pe 200 de zile.

Pentru a adăuga un indicator la strategia ta, folosește funcția add.indicator(). Setează strategy la numele strategiei tale, name la numele unei funcții între ghilimele, și arguments la argumentele funcției respective, sub forma unei liste. De exemplu, dacă numele funcției este SMA, argumentul arguments va conține argumentele funcției SMA:

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

Atunci când faci referire la date de piață dinamice în apelul add.indicator(), include mktdata în interiorul funcției quote(), deoarece aceasta este creată în interiorul quantstrat și se va modifica în funcție de instrumentul utilizat la un moment dat. quote() asigură că datele pot fi actualizate dinamic pe parcursul rulării strategiei.

În acest exercițiu, vei adăuga o SMA pe 200 de zile la strategia existentă strategy.st. Pachetele quantstrat și quantmod sunt deja încărcate pentru tine.

Acest exercițiu face parte din cursul

Tranzacționare financiară în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește add.indicator() pe strategia ta existentă strategy.st. Urmează cu atenție codul exemplu.
  • Furnizează funcția SMA ca argument name.
  • Specifică argumentele dorite ale funcției SMA, folosind prețul de închidere al mktdata și o perioadă de retrospectivă n de 200 de zile.
  • Etichetează indicatorul tău "SMA200".

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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 = ___)
Editează și rulează codul