However, it is possible for an exchange to also secretly trade with bitcoins or fiat that it does not have because the exchange controls the accounting.
I find it interesting that people always favour the fictional money option and hardly ever consider the front running option.
Exchanges know exactly how much everyone has and have complete control over the rapidity of the execution of their moves. It would be a breeze for them to upend countless trades in their favour.
Dicing with non existent money has the capacity to kill them off if things take a turn for the worst. Simply mangling the trades of their customers can continue indefinitely with no risk at all.