CommencezCommencez gratuitement

Exécuter votre stratégie

Félicitations d'avoir créé une stratégie dans quantstrat! Pour récapituler, votre stratégie utilise trois indicateurs et cinq signaux distincts. Elle exige 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 dépasse 80 à la hausse, ou lorsque la SMA50 passe sous la SMA200.

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

  1. sigComparison pour indiquer que SMA50 est supérieure à SMA200;
  2. sigThreshold avec cross réglé à 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;
  5. sigThreshold avec cross réglé à TRUE pour DVO_2_126 supérieur à 80.

La stratégie investit 100 000 $ (votre initeq) dans chaque opération, et peut effectuer un léger lissage du coût d'achat si le DVO_2_126 oscille autour de 20 (même si l'effet est surtout négligeable par rapport à l'allocation initiale).

Dans ce dernier chapitre, vous apprendrez à visualiser les résultats réels de votre portefeuille. Mais avant, pour 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 celui que vous devrez copier-coller à l'avenir.

Cette activité fait partie du cours

Négociation financière en R

Voir le cours

Instructions de l’exercice

  • 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 consigner 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 de la dernière opération.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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