Skip to main content

Understanding Execution Quality in the EMS Trading API

When trading across multiple exchanges, getting the right price matters just as much as getting a trade done. This guide covers how to evaluate execution quality when using the EMS Trading API, with a focus on price comparison, order handling, and liquidity access.

How to Measure Execution Price Quality?

The real cost of a trade isn’t just the quoted price — it’s the price you actually get when the order fills. There are a few ways to track this:

  1. Compare your execution price to market benchmarks
  • You can use the Market Data API to pull the latest bid/ask prices and compare them to your fills.
  • If you’re working with larger orders, tracking VWAP (Volume Weighted Average Price) over a timeframe can help you see how your price compares to market trends.
  1. Look at slippage
  • Slippage is the difference between the expected price and the actual execution price. If you’re consistently getting worse prices than expected, it might be worth adjusting your order type or timing.
  • The Order Execution Report helps track this by giving detailed information on order fills.
  1. Use historical data for deeper analysis
  • The Historical Order Book API lets you check what the order book looked like when your trade was executed.
  • This can help you understand whether your order impacted the market price or if better liquidity was available at the time.

How Orders Are Handled and Executed?

Not all orders work the same way, and the EMS Trading API gives you several options to manage execution.

  1. Different order types for different needs
  • Market orders execute immediately at the best available price, but they can have slippage in volatile conditions.
  • Limit orders let you set a maximum (or minimum) price, preventing unexpected execution prices.
  • Immediate-or-Cancel (IOC) and Fill-or-Kill (FOK) orders help control partial fills and execution timing.
  1. Monitoring and managing open orders
  • The Open Orders API lets you see active trades and adjust them in real time.
  • If market conditions change, you can modify or cancel orders through the Cancel Order API.
  1. Execution reports for transparency

Liquidity and Smart Order Routing (SOR)

If you’re trading across multiple exchanges, it’s important to know whether you’re getting the best possible price. This is where Smart Order Routing (SOR) comes in.

  1. How does SOR work?
  • Instead of executing on a single exchange, the EMS Trading API can check multiple venues and route the order where the best price is available.
  • The process considers factors like liquidity depth, order book activity, and trade fees.
  1. Checking if SOR is working for you
  • You can compare your execution prices with market-wide bid/ask spreads to see if your orders are getting better fills.
  • The SOR FAQ explains more about how the system selects exchanges.

How to Evaluate EMS Trading API for Your Needs?

If you’re testing the EMS API and want to measure its performance, here’s a simple way to start:

  1. Place test trades and log execution prices.

  2. Use the Market Data API to compare fills against market rates.

  3. Track slippage and check order book conditions at the time of execution.

  4. Adjust order settings based on results (e.g., limit orders vs. market orders).

  5. Test Smart Order Routing (SOR) by executing across multiple exchanges.

If you have specific execution benchmarks you need to meet, these tools should help you measure performance and make adjustments where needed.