Aan de slagGa gratis aan de slag

`add.rule()` gebruiken om een enter-regel te implementeren

Geweldig! Je beheerst elk onderdeel van het regelopbouwproces in quantstrat. Tot nu toe heb je regels stap voor stap toegevoegd, maar nu is het tijd om alles samen te brengen en te zien hoe goed je de stof van dit hoofdstuk hebt opgepikt.

Het tegenovergestelde van een exit-regel is een enter-regel. Bij enter-regels kan orderqty niet worden ingesteld op "all", omdat er nog geen initiële positie is om op te handelen. In deze oefening implementeer je een enter-regel die verwijst naar het longentry-signaal in je strategie en één aandeel van een asset koopt.

Deze oefening maakt deel uit van de cursus

Financieel traden in R

Cursus bekijken

Oefeninstructies

  • Geef de argumenten in add.rule() op om je nieuwe enter-regel te implementeren.
  • Je regel moet worden geactiveerd wanneer het longentry-signaal gelijk is aan TRUE.
  • Je regel moet 1 aandeel van een asset kopen als een "market"-order.
  • De kant van je regel moet long zijn en replace moet FALSE zijn.
  • Je regel moet kopen op de Open van de volgende dag nadat het signaal is waargenomen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 = "___")
Code bewerken en uitvoeren