How to convey matching algorithm price-time vs price-internal-time?



The field MatchAlgorithm seem to be used to convey what algorithm is used to match orders in a specific market segment. However, both price-time and price-internal-time fall under the same category (FIFO).

How can I tell that e.g. market X has price-time and market Y has price-internal-time?

Custom values in MatchAlgorithms such as “FIFO-price-time” vs “FIFO-price-internal-time”, or assume that “FIFO” means price-time and introduce something new for price-internal-time? Or is there another field?



MatchAlgorithm(1142) is a fairly generic field, i.e. it has a string datatype and no explicit list of valid values. Reason is that venues are very creative when it comes to names for matching algorithms and two algos with the same name probably behave differently on some level of granularity. Hence it is up to you and your counterparty to define the names you need.

I would be interested in the definition of “price-internal-time”. Part of the naming is marketing to suggest that you as a customer get the best price. FIX offers standardization by mandating the field with which the information about the matching algorithm is to be conveyed. FIXimate suggest broad categories for algorithms without providing detailed descriptions.


OK, thanks.

In price-internal-time order priority, match of orders from same member (“internal”) is prioritized before “time”. The motivation is that the member could, instead of placing the (active) order, just reduce the volume of the his/her (passive) order on the opposite side and report a manual trade.


Perhaps Price-Member-Time would be a better wording. To me it sounded like “price”-“internal time” which made me wonder what means “internal time” in this context.

Regards, Jörg


@mibrangm: interesting twist to price-time matching. Some regulators even forbid “internal” matching. FIX has covered this fairly recently with EP211 ( by adding SelfMatchPreventionID(2362) which allows a matcher to explicitly avoid matching orders from the same member. This is sort of the exact opposite of matching it with priority.

FIX also has a concept of matching instructions which could be extended to prioritize/avoid self-matching. See tags 1624-1627 and 1673 for details (part of a component). Note that this only applies when giving the order submitter a choice over matching.


@hanno.klein: The internal matching seem to have been common practice in Sweden (and the Nordics?) since ages.

@jorgthonnes: Yes, perhaps “member” would have been a better choice if this feature was introduced today, but now the terminology “price-internal-time” is already well-known (here).