Apama 10.3.1 | Apama Capital Markets Foundation Documentation | Release Notes | What's New in Capital Markets Foundation 5.1 | New risk firewall architecture
 
New risk firewall architecture
With Release 5.1, Capital Markets Foundation supports a new architecture for its risk firewall. The risk firewall is a pre-trade risk firewall. It provides a mechanism for ensuring that orders being placed to a service comply with a set of rules/criteria.
The new architecture replaces the previous CMF risk firewall that was supported in previous releases. That implementation is now referred to as the legacy risk firewall.
Note: The legacy risk firewall provided in previous releases is deprecated and will be removed in a future release. You should stop using the legacy risk firewall and use only the new risk firewall provided with CMF 5.1.
The CMF 5.1 risk firewall is significantly faster and more scalable than the previous risk firewall. The new risk firewall architecture supports multiple contexts as well as multiple separate instances of a risk firewall in the same application. In addition, the developer interface for adding custom rules has been streamlined for ease of use.
The risk firewall lets applications define a set of rules that orders must be validated against. Evaluated orders are either approved and forwarded to an order management system, or rejected and sent back to the order sender that originated the order. After an approved order is processed by an order management system, an order update passes back through the risk firewall and is processed by each rule class registered with the risk firewall. This enables the risk firewall to enforce limits. The risk firewall provides default rule classes that enforce limits on individual orders for:
*Order price
*Order quantity
*Order throttle (number of orders per second)
*Order value (quantity multiplied by price)
Also, the risk firewall provides default rule classes that enforce cumulative limits across multiple orders for:
*Client credit limit
*Open/pending position limit
The new interfaces for implementing one or more uniquely named risk firewalls in your application are:
*In the com.apama.firewall package:
*RiskFirewallFactory creates risk firewall instances and provides connections to existing risk firewalls.
*RiskFirewall is either a local risk firewall or a connection to a remote (in another context or monitor) risk firewall. Connected risk firewalls do not support all RiskFirewall actions.
*RuleClassFactory creates the rule class interface for defining customized rule classes that can be registered with a risk firewall.
*RuleClass defines the interface that the risk firewall uses to communicate with its registered rule classes.
*OrderSender sends orders to the risk firewall and handles order updates after the risk firewall has processed them.
*OrderReceiver receives approved orders from the risk firewall, and can forward them to order management systems, receive order updates back from the OMS, and forward those back through the risk firewall to the order senders.
*In the com.apama.firewall.rules package:
*ClientCreditLimitRiskFirewallRule
*OrderPriceLimitRiskFirewallRule
*OrderQuantityLimitRiskFirewallRule
*OrderThrottleLimitRiskFirewallRule
*OrderValueLimitRiskFirewallRule
*PositionLimitRiskFirewallRule
Note: By default, approval from the risk firewall requires an order to match at least one instance of every registered rule class. This is different from the legacy risk firewall, which approves orders only if there are no rules that match the order.
Information and instructions for using the new risk firewall architecture are in the "Risk Firewall" section of the Capital Markets Foundation guide.

Copyright © 2013-2019 | Software AG, Darmstadt, Germany and/or Software AG USA, Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors.