Quantstrat:在下一个柱线卖出(自定义)
Quantstrat: sell at next bar (custom)
我正在修改 quantstrat 中与止损限价相关的内置函数。我想测试一个仅在收盘价低于止损限价时才卖出的系统。我能够更改比较数据,以便它在 close < stoplimit
.
时销售
但是,销售交易发生在收盘触发销售的同一天。这是我正在解决的问题。
如何更改此代码为次日卖出?
if(orderType == 'stoplimit')
txnprice <- min(orderPrice, Op(mktdataTimestamp)[,1])
else
txnprice <- orderPrice
txntime = timestamp
这是我用来控制订单价格的代码:
txnprice = try(getPrice(x=mktdata[curIndex+1L], prefer=prefer)[,1])
+1L在getPrice作用于curIndex的前一天增加。这很好,因为它也需要 prefer。
我还没有想出如何将 txntime 更改为下一个交易日。我可以延迟一天:
txntime = timestamp+1
来自 Ilya Kipnis 的消息:
ordertype 参数是订单类型。对于我迄今为止展示的大部分演示,我主要使用最简单的“市场”类型订单。市价订单在收到信号后在下一根柱线执行。它们不在信号柱上执行,而是在信号柱之后的柱上执行。在每日数据上,这可能会导致一些 P/L 由于缺口,但在日内数据上,下一根柱线的开盘价应该与当前柱线的收盘价非常相似。需要注意的一件事是,使用每月数据,quantstrat 使用当前柱执行。
我正在修改 quantstrat 中与止损限价相关的内置函数。我想测试一个仅在收盘价低于止损限价时才卖出的系统。我能够更改比较数据,以便它在 close < stoplimit
.
但是,销售交易发生在收盘触发销售的同一天。这是我正在解决的问题。
如何更改此代码为次日卖出?
if(orderType == 'stoplimit')
txnprice <- min(orderPrice, Op(mktdataTimestamp)[,1])
else
txnprice <- orderPrice
txntime = timestamp
这是我用来控制订单价格的代码:
txnprice = try(getPrice(x=mktdata[curIndex+1L], prefer=prefer)[,1])
+1L在getPrice作用于curIndex的前一天增加。这很好,因为它也需要 prefer。
我还没有想出如何将 txntime 更改为下一个交易日。我可以延迟一天:
txntime = timestamp+1
来自 Ilya Kipnis 的消息:
ordertype 参数是订单类型。对于我迄今为止展示的大部分演示,我主要使用最简单的“市场”类型订单。市价订单在收到信号后在下一根柱线执行。它们不在信号柱上执行,而是在信号柱之后的柱上执行。在每日数据上,这可能会导致一些 P/L 由于缺口,但在日内数据上,下一根柱线的开盘价应该与当前柱线的收盘价非常相似。需要注意的一件事是,使用每月数据,quantstrat 使用当前柱执行。