Welcome to the ETH trading competition. This page should contain all the information you need to build trading automation with our system. In case of any question, please contact the members listed at the bottom. Happy coding and happy trading!
As the picture below describe, the system is composed of multiple components which is a great thing from an architectural point of view but won't make your task easier at start. Fortunately, the SDK provided contains all the skeleton code for you to start interacting directly on the exchange.
In essence, it's you or more accurately, your trading system
The discovery is your entry point into the system and acts as a gatekeeper for the rest of the components. It knows where to find the other services and let the user know after authentication what services he/she has access to and how to access them (IP/PORT + token used as password).
The exchange is where assets are traded. In this model, it plays the role of price feed and order and quote management. In other words, it's the service that will allow you to trade and know the price of stocks.
The clearing firm holds information about bank account and margin information, you should monitor those information very closely as they move with prices. If your margin power falls under 0 you will be eliminated from the competition immediately (in the real life, you go to prison... seriously :)).
Don't abuse the system, if you win by exploiting the system you will be disqualified, if you win by exploiting the prices you will be a star.
Like on real exchanges, there is a maximum allowance of 50 messages per seconds (it's called throttling), it's not implemented yet, but will be for the competition.
The fees for buying stock are very advantageous as market participant, you pay 1 pence per share. So if you buy 100 shares, it cost you 1$ in transaction fee (careful you will need to sell it back so total transaction will be 2$ at the end)
At the end of the game, all positions in shares will need to be closed (that is you don't have anymore shares)
During the game, you will be granted $250,000 of virtual money with a buying power of 50% (meaning you really have 500,000 but that fluctuate with price of the shares you own so careful not to exceed your buying power or you will be eliminated)
In the SDK, you will see that each component has it's own connectivity management but that should not scare you.
The interesting bit happens in Main.cs. The constructore hooks all messages we plan on processing from each components.
Then, the function are organised by compoenents, starting with the discovery, then the exchange and finally the clearing firm. An underlying represents a stock in this competition
The BBO means Best Bid Offer (offer means Ask), which means it's the best price you can find for buying and selling in the market. Bid is what people are ready to pay for and Ask is what people are ready to sell at. When they cross, you have 1 (or multiple) trade(s).
Download the C# .NET SDK
Download our standard trading GUI - Hyperion