Breaking News: Grepper is joining You.com. Read the official announcement!
Check it out

High-level design

Sumit Rawal answered on May 21, 2023 Popularity 10/10 Helpfulness 1/10

Contents


More Related Answers

  • High-level architecture
  • High-level Language

  • High-level design

    0

    Let’s trace the life of an order through various components in the diagram to see how the pieces fit together.

    First, we follow the order through the trading flow. This is the critical path with strict latency requirements. Everything has to happen fast in the flow:

    Step 1: A client places an order via the broker’s web or mobile app.

    Step 2: The broker sends the order to the exchange.

    Step 3: The order enters the exchange through the client gateway. The client gateway performs basic gatekeeping functions such as input validation, rate limiting, authentication, normalization, etc. The client gateway then forwards the order to the order manager.

    Step 4 - 5: The order manager performs risk checks based on rules set by the risk manager.

    Step 6: After passing risk checks, the order manager verifies there are sufficient funds in the wallet for the order.

    Step 7 - 9: The order is sent to the matching engine. When a match is found, the matching engine emits two executions (also called fills), with one each for the buy and sell sides. To guarantee that matching results are deterministic when replayed, both orders and executions are sequenced in the sequencer (more on the sequencer later).

    Step 10 - 14: The executions are returned to the client.

    Next, we follow the market data flow and trace the order executions from the matching engine to the broker via the data service.

    Step M1: The matching engine generates a stream of executions (fills) as matches are made. The stream is sent to the market data publisher.

    Step M2: The market data publisher constructs the candlestick charts and the order books as market data from the stream of executions and orders. It then sends market data to the data service.

    Step M3: The market data is saved to specialized storage for real-time analytics. The brokers connect to the data service to obtain timely market data. Brokers relay market data to their clients.

    Lastly, we examine the reporter flow.

    Step R1 - R2 (reporting flow): The reporter collects all the necessary reporting fields (e.g. client_id, price, quantity, order_type, filled_quantity, remaining_quantity) from orders and executions, and writes the consolidated records to the database.

    Note that the trading flow (steps 1 to 14) is on the critical path, while the market data flow and reporting flow are not. They have different latency requirements.

    Now let’s examine each of the three flows in more detail. 

    Popularity 10/10 Helpfulness 1/10 Language whatever
    Source: Grepper
    Link to this answer
    Share Copy Link
    Contributed on May 21 2023
    Sumit Rawal
    0 Answers  Avg Quality 2/10


    X

    Continue with Google

    By continuing, I agree that I have read and agree to Greppers's Terms of Service and Privacy Policy.
    X
    Grepper Account Login Required

    Oops, You will need to install Grepper and log-in to perform this action.