小编Ed *_*son的帖子

Quantstrat:在同一条柱上执行

我知道这里之前有人问过这个问题,但我想进一步扩展这个问题。

假设我的入场价是 50,所以在一天开始时,我下限价单 1 手出价 50。在交易日,市场崩盘,我的出价被填满。在真实世界的实时交易场景中,我的执行将在同一每日柱上以 50 的价格执行。即使我使用 1 分钟柱并且填充发生在 14:00 实时,数据和价格在 14:01 与交易和填充完全无关。

此外,如果我已经在进行交易(比如说做空 @ 50s),并且我在 80 年代下止损单并且市场交易到 80 年代 - 我将在那时和那里被止损,大约在价格附近80 年代的人给予或采取一些滑点。下一个柱线,无论是每日、每小时还是 1 分钟,都可能在 150 点开盘。将在下一个柱线开盘时执行该交易的回测现在可能与会发生的情况不同步实时现场场景。

我知道任何根据柱线收盘计算其交易信号的策略都可能会受到巨大偏差的影响,而不会强制执行下一根柱线。但是对于具有预定义进入/退出信号的策略(我认为这将是大多数),在同一条柱上执行的能力至关重要!

在上面链接的帖子中,Josh Ulrich 提到添加allowMagicalThinking=TRUE对 applyStrategy 和 applyRules 的调用。但是,我似乎找不到任何关于它的文档,而且我对它的实现没有任何效果。我错过了什么?

调用 applyRules:

 test <- applyRules(strategy=strategy.st,portfolio=portfolio.st, symbol = symbols, mktdata=mktdata , allowMagicalThinking=TRUE)
Run Code Online (Sandbox Code Playgroud)

或者,调用策略:

out <- applyStrategy(strategy=strategy.st,portfolios=portfolio.st, allowMagicalThinking=TRUE)
Run Code Online (Sandbox Code Playgroud)

r quantstrat

2
推荐指数
1
解决办法
412
查看次数

标签 统计

quantstrat ×1

r ×1