Please ensure Javascript is enabled for purposes of website accessibility

ALGO Trading – Practice Case

OVERVIEW

The Algorithmic Trading Case is designed to challenge participants’ programming skills by developing algorithms using the RIT API to automate trading strategies and react to changing market conditions. Throughout the case, these algorithms will submit orders to profit from arbitrage opportunities and private tender offers. Due to the high-frequency nature of the case, participants are encouraged to develop algorithms that can adapt to rapid changes in market dynamics using their selected programming languages.

KEY OBJECTIVES

DESCRIPTION

Only one team member shall trade , while the others collaborate in developing the code. Each heat will be 5 minutes long and represent one month of trading.

Order submission using the RIT API will be enabled. Data retrieval via Real-time Data (RTD) Links and the RIT API will also be enabled. All trades must be executed by a trading algorithm. Participants will not be allowed to trade manually through the RIT Client once the heat begins (but they will be allowed to manually use the RIT Client to use Converters – see “Market Dynamics” section below). Participants are allowed to modify their algorithms in response to prevailing market conditions and competition from the algorithms of other teams. They will have 2 minutes between each heat to re-load their algorithms. A base template algorithm will be provided [1] to participants and can be directly modified to obtain higher profits. However, participants are strongly encouraged to create their own algorithms.

[1] The “Base Algorithm” will be released on the RITC webpage as outlined in the “Important Information” section above.

MARKET DYNAMICS

TickerCADUSDBULLBEARRITC
Security typeCurrencyCurrencyStockStockETF
CurrencyCADCADCADCADUSD
Starting Pricen/an/a101525
Fee/share (Market Orders)n/an/a0.020.020.02
Rebate/share (Limit orders)n/an/a0.030.030.03
Max order size25000002500000100001000010000

The base currency in this case will be CAD. Therefore, USD will be quoted in a direct exchange rate as the number of CAD required to buy 1 USD.

Participants will be able to trade two stocks denominated in CAD and one ETF denominated in USD with varying levels of volatility and liquidity. This dynamic exposes participants to the basics of market microstructure in the context of algorithmic trading. In equilibrium, the ETF pricing will reflect the following sum of the two stocks traded, subject to periodic shocks to its price. In other words, in equilibrium, the CAD-converted price of the RITC ETF will be the sum of prices of both BULL and BEAR stocks since the ETF is equally weighted.

PRIT,USD * USD = PBULL,CAD + PBEAR,CAD

Participants will also receive private tender offers for the ETF. Since the decision time to accept or reject a tender offer is very short, participants should build an algorithm to evaluate the profitability of a tender offer to make a decision to accept it or not. Once a tender offer is accepted, a participant’s algorithm should also unwind the positions at a profit while managing the market price impact of trades.

In addition, there will be two Converters [2] available to facilitate a conversion between the underlying stocks and the ETF. Participants should consider using these Converters as an alternative approach to manage the liquidity risk associated with submitting orders directly to the market. Please note that these Converters can only be used by human traders: you will be able to use them from the RIT Client manually using the “Assets” tab, but your algorithm will not be able to use them automatically through the API.

ConvertersDescriptionConvert FromConvert ToCost 
ETF-CreationETF creation from underlying stocks10,000 BULL stocks and 10,000 BEAR stocks10,000 units of RIT_C$1,500 USD/use
ETF-RedemptionETF redemption to underlying stocks10,000 units of RIT_C10,000 BULL stocks and 10,000 BEAR stocks$1,500 USD/use

[2] The two Converters are available from the “Assets” tab on the RIT Client.

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. Each position in the stocks will be counted towards trading/position limits with a multiplier of one, while each position in the ETF will be counted with a multiplier of two. For example, if you long 100 shares of any stocks, your gross and the net limits will increase by 100. If you buy 100 shares of RITC, your gross and net limits will increase by 200 (100 shares * multiplier of two).

The maximum trade size will be 10,000 shares per order for both stocks and the ETF. Transaction fees will be set at $0.02 per share for each stock and the ETF on all market orders filled. A rebate of $0.01 per share for each stock and the ETF will be provided for all submitted limit orders that are filled.

POSITION CLOSE-OUT

Any non-zero position of stocks will be closed out at the end of trading based on the last traded price while the ETFs will be closed out at the fair value which is the sum of the component stock prices converted to CAD.

///