Swiss Bank Threatens to Sue NASDAQ Over Facebook IPO
jfruh writes "On the day of the Facebook IPO, the NASDAQ's trading systems suffered multiple failures and couldn't confirm buy orders for several hours. Big banks buying shares for their funds and customers placed multiple orders as a result, and bought more Facebook stock than they intended to as a result. NASDAQ has agreed to set up a fund to compensate them for their losses, but apparently this isn't enough for Swiss bank UBS, which is threatening legal action."
If the system is down, don't keep submitting orders.
Exactly. Absence of a confirmation is not confirmation that there is no order.
In that case, the transactionally correct action would be to cancel the original order,
and receive confirmation of the cancel, before attempting to place another order.
That depends on what the protocol spec says. If NASDAQ acknowledged receiving the order but didn't confirm that the order was placed, it's entirely possible that the right thing to do was send the order again under the assumption that it didn't get filled.
Of course any system that doesn't use unique transaction ID's to prevent dupes is braindead, but I've been appalled at some of the brain dead protocols I've seen that are used to transfer large volumes of transactions amongst businesses (sometimes involving someone manually keying them in on both ends with no check digits or other verification.)
Of course... if Facebook stock had gone up instead, then they would complain that more orders were cancelled and not resubmitted than they intended.
That's why you better make sure your systems work correctly before you accept billions of dollars of orders since your liability can be measured in billions of dollars.
I work in the trading industry with experience tracking down order problems between client and exchange, and if you do not receive information on your original order status you had better contact the exchange to find out what happened. FIRING ADDITIONAL ORDERS INTO THE ETHER IS A STUPID DECISION AND YOU ARE 100% LIABLE FOR BEING AN IDIOT.
Pretty much all of the exchanges use a unique order ID function for tracking orders (both client-unique and exchange unique generated on either side and provided to the other). Once you submit the order a few different things need to happen for almost all exchanges.
You will receive an order confirmation (Ack message) which will typically contain all of the same information your order had in it along with the Exchange Order ID (you have your own client order ID attached to the trade which is echoed back to you too) or you will receive a Reject message if your order has something wrong with it (price is not valid for the security you are trading, order ID is a duplicate of one you sent already, order type is not allowed for your account, you are submitting a day order during an invalid session, trading is suspended on that security, etc).
Once your order is acknowledged IT IS LIVE ON THE MARKET. There isn't a valid order state where the exchange has accepted the order, but it won't match in the matching engine against suitable orders (bugs not withstanding, but are extremely rare). Some order types like IOC orders may not be acknowledged but must come back as a trade or a cancel message (IOC is "immediate or cancel", as-in match my order now or cancel it back to me).
If you submit an order and it does not either come back as acknowledged, filled, cancelled, or rejected then you DO NOT KNOW THE CURRENT STATE OF THE ORDER AND MUST CONTACT THE EXCHANGE FOR ASSISTANCE. At this time your order is considered live (to you at least) and may come back filled at any time! If you have not received an order acknowledgement or reject message you can TRY to cancel your pending order using your own client order ID on some exchanges (others mandate you cancel your order based on their exchange ID), but until you get a FULL cancel confirmation your order is considered LIVE on the market and may be filled at any time.
Let me repeat one more time: while your order is in any other state than fully canceled, filled, or rejected you MAY BE FILLED at any time!
Poster before you is correct, anyone who continues trading without knowing exactly the state of their order is a FOOL. You cannot assume anything about the state of your order if you are missing information from the exchange.
Read the fucking summary, they purchased multiples when the confirm was not received. Therefor they now have more dead IPO than they had wanted because a system failed to produce the appropriate response.
"If NASDAQ acknowledged receiving the order but didn't confirm that the order was placed, it's entirely possible that the right thing to do was send the order again under the assumption that it didn't get filled."
Exactly, you resend with a poss resend flag on the fix message
http://fixprotocol.org/FIXimate3.0/en/FIX.4.2/tag97.html
my guess is an algo went out of control at the swiss bank.
(disclaimer, I work with FIX messaging as a day job and I used to worked for a company that is now part of OMX-NASDAQ)
if