Aan de slagGa gratis aan de slag

Je strategie uitvoeren

Gefeliciteerd met het maken van een strategie in quantstrat! Ter herinnering: je strategie gebruikt drie afzonderlijke indicatoren en vijf afzonderlijke signalen. De strategie vereist zowel dat de drempel van de indicator DVO_2_126 onder de 20 ligt, als dat de SMA50 groter is dan de SMA200. De strategie verkoopt wanneer de DVO_2_126 boven de 80 kruist, of wanneer de SMA50 onder de SMA200 kruist.

Voor deze strategie heb je vijf aparte signalen gespecificeerd:

  1. sigComparison voor SMA50 die groter is dan SMA200;
  2. sigThreshold met cross op FALSE voor DVO_2_126 kleiner dan 20;
  3. sigFormula om ze aan elkaar te koppelen en cross op TRUE te zetten;
  4. sigCrossover met SMA50 kleiner dan SMA200; en
  5. sigThreshold met cross op TRUE voor DVO_2_126 groter dan 80.

De strategie investeert $100.000 (je initeq) in elke trade, en kan een beetje middelen in dollar-termen toepassen als de DVO_2_126 rond de 20 schommelt (al is het effect verwaarloosbaar vergeleken met de initiële allocatie).

In dit laatste hoofdstuk leer je hoe je de werkelijke resultaten van je portefeuille bekijkt. Maar eerst, om resultaten te genereren, moet je je strategie uitvoeren en nog wat standaardcode toevoegen zodat quantstrat alles registreert. De code in deze oefening is code die je in de toekomst vaak zult kopiëren en plakken.

Deze oefening maakt deel uit van de cursus

Financieel traden in R

Cursus bekijken

Oefeninstructies

  • Gebruik applyStrategy() om je strategie (strategy.st) toe te passen op je portefeuille (portfolio.st). Sla dit op in het object out.
  • Voer de noodzakelijke functies uit om de resultaten van je strategie vast te leggen, waaronder updatePortf() en het instellen van de daterange, evenals updateAcct() en updateEndEq().
  • Kijk op basis van deze informatie of je de datum van de laatste transactie kunt vinden.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Use applyStrategy() to apply your strategy. Save this to out
out <- applyStrategy(strategy = ___, portfolios = ___)

# Update your portfolio (portfolio.st)
updatePortf(___)
daterange <- time(getPortfolio(___)$summary)[-1]

# Update your account (account.st)
updateAcct(___, daterange)
updateEndEq(___)
Code bewerken en uitvoeren