Check Logic
The order can be placed at any time before the open if there is a buy imbalance. If there is no imbalance, the order must be placed least 2 minutes before the market opens (factoring in transmission latency).
Fill LogicThe order is filled on NASDAQ at the opening print (aka O print) if the opening price locks or crosses the limit. If the order cannot be filled at the opening print, it is cancelled. The number of shares filled is the symbol's ask_size * lot_size. If the order is partially filled, the remainder will be cancelled at the end of the simulation since there is at most one opening print for each symbol. If the opening print is not seen within 1 second of the market open, the order is cancelled. This fill takes liquidity.
Cancel LogicThe order must be cancelled at least 2 minutes before market open (factoring in transmission latency).