Ingalys' trading platform allows a variety of
extra services to be added to the architecture with no impact on the
applicative layer. These services can be divided in several
categories:
Technicals
Load balancing:
distribute orders over several connections to maximize throughput
Throttling & batching:
adjust throughput to limits imposed by the exchange
Dynamic order routing:
route orders according to business rules (by user, instrument,
market etc.)
Exchange aggregation:
make several exchanges appear as a single one
Exchange virtualization:
assemble bits of several connections together to build a virtual
exchange (eg. send orders via a connection, quote requests via
another, receive market data from other ones, switch market data
source dynamically)
Front-Office
Order validation:
check orders before they are sent to the exchange (prevent
“fat finger” errors, control user or group position on
any instrument, raise an alert when some limits are reached, etc.)
Short-sell management:
automatically flag orders as “short” according to
position for exchanges that require it
Smart orders:
emulate order types not supported by the exchange, or create your
own order types
Self-matching prevention:
reject orders (or raise an alert) when an order is going to hit
another one sent from the same desk
Local execution (MIFID):
execute crossed orders locally instead of on the exchange
Back-Office
History:
log all orders and executions and orders in a database
Backoffice fields:
define extra tags that traders (or automated tools) can fill when
sending orders to ease back-office's work.
Other
Monitoring
Failover management
Emergency tools