[R-SIG-Finance] rule delays
Stephen Choularton
stephen at organicfoodmarkets.com.au
Sun May 29 11:56:24 CEST 2016
Hi
The more I look the more I see problems. This is from the orderbook.
date size days value price
2003-08-07 3261
9529.8710891097 2.9223769056
2003-08-19 all 9 9631.2529121466 2.9534660877
2003-11-11 3073 61 12056.776566913 3.9234547891
2003-11-21 all 9 11273.3727012341 3.6685234954
2003-12-10 2638 14 9136.2774479317 3.4633348931
2003-12-22 all 9 7955.2864672296 3.0156506699
2004-01-13 3591 17 11052.4840619585 3.0778290342
2004-01-23 all 9 10494.277796203 2.9223831234
2004-01-28 3603 4 9969.2747769987 2.7669372126
2004-01-30 all 3 10126.0948296706 2.8104620676
2004-02-03 3184 3 8710.9401289089 2.7358480304
2004-02-09 all 5 8809.9280849192 2.7669372126
2004-08-19 2298 139 8716.0387547838 3.792880224
2004-08-31 all 9 8873.2132241324 3.8612764248
2004-09-17 3469 14 13524.1859650561 3.8985834434
2004-09-29 all 9 13265.3498700311 3.8239694062
2005-01-06 3969 72 17546.4794820949 4.4208817037
2005-01-18 all 9 18484.2660085641 4.6571594882
2005-02-21 1830 25 8442.9513786548 4.6136346331
2005-03-03 all 9 8306.4076905903 4.539020596
I have highlighted two trades which are not according to that 8 day
rule. If the highlighting gets lost they are the closing sales on the 30
Jan and 9 Feb. I can't figure out why.
However, I also notice that the value of the investments made varies
widely when I would have expected them to be fairly consistent.
Can anyone throw any light on these problems.
Thanks.
------------------------------------------
Stephen Choularton PhD, FIoD
On 28/05/2016 5:05 PM, Stephen Choularton wrote:
> 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
>
> _______________________________________________
> R-SIG-Finance at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R
> questions should go.
>
More information about the R-SIG-Finance
mailing list