Dyumnin Semiconductors


FPGA for High Frequency Trading

Figure: FPGA Based High Frequency Trading System

Figure: FPGA Based High Frequency Trading System

Overview

FPGA based HFT Accelerator's consist of the following components.

  1. A feed parser which
    1. Understands the Exchange packet formats and protocols.
    2. Has a Exchange specific, user defined, filter for stocks and transactions of interest.
    3. Extracts the fields of interest from the Packet and
    4. Sends the packet along with the extracted data for processing to the next layer
  2. A Trading Algorithm which
    1. Looks for patterns,
    2. Monitors the price table and
    3. Triggers Trades
  3. An Orderbook which
    1. Keeps track of every Open Order for the selected Stocks.
    2. Maintains the Price/Quantity Table.
  4. A Trading Executor which on getting a trade trigger:
    1. Creates a Trade message as per the exchange format.
    2. Sends the packet to the exchange

Packet Parser

Most Exchanges use their own propritery message formats e.g. MTBT (NSE), OUCH (Nasdaq, SGX), ITCH (Nasdaq), FIX

These packets are delivered using different encapsulation formats like SoupBinTCP and MoldUDP64

On Receiving a packet from the exchange the packet parser performs the following action,

Algorithmic Trading.

These are statistical functions, which Make Buy Sell decisions based on multiple factors.

Order Executor.

The order Executor takes a set of parameters(Token, Price, Quantity, Trade Type etc...) from the Algorithmic Trading Unit, created an order in the format required by the Exchange and sends the Order packet on the Network.

Commodity and specialized components of an FGPA Based High Frequency Algorithmic Trading system

Dyumnin Semiconductors, library of components for FPGA Based High Frequency Algorithmic trading system consists of Commodity and Specialized components.

Commodity components

Commodity components are components built using public domain information like Exchange Specification, FPGA Vendor Documentation, Ethernet and Networking Standards etc. Commodity components are leveraged across multiple customer projects.

Example commodity components are:

Specialized components

Specialized components are components build based on customer specification. There is zero reuse of Specialized components across customer projects.

Example:

The Orderbook Manager and Price table are components present in all customer projects They may be derived from the same code base. They may need fine tuning as per the customer requirements

Checklist for FPGA based HFT Accleration.

  1. Identify the Exchange and Market of interest.
  2. Define your trading algorithm and other Requirements
  3. Get feed specification document and Sample feed for your Market.
  4. Call Dyumnin Semiconductors to implement your FPGA HFT Accleration solution.
  5. Buy and install an appropriate FPGA Card(Alveo, Exanic, Aldec etc...) on the development machine
  6. Test and Deploy the solution provided by Dyumnin Semiconductors.