F-MATCH supports various market types like FX spot, FX options, futures and future options and numerous order types like Market, Limit, Market-Limit, Stop Loss, OCO (one cancels the other) etc. Not only the rules for the existing order types are completely customizable, but also addition of new types is possible. Properties like partial fills, Fill-Or-Kill, Immediate-Or-Cancel orders and Good-Till-Cancel or Good-Till-Market expiry types are provided by F-MATCH.
Surface price and market depth generation processes are separated from the main matching system in order to guarantee the protection from interventions and delays of such modules. F-MATCH transmits the book information with a flow going into separated modules that send the latest market depth to relevant counterparties on commodity basis.
F-MATCH works asynchronously integrated with a order pre-authorization component that checks the validity of order parameters and their relation with the account limitations as well as a risk module to reflect all market movements and pl changes to the allowable trade limits on customer basis. The system can auto-stop accounts (close all the open positions before the negative account value condition within a defined margin) and/or cancel working orders with customizable rules. The logic is designed to allow a pro-active risk management that aims to provide the match of orders that can create negative account deficit situations.
The whole F-MATCH system is designed to provide a scalable logic to allow load balancing, commodity or customer group based isolation that allows exchanges minimize the system risk not only on hardware basis but also with software level allocation of resources. The changes in system based and account based parameters are directly transmitted to the running version without the need to wait for an end of day routine and free from the necessity of manual system restarts.
The backup and data recovery logic in F-MATCH aims to create the shortest periods before the control of the system switches to the next available F-MATCH instance running on a separate box. All changes to the live data is asynchronously transmitted to the twin instances over socket connections and also to the central database.