Skip to content

Development of a Software Backtesting Tool to Optimize Trading Algorithms on Crypto Assets.

Excessive Alpha

Our Project

Have you ever been interested in the returns of crypto or interested in investing but don’t know where to start? The purpose of our project is to provide a service where investors, traders and speculators alike can practice the process of buying and selling crypto. Our intuitive design and simple to follow tutorials allow all users get exposure to the volatility of crypto without risking their own hard-earned money. We have tools to enable new investors purchasing or holding crypto to learn how exchanges work and the emotions behind buying crypto. In contrast, we also have features that allow seasoned traders to evaluate their trading processes and test their profitability over time. Whether new to the industry or an experienced trader, our platform has features available to all.

The scope of our project was to make a cryptocurrency trading tool that enables users to make and test trading strategies using various algorithms based on the price of the asset. Additionally, our program provides the ability to use these strategies in both real-time and historical data. The program delivers signals (buy or sell) and concise reports based on historical back tests on the strategies. Finally, the user can then trade using our paper trading platform and use the signals generated from their trading strategies to guide their decisions.

View our Demo Video

Our Team

Michele Piperni
Frontend Lead

Michele is in his 4th and final year of a degree in Electrical Engineering, with a Minor in Computer Engineering. He has experience in software development in multiple programming languages and is looking to gain more experience in web design. Michele loves to learn new things and is an avid problem solver. Michele also enjoys all things fitness, sports, and the outdoors.

Cameron Faith
Project Manager

Cameron is in his final year of Electrical Engineering with a Minor in Computer Engineering. He has experience managing databases and developing dashboards to better view trends on the data. He also has gained a deep understanding of Python, C, and Java through both his academia and his own projects. In his leisure time, Cam enjoys working on cars and being outdoors.

Luke Garland
Backend Lead

Luke Garland is in his 4th year of Electrical Engineering with a Minor in Computer Engineering. Luke has background and experience in both academic and industry settings. His interests surround programming in Python and C++. He has a specific enthusiasm for applications in data analysis, image processing and systems programming.

Gerardo Ramirez
Finance Lead

Gerardo Ramirez is a 5th year dual degree student in Commerce and Engineering. His most recent software project was modelling and running simulations of Cenovus’ Lima Refinery operations to forecast hazardous waste generated.

Our Design

OUR SOLUTION


WHAT ISSUE ARE WE TRYING TO SOLVE?


Many technical indicators, mathematical equations, momentum scalpers, and chart patterns have been identified through the years, however, the most profitable strategies are usually held privately, and many strategies only work in very specific environments.

For these trading algorithms, indicators are highly customizable, usually multivariable equations with several parameters. As a result, identifying which indicator parameters meet your goals is a very time-consuming and tedious job. This defines the nature of the problem we are trying to solve; there are too many different possible trading strategies, no convenient and readily available way to validate and test a strategy, and no organized system to record and save customized indicators.

WHAT MAKES OUR DESIGN INNOVATIVE?


Our design allows users to easily combine multiple algorithms and test them quickly and easily. Our backtest takes into account trading fees, customizable time frames, buy and sell tolerances and many other paramaters.  Many other free platforms (such as TradingView) only offer to view trading indicators and perform a back test on a single indicator, without trading fees.

Furthermore, as our backtest and strategy creation interface is available programmatically via the back-end API, users can create scripts to use the live indicator to make trades in real time, with real money on various crypto exchanges. 

Additionally, we pull, wrangle, and store our own bitcoin market data to allow for the most efficient computation of strategy results.

WHAT MAKES OUR DESIGN EFFECTIVE?


Our design, built as a web application, allows users to create an account and easily make and test a diverse range of strategies. Our minimalistic UI is easy to navigate, and there are many resources (tooltips, FAQ, tutorials) that make it easy for new and experienced users to find value.

Also, the back-end API is available for users to interact with our platform outside of the front-end interface. This allows users to create strategies programmatically and conduct large-scale parameter studies to determine the most profitable trading strategy. Having a functional and flexible API could in the future allow us to explore the integration of machine learning and neural-network-based trading strategies.

Users are not simply bound by the functionality of the front-end web app interface and can customize their interactions with the platform on any platform or framework which supports HTTP requests.

HOW WE VALIDATED OUR DESIGN SOLUTION


The methods of validating our design solution were through a suite of automated unit tests, peer code review, UI quality assurance testing by team members, and comparison with similar tools (TradingView) which can generate trading indicators on market price data. The automated testing for the back-end API is driven by PyTest, which is fully integrated into our GitHub repo, and runs every time there is a push to the master branch. If a test fails, the team members are notified via email and via the GitHub web interface.

FEASIBILITY OF OUR DESIGN SOLUTION


Our current platform excessivealpha.com allows users to manage a paper trading portfolio, create and analyze various trading strategies, and learn about the world of trading cryptocurrency. The web app is responsive, as tests with fewer than 50,000 data points have been completed in under 30 seconds. Although there are a lot of opportunities for optimization to decrease processing times and increase performance within our design, our initial implementation meets the needs and goals of the project.

Our Partners and Mentors

We would like to thank our sponsor, TarmacIO for their aid, support, and the time they set aside for design review and consultation with our team throughout this project. Furthermore, we would like to thank our academic advisor, Yves Pauchard, for his support and guidance throughout the project. We sincerely appreciate all the time set aside by our sponsors and mentors in making this project a success.

Homepage

Portfolio

Strategies