Concurrent Algorithmic Trading

Collaborative Project

May 2020 - April 2021

I finished my masters in May 2020 as the COVID-19 pandemic hit. The job market was saturated and stocks were cheap. I decided to see if I could apply the coding knowledge I had learned in school to the stock market. Casey O'Connor, my friend and a talented DevOps engineer, was also excited about the idea. We teamed up, made accounts with Alpaca Markets, a free api-based stock broker, and got to work.


The Concurrent Algorithmic Trading (CAT) project was born of an idea, that algorithmic stock trading portfolios should diversify strategies in the same way they diversify positions, and two limitations of the alpaca.markets platform:

  • There was no way to track multiple portfolios on the same account
  • Users were limited to 200 API calls per minute

To solve these limitations, we created a system that tracks buying power, orders, and positions for any number of unique strategies independently while sharing as many resources (including API calls) as possible.


While Casey and I both moved on to other projects before making a dime off the CAT project, we gained valuable experience from the endeavor. Personally I learned about asynchronous programming, unit testing, and project management. When I look back on my work, four major contributions stand out:

  • I built a concurrent & modular trading framework with optimized risk management
  • I designed robust backtesting code to mimic live trading & data management
  • I performed rigorous validation including unit, integration, & system testing
  • I managed a collaborative workflow including setting S.M.A.R.T. goals for myself and others

I hope to return to this project with even more knowledge and experience in the future. In the meantime, feel free to check it out on github!

At the top of this page you can see backtesting results for a simple mean reversion algorithm running in the CAT framework.