I'm trying to build a consolidated LOB from several direct feeds.
However, there are many instances in which for a given stock, the bid price in one venue equals or crosses the ask price in a different venue.
Is that a valid state or do I have an issue with out-of-order event processing across the different feeds? In such case, what's the best way to "fix" the LOB back to a valid state (e.g. ignore the locking/crossing event, remove the locked/crossed prices)?