ricequant / rqalpha

A extendable, replaceable Python algorithmic backtest && trading framework supporting multiple securities
http://rqalpha.io
Other
5.38k stars 1.61k forks source link

executor增量问题 #678

Closed cufewxy closed 2 years ago

cufewxy commented 2 years ago

提 ISSUE 须知

请先阅读文档 rqalpha文档

如果仍有问题的话请在 issue列表 中寻找是否有相关问题的解决方案

如果没有的话 麻烦开一个issue 描述以下问题:

1. RQAlpha的版本

RQAlpha 4.7

2. Python的版本

3.7

3. 是Windows/Linux/MacOS or others?

Windows

4. 您出现问题对应的源码/或者能复现问题的简易代码 以及对应的配置

executor.py中

5. 您出现的错误堆栈日志信息

无,本issue反应executor执行顺序问题

现在settlement和before_trading是耦合在一起的,当做增量回测的时候,第一次回测完成后,executor在最后会发布settlement。第二次回测刚开始时,发布before_trading的时候,在executor中由于last_before_trading与event日期不一致,又会发布一次settlement,导致重复了。这对于sys_analyzer的mod有影响,会多collect_daily一次,造成净值多收集一次。此外分红也会多次运行。

Cuizi7 commented 2 years ago

是否是 使用 mod-incremental 出现的问题?是的话在 mod-incremetnal那边有修复。