[R-SIG-Finance] rule delays
Stephen Choularton
stephen at organicfoodmarkets.com.au
Sat May 28 09:05:04 CEST 2016
Hi
I thought I had found a solution to this by adding the signal:
add.signal(strategy.st, name="sigFormula",
arguments = list(columns = c("longEntry"),
formula = "lag(longEntry, 8) == 1", cross=FALSE), label="fixedExit")
and a new rule:
add.rule(strategy.st, name = "ruleSignal",
arguments = list(sigcol = "fixedExit",
sigval = TRUE,
orderqty = "all",
ordertype = "market",
orderside = "long", TxnFees = txnFees,
replace = FALSE,
prefer = "Open"), type= "exit", path.dep = TRUE)
I placed the rule before the old exit one assuming it would then take
precedent and because the rule was a sell all one it would do no harm
for the other rule to trigger as all = 0 at that stage.
It made a difference but I was not sure if it was working properly (ie
sell either when the normal sale is triggered or on 8 days whichever is
the earlier). So I temporarily removed the old longExit signal and
associated rule. That should have mean that I only got sales on the 8th
trading day after a purchase but this showed up in the order book:
Order.Qty Order.Price Order.Type Order.Side
Order.Threshold Order.Status Order.StatusTime Prefer Order.Set
Txn.Fees Rule Time.In.Force
2003-08-07 "3261" "2.92237690558407" "market" "long"
NA "closed" "2003-08-08 00:00:00" "Open" NA
"-8" "ruleSignal.rule" ""
2003-08-19 "all" "2.95346608774812" "market" "long"
NA "closed" "2003-08-20 00:00:00" "Open" NA
"-8" "ruleSignal.rule" ""
2003-11-11 "3073" "3.92345478910284" "market" "long"
NA "closed" "2003-11-12 00:00:00" "Open" NA
"-8" "ruleSignal.rule" ""
2003-11-21 "all" "3.66852349535765" "market" "long"
NA "closed" "2003-11-24 00:00:00" "Open" NA
"-8" "ruleSignal.rule" ""
2003-12-10 "2638" "3.46333489307494" "market" "long"
NA "closed" "2003-12-11 00:00:00" "Open" NA
"-8" "ruleSignal.rule" ""
2003-12-22 "all" "3.01565066991264" "market" "long"
NA "closed" "2003-12-23 00:00:00" "Open" NA
"-8" "ruleSignal.rule" ""
2004-01-13 "3591" "3.07782903424074" "market" "long"
NA "closed" "2004-01-14 00:00:00" "Open" NA
"-8" "ruleSignal.rule" ""
2004-01-23 "all" "2.9223831234205" "market" "long"
NA "closed" "2004-01-26 00:00:00" "Open" NA
"-8" "ruleSignal.rule" ""
2004-01-28 "3603" "2.76693721260026" "market" "long"
NA "closed" "2004-01-29 00:00:00" "Open" NA
"-8" "ruleSignal.rule" ""
2004-01-30 "all" "2.81046206762993" "market" "long"
NA "closed" "2004-02-02 00:00:00" "Open" NA
"-8" "ruleSignal.rule" ""
Please note the last line shows a purchase and sale only two calendar
days apart. They were weekdays. That is not in accordance with the
indicator or rule I wrote. In fact mktdata shows:
2004-01-28 1 0 1 0
2004-01-29 0 0 0 0
2004-01-30 0 0 0 0
2004-02-02 0 0 0 0
2004-02-03 0 0 0 0
2004-02-04 0 0 0 0
2004-02-05 0 0 0 0
2004-02-06 0 0 0 0
2004-02-09 0 0 0 1
with the signals on the correct days.
Just a sanity check. Can anyone tell me where I am going wrong,
presumably in writing that rule.
-----------------------------------------------------------------------------------------------------------------------------------
Stephen Choularton PhD, FIoD
On 27/05/2016 4:43 PM, Stephen Choularton wrote:
> Hi
>
> I am trying to implement Harry's Connor's RSI from his book Quantative
> Trading ...
>
> I have it working as is and have varied it to some shares in the ASX.
>
> However, I want to pursue the idea of a fixed time (8 day) sell rule
> that takes place if the normal rule doesn't produce a sale before.
>
> I added this rule at line 127 of the file 3. strategy.R:
>
> add.rule(strategy.st, name = "ruleSignal",
> arguments = list(sigcol = "longExit",
> sigval = TRUE,
> orderqty = "all", delay = 691200,
> ordertype = "market",
> orderside = "long", TxnFees = txnFees,
> replace = FALSE,
> prefer = "Open"), type= "exit", path.dep = TRUE)
>
> but it seems to have no effect.
>
> I attach all the code. You run it in the numbered order of the files.
>
> I wonder if anyone can help me make this sort of rule work.
>
> -----------------------------------------------------------------------------------------------------------------------------------
>
> Stephen Choularton PhD, FIoD
> 0413 545 182
More information about the R-SIG-Finance
mailing list