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

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


I also realized a logic fault. The stop-limit order I had created used
the buy signal which is obviously not correct. The sell should occur
anytime price reaches a certain point regardless of the buy signal.

I will re-implement the same thing using a combination of a rule and
an indicator (separate column with price that is 15% higher than
purchase price).

Thanks for your help!

/Sergey

On Wed, Feb 15, 2012 at 8:16 PM, Sergey Pisarenko <drseergio at gmail.com> wrote:
> 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