Synopsis
The MarketFactory Aggregate Feed (Agg-Feed) is an MFAPI connection combining marketdata from a range of Feeds specified by a customer. The participating Feeds direct marketdata to the Agg-Feed as defined within the Whisperer configuration, resulting in a consolidated book.
Agg-Feed Topology Diagram
The parent orders may then be further fragmented into "child orders" that can be distributed between different Feeds (that give access to separate liquidity pools). The Feeds can then be
Order Types Permitted
The Agg-Feed permits the following order types;
- LIMIT IOC ORDERS
- LIMIT GTC ORDERS
- LIMIT GTC STOP ORDERS
LIMIT Orders need a valid limit price, while STOP Orders require a valid stop price provided at the time of submission with submitOrder(). The submitted orders go to the Agg-Feed where they are held until either the order expires or the specified LIMIT or STOP price is available for execution.
IOC Orders
Submitted IOC orders will sweep the aggregated book. If all available liquidity is hit there is a resting period (set by default at 50 milliseconds) where additional liquidity that is quoted will be taken.
Order Handling
The Agg-Feed will not allow any two orders to hit the same liquidity. With the order that is executed first depending on how close an order is to the current market. The order that is closest to the current market is the order that is executed first.
- Where multiple orders are placed on the same limit price – the older oldest will be executed first.
- Where no liquidity is available, GTC and STOP orders will remain in the system.
- Cancel and modify actions are support for GTC and STOP orders.
Agg Feed Limits in the Portal
Orders that are submitted using the Agg-Feed can be tracked using the order tracking feature on the MarketFactory portal
Note
The Agg-Feed may present a -1 sequence number (or sequenceID=-1) specifically for OrderRejected events, this value is considered 'valid' due to the way in which orders are handled. The negative number can arise due to NOP limits being exceeded, in addition to orders that are unable to be routed to the FeedServer (e.g as a result of an INVALID_MARKET where the instrument pair is not enabled to execute the order)