Imported from previous forum
[ original email was from Christiaan de Vries - chrisdus@gmail.com ]
Hi all,
In FIX 5.0, QuoteID is described as: “Unique identifier for quote”. I was just wondering how to interpret that…
Q1: Would every QuoteID on a certian currency pair have it’s unique QuoteID per Quote (35=S), or can a QuoteID be resused during a FIX session?
Q2: What if a trade is done on a Quote, should the QuoteID then be changed, or can I just send in a new Quote with the same QuoteID as before?
Cheers!
Christiaan
Christiaan
At least in the implementations I have done - the QuoteID was unique for the market maker and did not have to be changed after a fill. So you could keep the same quote id through the day and reuse it.
Within your trading system the QuoteID must then of course be qualified with the owner of the quote (market maker id for instance) within the system.
We have a proposal to make the QuoteID uniqueness be more like that of an OrderID and I find that very regrettable and costly in terms of processing on a matching engine.
For now basically many markets consider the QuoteID and its value under the control of the quote originator.
Hope others weigh in on this discussion.
Hi all,
In FIX 5.0, QuoteID is described as: “Unique identifier for quote”. I
was just wondering how to interpret that…Q1: Would every QuoteID on a certian currency pair have it’s unique
QuoteID per Quote (35=S), or can a QuoteID be resused during a
FIX session?Q2: What if a trade is done on a Quote, should the QuoteID then be
changed, or can I just send in a new Quote with the same QuoteID
as before?Cheers! Christiaan
Seems like there should be a much more formal definition than this doesn’t there?
Christiaan
At least in the implementations I have done - the QuoteID was unique for
the market maker and did not have to be changed after a fill. So you
could keep the same quote id through the day and reuse it.Within your trading system the QuoteID must then of course be
qualified with the owner of the quote (market maker id for instance)
within the system.We have a proposal to make the QuoteID uniqueness be more like that of
an OrderID and I find that very regrettable and costly in terms of
processing on a matching engine.For now basically many markets consider the QuoteID and its value under
the control of the quote originator.Hope others weigh in on this discussion.
Hi all,
In FIX 5.0, QuoteID is described as: “Unique identifier for quote”. I
was just wondering how to interpret that…Q1: Would every QuoteID on a certian currency pair have it’s unique
QuoteID per Quote (35=S), or can a QuoteID be resused during a FIX
session?Q2: What if a trade is done on a Quote, should the QuoteID then be
changed, or can I just send in a new Quote with the same QuoteID
as before?Cheers! Christiaan
I agree, QuoteID is equivalent to ClOrdID for orders, not OrderID. The difference is that QuoteID can be re-used, i.e. there is no “quote chaining” and I see no need for it. It is the quote submitter who should define and control the field. It might not be needed if only a single quote per MM and instrument is permitted but it is still the submitter’s field.
I understand the requirement for the receiver to issue his own ID. In case of an exchange this often actually results in two IDs, one for each side to be able to match quote sides and orders in a consistent and efficient manner. However, I do not see the need to convey the IDs back to the quote submitter who should be able to identify the quote entities solely with his QuoteID or simply the instrument (and MM ID).
There is also a use case for the submitter to change QuoteID everytime he submits a new quote. It is an easy way to analyze one’s algorithm to find out which of the quote entries actually resulted in a fill. QuoteID is echoed back on the ExecutionReport.
Regards,
Hanno.
Christiaan
At least in the implementations I have done - the QuoteID was unique for
the market maker and did not have to be changed after a fill. So you
could keep the same quote id through the day and reuse it.Within your trading system the QuoteID must then of course be
qualified with the owner of the quote (market maker id for instance)
within the system.We have a proposal to make the QuoteID uniqueness be more like that of
an OrderID and I find that very regrettable and costly in terms of
processing on a matching engine.For now basically many markets consider the QuoteID and its value under
the control of the quote originator.Hope others weigh in on this discussion.
Hi all,
In FIX 5.0, QuoteID is described as: “Unique identifier for quote”. I
was just wondering how to interpret that…Q1: Would every QuoteID on a certian currency pair have it’s unique
QuoteID per Quote (35=S), or can a QuoteID be resused during a FIX
session?Q2: What if a trade is done on a Quote, should the QuoteID then be
changed, or can I just send in a new Quote with the same QuoteID
as before?Cheers! Christiaan
[ original email was from Mikael Brannstrom - mikael.brannstrom@ngm.se ]
QuoteEntryID (mass quote) = QuoteID (single quote) = static identifier
QuoteID (mass quote) = QuoteMsgID (single quote) = message/revision identifier that can but do not need to be changed
Christiaan, is it a mass quote or single quote QuoteID your are asking about?
It’s a pain to keep track of the scope (single quote or mass quote) when talking about QuoteID. Personally I would like this to be straightened out in a future quote extension…
Regards,
Mikael
I agree, QuoteID is equivalent to ClOrdID for orders, not OrderID. The
difference is that QuoteID can be re-used, i.e. there is no “quote
chaining” and I see no need for it. It is the quote submitter who
should define and control the field. It might not be needed if only a
single quote per MM and instrument is permitted but it is still the
submitter’s field.I understand the requirement for the receiver to issue his own ID. In
case of an exchange this often actually results in two IDs, one for each
side to be able to match quote sides and orders in a consistent and
efficient manner. However, I do not see the need to convey the IDs back
to the quote submitter who should be able to identify the quote entities
solely with his QuoteID or simply the instrument (and MM ID).There is also a use case for the submitter to change QuoteID everytime
he submits a new quote. It is an easy way to analyze one’s algorithm to
find out which of the quote entries actually resulted in a fill. QuoteID
is echoed back on the ExecutionReport.Regards, Hanno.
Christiaan
At least in the implementations I have done - the QuoteID was unique
for the market maker and did not have to be changed after a fill. So
you could keep the same quote id through the day and reuse it.Within your trading system the QuoteID must then of course be
qualified with the owner of the quote (market maker id for instance)
within the system.We have a proposal to make the QuoteID uniqueness be more like that of
an OrderID and I find that very regrettable and costly in terms of
processing on a matching engine.For now basically many markets consider the QuoteID and its value
under the control of the quote originator.Hope others weigh in on this discussion.
Hi all,
In FIX 5.0, QuoteID is described as: “Unique identifier for quote”.
I was just wondering how to interpret that…Q1: Would every QuoteID on a certian currency pair have it’s unique
QuoteID per Quote (35=S), or can a QuoteID be resused during a
FIX session?Q2: What if a trade is done on a Quote, should the QuoteID then be
changed, or can I just send in a new Quote with the same QuoteID
as before?Cheers! Christiaan
[ original email was from Mikael Brannstrom - mikael.brannstrom@ngm.se ]
Hi Christiaan,
The document “Recommended Practices for Continuous Mass Quoting”, FPL EEWG, might give you some information - at least from an Exchange/ECN perspective.
http://www.fixprotocol.org/documents/3496/EEWG%20Quotation%20Best%20Practices%20V1_00.pdf
The “Recommended Practices …” says:
“The recommended practice for QuoteEntryID: when only one quote is permitted then it should be defaulted to one, when multiple quotes are permitted then it can be a number up to the number of two-sided quotes in that instrument.”
Note: QuoteEntryID (mass quote) = QuoteID (single quote).
The QuoteID is unique throughout the lifetime of the quote. As soon as the quote is dead (completely filled or canceled) the QuoteID can be reused, but I believe that this is a bilateral agreement. We (NGM) would allow the QuoteID to be reused once the quote is dead, but I’m not sure if this is how others do it.
Regards
Mikael Brännström
Hi all,
In FIX 5.0, QuoteID is described as: “Unique identifier for quote”. I
was just wondering how to interpret that…Q1: Would every QuoteID on a certian currency pair have it’s unique
QuoteID per Quote (35=S), or can a QuoteID be resused during a
FIX session?Q2: What if a trade is done on a Quote, should the QuoteID then be
changed, or can I just send in a new Quote with the same QuoteID
as before?Cheers! Christiaan
[ original email was from Christiaan de Vries - chrisdus@gmail.com ]
Thanks Mikael, (and others of course!)
That was a very interesting read particularly section 3.4 and 10.2:
3.4 QuoteID
QuoteID is a unique identifier for the Mass Quote Message (for a single Quote message the QuoteMsgID serves the same purpose). It is normally an ascending sequence number, starting at one each day. QuoteID is unique for the FIX session. When multiple parties share a single FIX session they must ensure that they QuoteID is unique for that session.
10.2 Exchanges/ECNs
Do not check that QuoteID is unique
These both apply to my situation: It concerns a single FIX session, and is providing ‘single’ Quotes (not MassQuotes).
Hence, I think my QuoteID can remain the same over the session, even if it’s been traded upon.
Thanks for all your input!
Regards,
Christiaan de Vries
Hi Christiaan,
The document “Recommended Practices for Continuous Mass Quoting”, FPL
EEWG, might give you some information - at least from an Exchange/ECN
perspective.http://www.fixprotocol.org/documents/3496/EEWG%20Quotation%20Best%20Pra-
ctices%20V1_00.pdfThe “Recommended Practices …” says:
“The recommended practice for QuoteEntryID: when only one quote is
permitted then it should be defaulted to one, when multiple quotes are
permitted then it can be a number up to the number of two-sided quotes
in that instrument.”Note: QuoteEntryID (mass quote) = QuoteID (single quote).
The QuoteID is unique throughout the lifetime of the quote. As soon as
the quote is dead (completely filled or canceled) the QuoteID can be
reused, but I believe that this is a bilateral agreement. We (NGM) would
allow the QuoteID to be reused once the quote is dead, but I’m not sure
if this is how others do it.Regards Mikael Brännström
Hi all,
In FIX 5.0, QuoteID is described as: “Unique identifier for quote”. I
was just wondering how to interpret that…Q1: Would every QuoteID on a certian currency pair have it’s unique
QuoteID per Quote (35=S), or can a QuoteID be resused during a FIX
session?Q2: What if a trade is done on a Quote, should the QuoteID then be
changed, or can I just send in a new Quote with the same QuoteID
as before?Cheers! Christiaan