If you have been following, you already know that I have always been focused on low-latency trading systems. Assuming that your trading system is nice and running as expected, the problem is how to monitor and visualize all the data at such speeds (under microseconds).
This has been the reason for this project.
I created this visualization dashboard to allow us to visualize what was going on in the central HFT system, residing in a collocated software, with no human interaction. The goal was to have a quick peek at what was happening, how many orders were being sent, and how the market was, and control some of the strategy parameters.
Enterprise-level trading systems run in collocated servers with no human interaction. With VisualHFT, we can have a look at what’s going on with the markets, risks, exposures, and much other analytics.
The main focus is to have a dashboard showing market microstructure information. That means that we can see L2 prices, from different venues and the aggregation of it. Also, we can see the Limit Order Book dynamic and its resting orders.
The initial intention of this project was to support a high-frequency trading operation (running with latencies under 2 microseconds), but this project could be used for any type of trading.
The technologies used are C# and WPF, and ideally, we will be updated to support other platforms too.
A lot of things need to be improved in this project, so please be patient. And if you have the skills to code, and ideas, happy to include contributions.
The system needs to be fed with the defined collection of JSON data. Also, for positions and executions, the information must be read from the database (MS Sql Server database). Also, this system will send some commands back to the core system via REST (start/stop trading, params change, etc)
Core Trading System: This is the system that will feed VisualHFT. Currently is not included in this repository, however, we have plans to include a small system as an example. It will need to have the following: REST and WebSocket server, and persist positions into the database.
The overall configuration is that the core trading system (again, not included in this repo) will also be a websocket server sending the data, and also persisting the position data into the database so VisualHFT can read from there.
How to get your hands on
The project has been published in this link.
The project is fully open and we are open to adding collaborators and experts in the following:
- experts in WPF and C#
- Risk Management
- TCA and Analytics