The aim of the game is to profitably make markets. This means providing liquidity at the best prices at volumes large enough to facilitate the trading activity of other market participants. Your success will lie in identifying profitable opportunities to trade at fair prices, place your orders as quickly as possible, and keep your risk exposures below defined bounds.
You’ll compete in three qualifying rounds in an effort to finish in the top eight. After submitting your algorithm for each round, our engineers will run it against the algorithms from the other teams on a simulated exchange. After each round, you’ll receive feedback on your algorithm’s performance in the form of a log file. This will allow you to see how you can improve it before submitting it for the next round. Your team will be ranked each week on the performance of your algorithm and your placing will be shown on the website’s leaderboard page.
Building upon our initial code-base, your team will draw upon your programming and analysis skills to write an autotrader to price the ETF, execute trades, and manage risk. We’ll provide historical time-series order and trade data, which you can use to verify your pricing and trading algorithm. Your autotrader (and those of the other competitors) will trade on a simulated exchange full of would-be investors ready to get involved.
To attract market makers to their market, the exchange has agreed to provide incentives and services as described below. Each trade attracts a small fee paid to the exchange. In the Ready Trader Go ETF market, the aggressor in a trade pays the taker fee, which is 2bps, or 0.02% of the value of the trade. However, to incentivise market making the exchange pays the initiator of the passive order in the trade a maker fee – 1bp or 0.01% of the value of the trade.
Each team will need to adhere to the following exchange rules:
Aggressor: the market participant that inserted an order in cross with an existing order already on the exchange, causing a trade to occur.
Amend: to modify the price or volume of an existing order. In Ready Trader Go you can only reduce the volume of an order, you cannot change the price, side or type of an order.
Ask: i) a SELL order, or ii) refers to the price of the lowest sell order in the market (i.e. the ask is $10.13).
Bid: i) a BUY order, or ii) refers to the price of the highest buy order in the market (i.e. the bid is $10.12).
Counterparty: refers to the person or company on the other side of a trade (e.g. “Optiver was my counterparty”).
Exchange Traded Fund (ETF) - a popular tool for investors to access a range of markets and asset classes. The ETF asset manager holds futures to track the index so the “Fair value” of the ETF exactly tracks the future price. However, the ETF price can deviate from the future fair price due to supply and demand in the ETF. The ETF can be created and redeemed at the end of each day for a fee which restricts how far the ETF price can deviate from the future before presenting an arbitrage opportunity.
Execution: refers to messages between you and the exchange relating to your orders; e.g. you place an order by sending an “order insert” execution message, you are notified that you have traded via a “order filled” execution message etc.
Filled: means “traded” – e.g. if you try to buy 1,000 lots but you only get 500, your order is said to be “partially filled”.
Hit: means to “sell” – e.g. “hitting the bid” means crossing the spread to sell an existing buy order.
Index: a measurement of the value of a particular segment of the market, used for monitoring returns and benchmarking the performance of portfolios. For example, the EURO STOXX 50 is an index comprised of 50 of the largest and most liquid stocks in Europe.
Index Futures: Enables investors to gain exposure to the Index.
Lift: means to “buy” – e.g. “lifting the offer” means crossing the spread to buy an existing sell order.
Limit Order: an order with a limit price, i.e. a minimum or maximum price at which it’s willing to trade – as opposed to a market order.
Liquidity: How quickly and easily an asset can be bought or sold in large quantities for a fair price.
Lots: refers to the number of units / order volume (e.g. 1,000 lots means a quantity of 1,000 shares/futures/units).
Market Making: a market participant that’s willing to both buy and sell simultaneously. They make a profit on the difference between the buy and sell prices, this is also called “the spread”.
Market Order: an order without a limit price, i.e. indicates willingness to buy or sell a specified volume at any price. Optiver recommends that you never use a market order.
Market Information: refers to public data disseminated by the matching engine about the state of the market, such as what orders are in the book and what trades have occurred.
Matching Engine: a computer program responsible for matching buy and sell orders to generate trades between counterparties.
Offer: same as ask.
Order Book: a collection of orders arranged according to the rule of price-time priority.
Price-time priority: orders with a better price (higher bids and lower offers) are matched / allocated a trade first. If orders are at the same price, whichever one arrives at the matching engine first will be matched / allocated a trade first.
Spread: the difference between the bid and ask.
Unfilled: not filled.
Volumes: see Order Book.