[R-SIG-Finance] Writing sell rules with quantstrat

Sergey Pisarenko drseergio at gmail.com
Thu Feb 16 05:16:22 CET 2012


Brian,

I think this has to do with the fact that stop-limit order triggers
whenever the price is below the threshold. In other words, if I buy
shares for 30 and set a stop-limit order at 50 the stop-limit order
will trigger next day because the price is already below 50. It seems
that the stop-limit in its current implementation is not designed for
the case of gains. Instead, it works only for losses. When I set
threshold to say 0.9 (10% loss) I see that it behaves as expected and
the order is executed only when the price goes down 10%.

/Sergey

On Wed, Feb 15, 2012 at 9:30 AM, Sergey Pisarenko <drseergio at gmail.com> wrote:
> Thanks, that's a good idea. I have checked the high prices and I see
> that the price does not reach that level. To further troubleshoot I
> have changed the profit target to 50% (threshold=1.5). With that in
> place I still got very similar results:
>
>> p<-getPortfolio('p')
>> p$symbols$B$txn
>           Txn.Qty Txn.Price Txn.Value Txn.Avg.Cost Pos.Qty Pos.Avg.Cost
> 2009-01-01       0      0.00         0         0.00       0         0.00
> 2010-07-07    1000     33.19     33190        33.19    1000        33.19
> 2010-07-09   -1000     50.61    -50610        50.61       0         0.00
> 2010-07-09    1000     34.05     34050        34.05    1000        34.05
> 2010-07-14   -1000     55.32    -55320        55.32       0         0.00
> 2010-07-14    1000     36.18     36180        36.18    1000        36.18
> 2010-07-27   -1000     55.65    -55650        55.65       0         0.00
> 2010-07-27    1000     38.00     38000        38.00    1000        38.00
>
> Prices of 50 are nowhere close to the prices for that time period:
>                   Open   High    Low      Close  Volume          Adjusted
> 2010-07-07   32.73   33.22  32.19    33.19  54388300       31.95
> 2010-07-08   33.79   33.90  32.95    33.74  47070000       32.48
> 2010-07-09   33.28   34.17  32.12    34.05  48454800       32.78
> 2010-07-12   35.64   37.00  35.42    36.76  72391600       35.39
> 2010-07-13   37.72   37.76  35.71    36.88  85975400       35.51
> 2010-07-14   36.23   36.85  35.70    36.18  45008600       34.83
> 2010-07-15   36.68   39.81  36.52    38.92  75737600       37.47
> 2010-07-16   38.52   38.54  37.07    37.10  50505300       35.72
> 2010-07-19   36.00   36.08  34.58    35.75  55491300       34.42
>
> /Sergey
>
> On Wed, Feb 15, 2012 at 8:41 AM, Brian G. Peterson <brian at braverock.com> wrote:
>> On Wed, 2012-02-15 at 08:35 -0800, Sergey Pisarenko wrote:
>>> Consequently, this also causes multiple buy transactions to trigger. I
>>> would expect the stoplimit orders execute only when the closing price
>>> reaches the stoplimit order.
>>>
>> I'll look at it more closely when I have time, but if the High goes
>> through your limit, you will execute at the limit.
>>
>> Regards,
>>
>>   - Brian
>>>
>> --
>> Brian G. Peterson
>> http://braverock.com/brian/
>> Ph: 773-459-4973
>> IM: bgpbraverock
>>



More information about the R-SIG-Finance mailing list