Skip to content
English
  • There are no suggestions because the search field is empty.

Match Groups

Understand how the matching engine organizes matched and unmatched trade activity.

What Is a Match Group?

A Match Group is the matching engine’s working unit for organizing matched and unmatched trade activity.

Core Concept: Match Group Key

The matching engine compares trade prices for identical quantities when these are the same:

  • Account
  • Security (including product, maturity, call/put, strike)
  • Side 
  • Venue (optional)

Every Match Group is either matched or unmatched and every trade is in one and only one Match Group.

Match Groups are visible throughout Theorem’s matching reports and Data Viewer. They allow related activity to be summarized in a way that reflects how the matching engine understands the relationship between trades without requiring every individual trade to appear separately in every view.

A Match Group is not always a single trade. It may represent one trade, multiple trades, or a weighted combination of trades, depending on the activity available from each source and the match the engine is able to produce.

Matched Match Groups

A matched Match Group is created when the matching engine determines that activity from the compared sources matches.

The matching engine attempts to create the most precise Match Groups available. When possible, it favors one-to-one matches before using broader groupings such as one-to-many, many-to-many, or weighted-average comparisons.

Once matched trades are assigned to a Match Group, that group remains stable. Later updates may create new groups or change unmatched groups, but previously matched groups are not continually reshaped at every update.

Unmatched Match Groups

There is one unmatched Match Group for every key combination. When the matching engine identifies a likely reason the activity is unmatched, the group may also be tagged with a discrepancy. 

Unlike matched Match Groups, unmatched Match Groups can change throughout the day. As new data arrives, the matching engine re-evaluates still-unmatched activity and may update the way unmatched groups are organized or labeled. 

Match Groups and Incremental Matching

Theorem’s matching engine uses incremental matching, which means new data is matched as it arrives instead of re-matching all activity from the beginning of the day at every update.

For more information, see [Incremental Matching].

Using Match Groups

Users may see Match Groups in matching reports, Data Viewer, Trade Viewer, and other matching-related app views. 

  • In Reports, Match Groups are used to summarize the rows you see in the PDFs and XLS reports.  Even if you don't see the Match Group numbers, they control how the total quantity and trade price appear in each row.
  • In the Data Viewer, Match Group is a column that you can choose to display.  Viewing all of the trades with the same Match Group number is often useful to see how the matching engine paired off the trades.

Tip: Group Only by Match Group in Data Viewer

Many users like to drag multiple columns into the group area to organize their trades by Account, Product, Maturity, Call/Put, Strike, and Side. But if there is a strike price discrepancy, then you won't be able to see all of the trades from the Client and FCM together.

You can achieve a better result by grouping by the Match Group number instead. The results will be similar, and the discrepancies will be easier to see.

Related Articles