从0.7.7升级后的quantstrat 0.7.8然后旧代码不起作用

时间:2013-05-23 05:38:48

标签: r quantstrat

我已将quantstrat软件包从0.7.7(2013年1月7日安装)升级到0.7.8,但旧代码无法正常运行。看起来我们不能把任何入场订单买入或卖出,只有退出订单才能执行。这是细节。有人知道add.rule或applyStrategy函数的重大变化或者报道了同样的问题吗?

我们通过add.rule()

设置交易规则
    add.rule(f,'ruleSignal',arguments=list(sigcol="DoSell",sigval=TRUE,orderqty=(-1*tradeSize),osFUN='osSUS',ordertype='market',TxnFees="calcTxnFee",prefer='Open'),type='enter',label=gExitLabel)
    add.rule(f,'ruleSignal',arguments=list(sigcol="DoBuy", sigval=TRUE,orderqty=tradeSize,osFUN='osBuy',ordertype='market',TxnFees="calcTxnFee",prefer='Price'),type='enter',label=gEnterLabel)
    add.rule(f,'ruleSignal',arguments=list(sigcol="DoStop", sigval=TRUE,orderqty=-1*tradeSize,osFUN='osStop',ordertype='stoplimit',threshold='StopLevel',TxnFees="calcTxnFee"),type='risk',label='Stop')

我们遇到的问题是当我们运行applyStrategy时我们没有获得进入信号......看来getOrderbook有“买”和“卖”......

 applyStrategy(rs, rs)  only applied sell signal ........(not buy)

[1] "2010-11-18 09:00:00 ABC -65660 @ 4.6"
[1] "2010-12-07 09:00:00 ABC -37509 @ 5.17"

然而getOrderBook()按顺序记录“买”和“卖”..... 同时order.prices被设置为“0”,order.status“被替换”并且由系统选择“Price”

1 个答案:

答案 0 :(得分:1)

很难理解你的问题究竟是什么:“没有进入信号”,“订单有买卖”(无论这意味着什么),“order.prices被设置为0”......

我看到你正在使用自己的订单大小调整功能,它可能与它有关吗?您可以尝试删除测试的订单大小调整功能,只是为了检查您的输入订单是否正在执行。

否则我建议您提供一个完整的示例,以便我可以运行并检查。

请注意,quantstrat正处于大量开发阶段,并且代码几乎每天都会打补丁,尽管版本号可能并不总是被提升。因此,请确保始终下载最新代码。

HTH,

Jan Humme。