Imported from previous forum
Hi all,
I’ve seen the reduce qty threads here but not able to gleam information specific to my scenario.
If a blind order is sent to multiple market makers and one MM executes a partial, what is the best way to notify all firms of the new reduced qty ?
is this a new cancel/replace type of message ? which FIX version supports this ?
TIA a bundle
[ original email was from John Harris - john.harris@bondmart.com ]
John, I’m probably missing something, but the type of order you describe strikes me as a bad idea. What would prevent all of the market makers receiving the order from executing it in full?
Best,
John Harris
Hi all, I’ve seen the reduce qty threads here but not able to gleam
information specific to my scenario.If a blind order is sent to multiple market makers and one MM
executes a partial, what is the best way to notify all firms of the
new reduced qty ?is this a new cancel/replace type of message ? which FIX version
supports this ?TIA a bundle
Hello John,
sorry for the delay in response.
The business rule allows for the failing market makers to get rejects if someone else has filled before them. They don’t receive a firm confirmation until the system fills the order otherwise and tell them so otherwise they will get rejects.
John, I’m probably missing something, but the type of order you describe
strikes me as a bad idea. What would prevent all of the market makers
receiving the order from executing it in full?Best, John Harris
Hi all, I’ve seen the reduce qty threads here but not able to gleam
information specific to my scenario.If a blind order is sent to multiple market makers and one MM
executes a partial, what is the best way to notify all firms of the
new reduced qty ?is this a new cancel/replace type of message ? which FIX version
supports this ?TIA a bundle
What is the underlying market model and who is the matching entity? It sounds like a hit&take market where market makers are not the ones “making” the market but the ones “taking” the orders as long as they are still available. I would suggest to use standard market data messages with order level detail to inform market makers about orders and the remaining quantity (and not to send out an order to multiple parties directly). Based on this data, MM can then attempt to fill the order and get a reject if another MM was faster.
Regards,
Hanno.
Hello John, sorry for the delay in response. The business rule allows
for the failing market makers to get rejects if someone else has
filled before them. They don’t receive a firm confirmation until the
system fills the order otherwise and tell them so otherwise they will
get rejects.John, I’m probably missing something, but the type of order you
describe strikes me as a bad idea. What would prevent all of the
market makers receiving the order from executing it in full?Best, John Harris
Hi all, I’ve seen the reduce qty threads here but not able to gleam
information specific to my scenario.If a blind order is sent to multiple market makers and one MM
executes a partial, what is the best way to notify all firms of the
new reduced qty ?is this a new cancel/replace type of message ? which FIX version
supports this ?TIA a bundle
Hi Hanno,
Equities market with matching entity being the trading platform.
the MM’s make market by publishing quotes. They can be hit by orders by other firms or can hit other firms quotes.
still available. I would suggest to use standard market data messages
with order level detail to inform market makers about orders and the
sorry Hanno, I am not quiet clear here. Your suggestion to use standard market data message is for a single order published for all to see and act on v.s. an order to each MM ? is this correct ?
remaining quantity (and not to send out an order to multiple parties
directly). Based on this data, MM can then attempt to fill the order and
get a reject if another MM was faster.Regards, Hanno.
Hello John, sorry for the delay in response. The business rule allows
for the failing market makers to get rejects if someone else has
filled before them. They don’t receive a firm confirmation until the
system fills the order otherwise and tell them so otherwise they will
get rejects.John, I’m probably missing something, but the type of order you
describe strikes me as a bad idea. What would prevent all of the
market makers receiving the order from executing it in full?Best, John Harris
Hi all, I’ve seen the reduce qty threads here but not able to
gleam information specific to my scenario.If a blind order is sent to multiple market makers and one MM
executes a partial, what is the best way to notify all firms of
the new reduced qty ?is this a new cancel/replace type of message ? which FIX version
supports this ?TIA a bundle
[ original email was from John Harris - john.harris@bondmart.com ]
No problem, John. Not trying to tell you your business and again, I’m sure I’m missing something (perhaps we’re having terminological differences), but this execution framework does not sound practical to me. It seems like a prescription for race conditions and ambiguous order states, slower-than-necessary order execution, and difficulty in management of counterparty credit exposure. Just respectfully encouraging you to make sure you’ve thought through all of the possible issues.
Hello John, sorry for the delay in response. The business rule allows
for the failing market makers to get rejects if someone else has
filled before them. They don’t receive a firm confirmation until the
system fills the order otherwise and tell them so otherwise they will
get rejects.John, I’m probably missing something, but the type of order you
describe strikes me as a bad idea. What would prevent all of the
market makers receiving the order from executing it in full?Best, John Harris
Hi all, I’ve seen the reduce qty threads here but not able to gleam
information specific to my scenario.If a blind order is sent to multiple market makers and one MM
executes a partial, what is the best way to notify all firms of the
new reduced qty ?is this a new cancel/replace type of message ? which FIX version
supports this ?TIA a bundle
Hi there,
sorry for the confusion. I’ll try to elaborate without giving too much away. The idea is that this type of order is published to multiple specified market makers quoting the security. They will know that this order is also published to some other MM’s therefore realize the faster they respond, the better chance of getting the execution with the desired amount( they could partial or do full fill).
They also realize that they might not get full execution if the amount has been reduced because some other MM did a partial. This might be the race condition you are talking about.
So in case where one MM partials, I want to inform all that the amount of order has been reduced. The race condition here occurs if someone is hitting or has hit the order right after someone else did the partial. They could be working off an outdated order state. In this case if their order is partially filled or rejected if they asked for full fill(setting a flag).
So I was trying to find the best way of doing this.
TIA
No problem, John. Not trying to tell you your business and again, I’m
sure I’m missing something (perhaps we’re having terminological
differences), but this execution framework does not sound practical to
me. It seems like a prescription for race conditions and ambiguous
order states, slower-than-necessary order execution, and difficulty in
management of counterparty credit exposure. Just respectfully
encouraging you to make sure you’ve thought through all of the
possible issues.Hello John, sorry for the delay in response. The business rule allows
for the failing market makers to get rejects if someone else has
filled before them. They don’t receive a firm confirmation until the
system fills the order otherwise and tell them so otherwise they will
get rejects.John, I’m probably missing something, but the type of order you
describe strikes me as a bad idea. What would prevent all of the
market makers receiving the order from executing it in full?Best, John Harris
Hi all, I’ve seen the reduce qty threads here but not able to
gleam information specific to my scenario.If a blind order is sent to multiple market makers and one MM
executes a partial, what is the best way to notify all firms of
the new reduced qty ?is this a new cancel/replace type of message ? which FIX version
supports this ?TIA a bundle
Hi John,
What could be done (“within” the fix protocol framework)
Order Sender = Buy side
Order Executor(s) = Sell side(s)
- Buy side sends an order to multiple Sell sides.
- 2 sell sides ( SS1 and SS2 ) respond with partial fills.
- Partial fill from SS1 reaches Buy Side.
- Buy side accepts the fill, leaves qty is updated and leaves qty is greater than zero.
- Partial fill from SS2 reaches Buy side and this quantity is less than leaves qty from step 4.
- Buy side accepts this fill, leaves qty is updated and leaves qty is greater than zero.
- Buy side publishes an order cancel-replace message to all sell sides of step 1.
- Sell side SS3 sends a partial fill with exec qty greater than leaves in step 6.
- At same instant, Buy side receives partial fill of step 8 and Sell side SS3 receives order cancel-replace of step 7.
10.1 Buy side gives Dont Know Trade for partial fill of step 8.
10.2 Sell side processes the order cancel-replace message of step 7 and responds with ExecutionRpt with ExecType=Pending Replace . - Sell side SS3 receives DKT and cancels the partial fill in its system. It then accepts the Cancel-Replace and sends ExecutionRpt with ExecType=Replace. The Buy side receives this Exec and processes it as success.
- All other Sell side Engines which received the Order cancel-replace request published in step 7 accepted it and sent back Execution reports with ExecType=Replace.
- The cycle continues from 2. where order qty is now the leaves from previous cycle.
If in step 11. Sell side SS3 does not receive the DKT. It holds the the order cancel-replace request for a little time, it then sends an Trade Bust cancelling the partial fill it previously sent in step 2. Then it accepts the pending cancel-replace.
If first fill received is a full fill, then all subsequent fills get rejected.
If the first is a partial fill and any subsequent fill is a full fill, it gets rejected.
(Other permutations also fall under the above execution framework).
To avoid Race condition, an option is make fractional placement with multiple Sell sides. For Example if my plan is to buy long Security XYZ qty 1000 and I have 12 brokers, then with each broker I place just 10 - 15 percent of my total need, so 12 orders each with quantity 1000 * 10 / 100 = 100 makes my exposure qty 100 * 12 - 1000 = 200 extra. If the above mentioned 1. to 14. steps are executed, the fill(s) which are received last would rejected and so I will left with just the 1000 which I initially wanted.
In my system I will maintain these 12 orders and as single entity and unique identifier is the Security ID since my system is instructed to buy a given quantity of secutity XYZ.
There is another approach to avoiding race condition, this time the Buy side places the “whole quantity”, as in step 1. and the Sell side(s) send multiple partials instead of large qty execution(s).
This is worth a FIXperiment to try
Just my 2 cents.
Regards,
K. Mahesh
+1-203-252-4039
Hi there, sorry for the confusion. I’ll try to elaborate without giving
too much away. The idea is that this type of order is published to
multiple specified market makers quoting the security. They will know
that this order is also published to some other MM’s therefore realize
the faster they respond, the better chance of getting the execution with
the desired amount( they could partial or do full fill).They also realize that they might not get full execution if the amount
has been reduced because some other MM did a partial. This might be the
race condition you are talking about.So in case where one MM partials, I want to inform all that the amount
of order has been reduced. The race condition here occurs if someone is
hitting or has hit the order right after someone else did the partial.
They could be working off an outdated order state. In this case if their
order is partially filled or rejected if they asked for full
fill(setting a flag).So I was trying to find the best way of doing this.
TIA
No problem, John. Not trying to tell you your business and again, I’m
sure I’m missing something (perhaps we’re having terminological
differences), but this execution framework does not sound practical to
me. It seems like a prescription for race conditions and ambiguous
order states, slower-than-necessary order execution, and
difficulty in management of counterparty credit exposure. Just
respectfully encouraging you to make sure you’ve thought through
all of the possible issues.Hello John, sorry for the delay in response. The business rule
allows for the failing market makers to get rejects if someone else
has filled before them. They don’t receive a firm confirmation until
the system fills the order otherwise and tell them so otherwise they
will get rejects.John, I’m probably missing something, but the type of order you
describe strikes me as a bad idea. What would prevent all of the
market makers receiving the order from executing it in full?Best, John Harris
Hi all, I’ve seen the reduce qty threads here but not able to
gleam information specific to my scenario.If a blind order is sent to multiple market makers and one MM
executes a partial, what is the best way to notify all firms of
the new reduced qty ?is this a new cancel/replace type of message ? which FIX version
supports this ?TIA a bundle