Trading Systems Experience

The markets have always fascinated me. Perhaps it is all the twinkling numbers. But I digress.

I love building trading systems. There is art and beauty in building a system that can take in a large amount of data and coalesce it into a decision that has the potential to make money. I have some strategies that I execute occasionally on the market, but the vast majority of my efforts are put into building systems for others.

While the majority of my clients have been retail traders, I have built components for larger institutions such as hedge funds and service providers. The majority of the projects below were in C++, but I have deployed projects written in Java and Python as well. I am well versed in technologies surrounding

  • Exchange and broker connectivity (NASDAQ ITCH/OUCH, Latinex, FIX, Interactive Brokers, CQG, Tradier)
  • Back Testing
  • Ticker Plants
  • Order Routing / Order Management Systems
  • Front end connectivity (Interactive Brokers TWS, MetaTrader 4/5, Bloomberg Terminal)

Some of my past projects:

  • Listen to a FIX stream to cull data for regulatory reporting (Kafka, Redis)
  • Persist tick data for later analysis (KDB+, TimeseriesDB)
  • Generic connectivity solution for arbitrage between exchanges (Websockets, Cryptocurrencies)
  • Arbitrage between Forex brokerages (Interactive Brokers, MetaTrader, web-based APIs)
  • Backtesting framework for several depth-of-book strategies (DTN IQFeed).
  • Market scanner for an options arbitrage strategy (DTN IQFeed)

Some of my pet projects:

When you are a technologist with an interest in the markets, you often do things that interest you without a financial incentive or goal. These things truly interest me, although I cannot say they were “commercial” in nature.

  • FPGA-based tick filter (Verilog, home grown network stack, Linux kernel bypass)
  • FPGA-based tick-to-trade clock
  • Performance comparison of Linux kernel bypass (DPDK)
  • ML model to detect anomalies in low-float stocks (libTorch)