gpt4 book ai didi

r - Quantstrat:在同一柱上执行

转载 作者:行者123 更新时间:2023-12-02 04:09:29 28 4
gpt4 key购买 nike

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

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

此外,如果我已经在进行交易(假设在 50 秒内做空),并且我在 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)

或者,调用策略:

out <- applyStrategy(strategy=strategy.st,portfolios=portfolio.st, allowMagicalThinking=TRUE)

最佳答案

allowMagicalThinking = TRUE 导致在与订单输入相同的观察上执行。没有办法强制在与引起订单的信号相同的观察结果上输入订单。

如果您的信号确实是预定义的,您可以将它们包含在您的 mktdata 对象中并充分移动它们,以便在您认为应该执行时执行。

我警告任何这样做的人要仔细检查你的结果,因为你回避了几乎所有 quantstrat 的内置保护措施,以避免在回溯测试中产生前瞻偏差。

关于r - Quantstrat:在同一柱上执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37488653/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com