quantstrat中的净额结算交易

quantstrat中的净额结算交易,r,quantstrat,R,Quantstrat,假设我有一个策略,其中包含多个规则,可以在同一时间戳对同一符号生成多个订单。例如,在2012年5月23日,一条规则可能购买10股IBM股票,而另一条规则可能出售5股IBM股票。在生产中,一个合理的系统将使用净额结算并执行一个购买5股的订单,而不是一个购买10股的订单和另一个出售5股的订单 在quantstrat中有没有办法获得这种行为?根据我的实验,quantstrat不进行净额结算,例如,它会为两个相反的订单增加交易费用,就好像执行了两个单独的订单一样 如果quantstrat无法净订单,则仍

假设我有一个策略,其中包含多个规则,可以在同一时间戳对同一符号生成多个订单。例如,在2012年5月23日,一条规则可能购买10股IBM股票,而另一条规则可能出售5股IBM股票。在生产中,一个合理的系统将使用净额结算并执行一个购买5股的订单,而不是一个购买10股的订单和另一个出售5股的订单

quantstrat
中有没有办法获得这种行为?根据我的实验,
quantstrat
不进行净额结算,例如,它会为两个相反的订单增加交易费用,就好像执行了两个单独的订单一样


如果
quantstrat
无法净订单,则仍然可以使用自定义
TxnFees
功能在回溯测试中获得所需的PnL。如果这是正确的方法,那么如何定义一个自定义函数来扣除交易费用呢

一个“合理的系统”可能不会做这样的事情。对于激进的订单,我在tick数据上同时执行的经验基本上为零

对于酒吧数据,是的,内部净额结算是有意义的,并将由生产订单管理系统处理。或者,例如,针对要求另一方发出积极指令的其他信号或净额结算头寸,将静息内部限额指令内部化。是否有大小不一的投资者使用条形数据

这似乎忽略了quantstrat的作用。你正在寻找(在研究中)一些能够做出良好预测的策略,并通过写一个回溯测试来评估这些预测的质量

回溯测试不是现实

此外,网络将完全混淆任何判断信号过程是否具有预测能力的能力


记录簿中的帐户将自动扣除损益,因此在没有费用的情况下,其结果将与您的订单扣除结果相同。因此,我认为您不需要一个单独的
TxnFees
函数来了解净额结算、预收费的可能影响。

您认为这一点很有必要,因为它可能只与酒吧数据相关。也许我不太清楚,但你错过了我问题的要点:正确计算费用,这就是我考虑使用自定义
TxnFees
函数的原因。没有理由像
quantstrat
这样的“工业级”工具不能正确计算策略的费用,例如进行日常交易。