Specifying prefer in add.rule()
Lastly, of the basic rule arguments, there is the aspect of the prefer argument. In quantstrat, orders have a "next-bar" mechanism. That is, if you would gain a signal on Tuesday, the earliest that a position would actually fulfill itself would be on the Wednesday after. However, this can be solved by placing orders to execute on the next possible opening price, rather than wait for an entire day to pass before being able to actually purchase/sell the asset.
This exercise is part of the course
Financial Trading in R
Exercise instructions
- Set the prefer argument to
"Open"
.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Fill in the prefer argument in add.rule()
add.rule(strategy.st, name = "ruleSignal",
arguments = list(sigcol = "thresholdexit", sigval = TRUE, orderqty = "all",
ordertype = "market", orderside = "long",
replace = FALSE, prefer = "___"),
type = "exit")