The Algorithmic Trading Project

Our team strives to develop algorithmic trading strategies. In general, we want to find a portfolio of stocks and buy/sell them in such a way that we long (or buy) at a lower price, and short (or sell) at a higher one. Slightly more specifically, we are applying statistical techniques to determine what equities to trade, and machine learning techniques to determine when it is appropriate to enter or exit a position. Of course, PnL (Profit and Loss) drives the business of trading, so our goal is to essentially have an algorithm that maximizes profit while not exposing ourselves to too much risk.

Why Algorithmic Trading?

We are passionate about our project because it is a data-driven and a statistics-driven approach to developing systematic trading strategies. Our passion for trading, machine learning, data science, probability, and statistics come together into one project, and we continuously iterate and improve on our product. Successful trading strategies are very sought after in the markets and we are passionate to take part in this search for alpha and learning the inner workings of great trading strategies. Our long term goals are to finally get a strategy and algorithm good enough to trade in the markets with real money.

This semester

One thing our backtesting team did this semester was built a fully functional backtesting engine. There, you can run a trading algorithm and have it fully evaluated. This is important because it is a way to evaluate your trading algorithm without any risk involved. Our quantitative trading strategy development team developed a way to select the ideal portfolio of equities to pairs trade by performing a statistical test called the “Johansen Test,” which we made scalable to a significant amount of equities.



What we're doing now

For the past month, the strategy development team has been working on using Gaussian processes to be able to predict peaks and troughs of the stationary time series created by taking the linear combination of the 2 (or more) stocks that we are pairs trading at any instant. By being able to predict where the low and high points are in the time series, we essentially are able to know what our entry and exit points are. Meanwhile, our backtesting team has been working on using GANs as well as Monte Carlo simulation to develop ‘fake’ data by modeling the distribution of an actual equity, so that we have more data to rigorously test our algorithms on.

Where we're going in the future

We see our team moving into the direction of automated market making in the derivatives and FX space. We believe that smart algorithms that market make allow for more gradual steady returns and allow the trader to carry significantly less risk. In addition, market making is a healthy activity for the markets as it provides liquidity, and hence makes a better market place for everybody, including end-investors, due to tighter bid-ask spreads.