Please ensure Javascript is enabled for purposes of website accessibility

Algorithmic Market Making Case – v1.2

OVERVIEW

The Algorithmic Market Making Case is designed to introduce participants to algorithmic strategies for market making, where the objective is to earn the bid-ask spread while providing liquidity for an individual stock. Participants will need to use their programming skills to develop algorithms with the RIT API to automate trading strategies and respond to changing market conditions. Throughout the case, these algorithms will submit orders to profit by earning the bid-ask spread and pursuing rebates through competitive limit orders that get filled. Given the high-frequency nature of the case, participants are encouraged to develop algorithms that can quickly adapt to rapid changes in market dynamics using their preferred programming languages.

KEY OBJECTIVES

DESCRIPTION

Only one team member shall trade to represent the team for all heats. The case runs for 10 minutes long that represents one month of trading period.

Order submission via the RIT API will be enabled, along with data retrieval through Real-time Data (RTD) Links and the RIT API. All trades must be executed using a trading algorithm; manual trading through the RIT Client will not be permitted once the heat begins. Participants are allowed to adjust their algorithms in response to prevailing market conditions and competition from the algorithms of other teams. There will be a 2-minute interval between each round for teams to update and reload their algorithms. A basic template algorithm will be provided [1], which teams can customize directly for the competition. However, teams are strongly encouraged to develop their own algorithms. In case a team is unable to create their own code, they can still trade using our Rotman Interactive Trader Client Rest API [2] website.

MARKET DYNAMICS

Participants will trade four stocks denominated in local currency, each varying in price level, volatility, and liquidity. Each heat will feature stocks with different starting prices and volatilities, exposing participants to market microstructure fundamentals in the realm of algorithmic trading. The details for each stock that are traded in the new exchange are provided below:

TickerOWLCROWDOVEDUCK
TypeStockStockStockStock
Starting PriceHighHighLowMedium
VolatilityLowMediumHighMedium
Fee/share (Market Orders)0.03-0.02-0.030.02
Rebate/share (Limit Orders)0.04-0.03-0.040.03
Max Order Size5000500050005000
Gross/Net Limits250000250000250000250000

Stock prices are assumed to follow to a normal distribution with an unspecified, non-zero mean and volatility. The mean enables stock prices to fluctuate around their historical averages over the long term.This phenomenon of mean reversion suggests that prices and volatility tend to return to their mean values, presenting opportunities for participants to profit from significant fluctuations in stock prices. However, these prices are also influenced by investors’ market-making strategies, which adds complexity to predicting asset price movements.

Fees and rebates are applied to all trades depending on whether they remove liquidity (active orders) or provide liquidity (passive orders). Market orders or the part of a limit order that executes immediately at market price remove liquidity. Limit orders, including the part that is not immediately executed and remains on the order book, provide liquidity.

Due to the varying fees and rebates detailed in the table, participants are encouraged to implement market-making strategies across the four securities. To enhance strategic challenge and emphasize the importance of earning the bid-ask spread and potential rebates, each security’s dynamics include programmed order flow affecting liquidity differently. This variation ensures that the spread dynamics will fluctuate across securities and over time.

The avilable four tradable stocks are OWL, CROW, DOVE, and DUCK. OWL is anticipated to follow a stable, high-price trajectory. CROW and DUCK exhibit moderate price volatility. DOVE, although expected to have lower price levels, shows high volatility. The fee for market orders and rebate for limit orders higlight the feebate structures, which has been well calibrated according to the liquidity level of individual stock. The table suggests that CROW and DOVE provide rebates for removing liquidity and charge fees for providing liquidity, while OWL and DUCK charge for removing liquidity and offer incentives for providing liquidity.

For instance, let’s examine the top limit order for OWL, which currently stands at:

Bid SizeBid PriceAsk PriceAsk Size
100019.9920.021000
100019.9720.053000

If a market-making participant places a limit order to buy 1,500 shares at a limit price of $20.03, they will instantly acquire 1,000 shares at $20.02, incurring $30.00 in fees (calculated as $0.03 per share for 1,000 shares). The remaining 500 shares will remain in the limit order book as a bid at $20.03 per share. If these 500 shares are subsequently filled, the participant will receive a rebate of $20.00 (computed as $0.04 per share for 500 shares).

TRADING/POSITION LIMITS AND TRANSACTION COSTS

Each trader will be subject to gross and net trading/position limits during trading in each heat. The gross limit reflects the sum of the absolute values of the long and short positions across all securities, and the net limit reflects the sum of long and short positions such that short positions negate any long positions. Trading/position limits will be strictly enforced, and participants will not be able to exceed them. The gross and net limit both are set at 250,000 shares.

The maximum trade size will be 5,000 shares per order for any stocks. In order to discourage excessive exposure to market risk, trades that would cause a violation of either limit will be rejected. Participants have a choice of using either the REST or the VBA API. The maximum orders per second has been set at 50.

POSITION CLOSE-OUT

Any non-zero position of stocks will be closed out at the end of trading based on the last traded price of the stock.

Copyright © Rotman School of Management, University of Toronto | BMO Financial Group Finance Research and Trading Lab

///