CommencerCommencer gratuitement

Exécuter votre stratégie

Félicitations pour avoir créé une stratégie dans quantstrat ! Pour récapituler, votre stratégie utilise trois indicateurs distincts et cinq signaux distincts. Elle exige à la fois que le seuil de l’indicateur DVO_2_126 soit inférieur à 20 et que la SMA50 soit supérieure à la SMA200. La stratégie vend lorsque le DVO_2_126 passe au‑dessus de 80, ou lorsque la SMA50 passe sous la SMA200.

Pour que cette stratégie fonctionne correctement, vous avez défini cinq signaux distincts :

  1. sigComparison indiquant que SMA50 est supérieure à SMA200 ;
  2. sigThreshold avec cross défini à FALSE pour DVO_2_126 inférieur à 20 ;
  3. sigFormula pour les lier et définir cross à TRUE ;
  4. sigCrossover avec SMA50 inférieure à SMA200 ; et
  5. sigThreshold avec cross défini à TRUE pour DVO_2_126 supérieur à 80.

La stratégie investit 100 000 $ (votre initeq) dans chaque trade, avec un léger lissage du coût unitaire possible si le DVO_2_126 oscille autour de 20 (même si l’effet reste négligeable par rapport à l’allocation initiale).

Dans ce dernier chapitre, vous allez apprendre à consulter les résultats réels de votre portefeuille. Mais d’abord, pour pouvoir générer ces résultats, vous devez exécuter votre stratégie et ajouter un peu de code standard afin que quantstrat enregistre tout. Le code de cet exercice est du code que vous aurez à copier‑coller à l’avenir.

Cet exercice fait partie du cours

Trading financier en R

Afficher le cours

Instructions

  • Utilisez applyStrategy() pour appliquer votre stratégie (strategy.st) à votre portefeuille (portfolio.st). Enregistrez le résultat dans l’objet out.
  • Exécutez les fonctions nécessaires pour enregistrer les résultats de votre stratégie, notamment updatePortf() et la définition de daterange, ainsi que updateAcct() et updateEndEq().
  • À partir de ces informations, voyez si vous pouvez trouver la date du dernier trade.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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(___)
Modifier et exécuter le code