03/28/05 – 8/18/06 - Perseid Technologies, LLC – FIX Protocol Consultant - 20 East 67th Street, Suite 5R, New York, NY 10021. Perseid Technologies is a consulting company. Our contract with TD Ameritrade involved:


Implemented a BRASS© to FIX API: Work with Perseid involved designing, writing, testing and implementing a server which was a component based BRASS© to FIX API. The server was written in JAVA and C++ using Bourne Shells to control Environment Variables and appropriate executables. The FIX engine used was a Multi-Threaded application based on QuickFix, available from www.quickfixengine.org. The communications to BRASS© were done via TCP/IP, using properly byte aligned JAVA streams which appeared as C ‘structs’ on the BRASS© side.

Designed and wrote shells and HTML, then tested and implemented a Tomcat website on the FIX Production and Backup Servers which ran a series of HTML pages and support shells to enable the FIX API to be monitored and to provide additional help desk support functionality. The Web Site provided various functions including: 1) the ability to query and print extracts of current day or historical order, cancel request, correction request and execution information utilizing a FIX to English Language Parser, 2) the ability to generate retransmission requests, both towards customers as well as towards the Trading Systems and 3) the ability to determine Connectivity Status to various customers as well as the Trading Systems.

Additionally wrote Java software as requested by Sales Traders to modify orders, per customer specifications or routed orders internationally, depending on the Trading Exchange specified on incoming orders in real-time.

The FIX Engine was capable of connecting to multiple Trading Systems simultaneously and routing orders based on configuration. In a sense, the FIX API was also, in part, an order router.

Securities Information about the Symbols was obtained from Sybase, accessed from within the JAVA source code. The routing was between Jersey City, New Jersey, Berlin, Germany and Toronto, Canada.

Handling of GTC and GTD (i.e., multi-day orders) was facilitated with a nightly update process which retained information necessary for the FIX Protocol for all orders with a lifespan greater then one day.

The retransmission mechanism was ‘smart’, in that retransmissions could be selected based on criteria in the message and not solely on their sequence numbers. That is, if the customer was able to process ‘some’ messages within a time period or set of sequence numbers, but not others, then only those which could not be processed could be selected and retransmitted.

The Order Flow could be altered before it was passed to the trading system(s) based on customer specified modifications agreed upon when the trading relationship was established. The Order flow could also be routed to multiple trading systems, even a trading system in another country depending on client specifications.

At this firm, the trading system in use was BRASS©, the development system was Eclipse running on an HP Pavilion ZD8000 Laptop and the Hardware used in Production were PC’s running the LINUX operating system.

Technologies used: Java and C++ running on Linux and Sybase running on UNIX. The FIX Servers ran Tomcat Web Servers on Linux to implement the Browser based Administration tools functionality. Korn and Bash Shells were used for controlling executables. HTML was written for the Browser based administration tool. Fault Tolerance was implemented via CSM.


Environment: BRASS, Java, C++, Windows, Sybase, JDBC, DB/Lib, Eclipse, HTML, Tomcat, FIX Protocol, QuickFix


Over 25 Years of Wall Street Experience.


John Perez & Co., LLC