小编tch*_*tch的帖子

Quantstrat:在开放时购买下一个柱

如何在quantstrat中实施“以开盘价在下一栏买入”?

这是我对maCross.R示例的实验。

  1. 添加prefer='Open'RuleSignal

    stratMACROSS <- add.rule(strategy = stratMACROSS, name='ruleSignal',
                             arguments = list(sigcol="ma50.gt.ma200", sigval=TRUE, orderqty=100000, ordertype='market', orderside='long', prefer='Open'), type='enter')
    stratMACROSS <- add.rule(strategy = stratMACROSS, name='ruleSignal', 
                             arguments = list(sigcol="ma50.lt.ma200", sigval=TRUE, orderqty=-100000, ordertype='market', orderside='long', prefer='Open'), type='exit')
    
    Run Code Online (Sandbox Code Playgroud)
  2. 订单以当前Open价格生成,但在下一个栏执行Close

    > orders <- getOrderBook(portfolio.st)
    > head(orders)
                    Order.Qty Order.Price Order.Type Order.Side Order.Threshold Order.Status Order.StatusTime     
    2011-05-22 00:00:00 "0"       NA          "init"     "long"     "0"             "closed"     "2011-05-22"         
    2011-05-24 04:30:00 "1e+05"   "1.61297"   "market"   "long"     NA              "closed"     "2011-05-24 05:00:00"
    2011-05-25 03:00:00 "-1e+05"  "1.61523"   "market"   "long"     NA              "closed" …
    Run Code Online (Sandbox Code Playgroud)

r quantstrat

5
推荐指数
1
解决办法
1061
查看次数

标签 统计

quantstrat ×1

r ×1