CommencezCommencez gratuitement

Utiliser add.rule() pour implémenter une règle d'entrée

Excellent! Vous avez maîtrisé tous les éléments du processus de création de règles dans quantstrat. Jusqu'ici, vous avez ajouté des règles étape par étape; il est maintenant temps de tout rassembler et de vérifier à quel point vous avez assimilé la matière de ce chapitre.

L'opposé d'une règle de sortie est une règle d'entrée. Pour les règles d'entrée, orderqty ne peut pas être défini à "all" puisqu'il n'y a pas de position initiale sur laquelle agir. Dans cet exercice, vous allez implémenter une règle d'entrée qui se réfère au signal longentry dans votre stratégie et qui achètera une action d'un actif.

Cette activité fait partie du cours

Négociation financière en R

Voir le cours

Instructions de l’exercice

  • Spécifiez les arguments de add.rule() pour implémenter votre nouvelle règle d'entrée.
  • Votre règle doit se déclencher lorsque le signal longentry est égal à TRUE.
  • Votre règle doit acheter 1 action d'un actif en tant qu'ordre "market".
  • Le côté (side) de votre règle doit être long et replace doit être FALSE.
  • Votre règle doit acheter à l'Open du jour suivant après l'observation d'un signal.

Exercice interactif pratique

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

# Create an entry rule of 1 share when all conditions line up to enter into a position
add.rule(strategy.st, name = "ruleSignal", 
         
         # Use the longentry column as the sigcol
         arguments=list(sigcol = "___", 
                        
                        # Set sigval to TRUE
                        sigval = ___, 
                        
                        # Set orderqty to 1
                        orderqty = ___,
                        
                        # Use a market type of order
                        ordertype = "___",
                        
                        # Take the long orderside
                        orderside = "___",
                        
                        # Do not replace other signals
                        replace = ___, 
                        
                        # Buy at the next day's opening price
                        prefer = "___"),
         
         # This is an enter type rule, not an exit
         type = "___")
Modifier et exécuter le code