Pre Trade Risk Control

EOS trading platform offers 6 trading protection limits (TPL), for orders entering in the system, and are rejected if they don’t pass the validation. The trades matched in the system are validated against the last 2 trading protection limits and are flagged if they don’t pass the validation.

TPL can be set for static validation and aggregated validation for both segments as well as tradable instruments, as below:

At Order level

Static validation (each order)

  1. Turnover: This limit checks the total turnover value of each of the orders being placed. And if the value is greater than the limit set, the order will get rejected.
  2. Volume: The volume limit checks the quantity of each of the orders being placed. And if the quantity is greater than the limit set, the order will get rejected.
  3. % better than opposite side: This TPL helps is reducing flash trades by checking the percentage difference between the price of the order being placed and the best price on the opposite side. The percentage difference between the two prices shouldn‘t be more than the set limit.

For a Buy Order: The price should be ≤ Best ask * (1 + % better than opposite side)

For a Sell Order: The price should be ≥ Best Bid * (1 – % better than opposite side)

Note that if the order book is empty on the opposite side this validation is not done.

Note this validation is not done for spread order books as negative prices and 0 is allowed in those order books.

  1. % worse than same side: This limit checks the percentage difference between the price of the order being placed and the best price on the same side. The percentage difference between the two prices shouldn‘t be more than the set limit.

For a Buy Order: The price should be ≥ Best Bid * (1 – % worse than same side)

For a Sell Order: The price should be ≤ Best Ask * (1 + % worse than same side)

Note that if the order book is empty on the same side this validation is not done.

Note this validation is not done for spread order books as negative prices and 0 is allowed in those order books.

Aggregated validation
  1. Max open order volume: The total quantity of live orders should be less than or equal to this limit. Once this limit is reached, new orders will be rejected or if a new order is being placed where the aggregate of the quantities of all live orders will exceed the limit, then the order is rejected.
  2. Max open order turnover: The total value of live orders should be less than or equal to this limit. Once this limit is reached, new orders will be rejected or if a new order is being placed where the aggregate of all value of all live orders will exceed the limit, then the order is rejected.
At Trade level
  1. Netted trade position turnover: This gives an alert to both trading user and trading super user when the net turnover of open positions exceeds the limit given. The trade is marked as (Trading Protection Limit = TRADE_TURNOVER).
  2. Netted trade position volume: This gives an alert to both trading user and trading super user when the net quantity of open positions exceeds the given limit. The trade is marked as (Trading Protection Limit = TRADE_TURNOVER).