CommencerCommencer gratuitement

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

Excellent ! Vous maîtrisez désormais toutes les étapes de la construction de règles dans quantstrat. Jusqu’ici, vous avez ajouté les règles pas à pas ; il est maintenant temps de tout rassembler pour vérifier ce que vous avez retenu dans ce chapitre.

L’inverse 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" car il n’existe pas encore de position 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 achètera une action d’un actif.

Cet exercice fait partie du cours

Trading financier en R

Afficher le cours

Instructions

  • 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 via un ordre "market".
  • Le côté 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 du signal.

Exercice interactif pratique

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

# 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