Crypto-currencies are gaining rapid popularity as equity for trading and investing. These currencies are extremely volatile and often require lots of attention and oversight for traders to leverage peaks and valleys. The previously stated attributes of crypto lead to many individuals developing software scripts(often called a “bot”) that autonomously trade stock or cryptocurrency without human intervention. These “bots” alleviate some of the attention a trader has to allocate to their equities when performing high-frequency trading, which has made bots quite popular for those who are capable of building and deploying such pieces of software.
The purpose of this project is to develop a platform that utilizes networking protocols to help crypto-traders easily deploy and manage their own trading bots. This platform is intended to extrapolate the system infrastructure away from the actual trading logic of each bot, so users of the platform can focus on what matters, creating profitable trading strategies. The platform utilizes the master-worker paradigm to deploy and manage a collection of trading bots. This system is intended to be fault-tolerant, easily scalable, and makes use of networking protocols such as WebSockets for controlling and deploying workers in the network.
There are endless Medium articles overviewing how to build a trading bot as well as GitHub repositories that have already built out trading bots. The objective of this project is to establish a system architecture for users to easily deploy their own trading strategies on the platform. “Real-time autonomous trading system” is a paper that outlines the implementation of a real-time trading system and covers networking performance for socket communications. The system architecture in this paper differs from mine since it does not focus on scaling the number of traders, and does not implement an autonomous master node.
https://www-tandfonline-com.ezproxy.library.uvic.ca/doi/abs/10.1080/09720510.2019.1582881
[ Feb 15, 2021 ] Acquire exchange market details.
[ Feb 19, 2021 ] Develop a system architecture schema.
[ March 1, 2021 ] Implement base classes for various components in the system.
[ March 10, 2021 ] Run system with multiple trading bots and validate scaling abilities.
[ March 18, 2021 ] Finished report with performance metrics of network partitions and scaling.