2.订单通知及属性
下单者和执行者并不是同一个,所以需要订单作为中间桥梁。
使用backtrader,自然是下单者。代理(国内是证券公司)作为具体执行者。stategy做出订单,发给broker,broker再反馈给strategy。我们获取通知主要是通过Strategy中的notify_order。
-
在调用next方法之前发出通知
-
在同下个周期中,可能发生几个相同的订单,具有相同或不同的状态。
-
订单提交给代理并被接受,在调用next之前完成。
2.1 订单状态
并不是所有的订单都是成交状态。根据发生顺序、完成情况,订单值有以下状态:
-
Order.Created
已创建,在订单实例创建时设置。用户无法看到,除非手动创建,而不是通过buy,sell,close创建的。
-
Order.Submitted
已提交,在订单实例发送到代理时设置。意味着订单已经发送。在回溯的模式下这是个立即的行为。在真实交易中,需要时间发送给真正的证券商,证券商然后再把订单转发给交易所。
-
Order.Accepted
已接受。证券商接收订单,根据订单类型执行相应的行为
-
Order.Partial.
已部分成交订单.已成交情况通过order.executed。exbits查询
-
Order.Complete
订单已完成
-
Order.Rejected
订单被拒绝。可能存在证券公司不接收的条件或者订单本身不合理