0

我正在修改 quantstrat 中与停止限制相关的内置函数。我想测试一个仅在收盘价低于止损限价时出售的系统。我能够更改比较数据,使其在close < stoplimit.

但是,销售交易发生在收盘触发销售的同一天。这是我正在解决的问题。

如何更改此代码以在第二天出售?

 if(orderType == 'stoplimit')
                         txnprice <- min(orderPrice, Op(mktdataTimestamp)[,1])
                     else
                         txnprice <- orderPrice
                     txntime = timestamp
4

2 回答 2

0

来自 Ilya Kipnis 的消息:

ordertype 参数是订单类型。对于我迄今为止展示的大多数演示,我主要使用“市场”类型的订单,这是最简单的。市价单在收到信号后在下一个柱执行。它们不在信号条上执行,而是在信号条之后的条上执行。在每日数据上,这可能会因跳空而导致一些 P/L,但在日内数据上,下一根柱线的开盘价应该与当前柱线的收盘价非常相似。需要注意的一点是,使用月度数据,quantstrat 使用当前柱执行。

于 2018-07-15T09:43:09.010 回答
0

这是我用来控制订单价格的代码:

txnprice = try(getPrice(x=mktdata[curIndex+1L], prefer=prefer)[,1])

+1L 在 getPrice 作用于 curIndex 之前增加了一天。这很好,因为它也需要更喜欢。

我还没弄清楚如何将 txntime 更改为下一个交易日。我可以推迟一天:

txntime = timestamp+1
于 2016-03-02T02:11:14.910 回答