Project 7: FX-Trader
A derivatives trading system. This is my attempt at building a derivatives trading system. In this first post I am going to outline the goals of the project and some of the early design decisions.
This is an ambitious project so it will take a lot of posts.
The ideals of this project are
- Volume: this solution is designed to handle large volumes of trades
- Performance: this solution will be as fast as the hardware allows.
- Extensibility: the solution will have in built extensibility.
- Ease of use: the solution will be easy to use.
- Pluggable: the system is designed to play nicely with other systems as part of a bigger solution.
For now I am going to focus on a very specific purpose and a very specific trade.
- This project will load and display derivatives.
- It will focus on just one derivative for now FX Forwards.
There is a reason I chose these two items, loading and displaying derivatives is difficult. You would not think it but it actually is, these is a very large amount of boiler plate stuff that has to be in place before you can represent a derivative.
Why FX Forwards….. there are lots of reasons
- They are popular, most large companies that have a branch in more than one country at some stage will need to trade FX forward contracts.
- They are massive volume. In a typical trading environment you will see ten times as many of these guys as any other derivative. The point here is that if you build a system that can handle these well then handling the other derivatives will be a matter of implementation.
Technology Stack
For this project I am going to use spring.io. This takes care of a lot of the boiler plate stuff. Is very popular, so it will be familiar to a large group of developers.