【问题标题】:Quantstrat: sell at next bar (custom)Quantstrat:在下一个柱卖出(自定义)
【发布时间】:2016-02-16 20:28:15
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: trading algorithmic-trading quantstrat


    【解决方案1】:

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

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

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

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

    txntime = timestamp+1
    

    【讨论】:

      【解决方案2】:

      来自 Ilya Kipnis 的消息:

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

      【讨论】:

        猜你喜欢
        • 2023-03-20
        • 2023-03-29
        • 2022-11-13
        • 2016-10-28
        • 1970-01-01
        • 2018-04-04
        • 2011-02-04
        • 2018-07-13
        • 1970-01-01
        相关资源
        最近更新 更多