feat(matcher): 集合竞价CALL_AUCTION撮合(分期项)—开盘价(最大成交量原则→open)

CALL_AUCTION枚举原拒单(unsupported), 现撮合用开盘价(open, 集合竞价确定开盘价).
当前定价同NEXT_OPEN(均为open); 未来区分开盘/尾盘集合竞价需扩枚举.
test: call_auction fills@open(原rejected用例改).
This commit is contained in:
2026-07-08 07:02:51 +08:00
parent 7eec983164
commit ab703e93ba
2 changed files with 9 additions and 4 deletions
+4
View File
@@ -72,6 +72,10 @@ def cross_order(
fill_price = float(match_bar["open"])
elif order.match_session == MatchSession.CURRENT_CLOSE:
fill_price = float(match_bar["close"])
elif order.match_session == MatchSession.CALL_AUCTION:
# 集合竞价开盘价(最大成交量原则 → open)。当前同 NEXT_OPEN 定价;
# 未来区分开盘/尾盘集合竞价需扩枚举(CALL_AUCTION_OPEN/CLOSE)。
fill_price = float(match_bar["open"])
else:
return PaperReject(
order.strategy_id, symbol, "unsupported_match_session", bar_date