The Algorithmic Quantitative Arbitrage Trading Case challenges participants to leverage their programming expertise by creating algorithms using the RIT API to automate trading strategies and respond to evolving market conditions. These algorithms will be tasked with identifying and executing trades to capitalize on arbitrage opportunities driven by economic influences and private tender offers. Given the high-frequency nature of this case, participants are encouraged to design adaptable algorithms capable of responding swiftly to rapid shifts in market dynamics using their preferred programming languages.
This case includes one basic algo script written in Python script. Be aware that the Python scripts are basic and you need to develop them to support your trading strategy.
Click below to download the scripts in one zip compressed folder:
There will be 10 heats with 1 team member acting as the quant trader and the rest as an analyst. Only one team member shall trade and the rest should send information to the trader about the economic updates via phone and chates in all heats. Each heat will be 20 minutes long and represent one year of trading.
Order submission using only Client RIT API will be enabled, DMA REST API will be disabled. 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. The base template algorithm provided above can be directly modified for use in the competition. However, participants are strongly encouraged to create their own algorithms.
In this case, each team member will have 1 of 2 specific roles and the team will determine the role of each member:
Traders will operate in the FRTL trading room, while Analysts will work on the news floor to gather information and relay it to Traders via phone, text, or chat. Only for practice, Analysts will have limited access to the RIT platform, restricted solely to reading news updates. They are not permitted to trade or accept tender offers that may arise. On the day of the competition, Analysts will not have any access to the market through the RIT platform. Their role will be confined to observing news updates displayed on the news board, which will be visible on the big screen for all participating teams opting to assign as Analyst.
Ticker | CAD | USD | SAD | CRY | ANGER | FEAR | JOY_C | JOY_U |
Security Type | Currency | Currency | Stock | Stock | Stock | Stock | ETF | ETF |
Currency | CAD | CAD | CAD | CAD | CAD | CAD | CAD | USD |
Starting Price | n/a | n/a | Medium | Medium | Low | Low | High | High |
Volatility | n/a | n/a | Low | Medium | Medium | High | Low | Low |
Liquidity | n/a | n/a | Low | High | Low | High | High | High |
Frequency | n/a | n/a | Low | Medium | Medium | Low | High | High |
Fee/share (Market Order) | n/a | n/a | 0.02 | -0.02 | 0.02 | -0.02 | 0.02 | 0.02 |
Rebate/share (Limit Order) | n/a | n/a | 0.04 | -0.04 | 0.04 | -0.04 | 0 | 0 |
Max Order Size | 2,500,000 | 2,500,000 | 50,000 | 50,000 | 50,000 | 50,000 | 100,000 | 100,000 |
The base currency in this case will be CAD. Therefore, USD will be quoted in a direct exchange rate as the number of USD can be bought with 1 CAD.
Participants will have the opportunity to engage in trading activities involving four stocks denominated in CAD and two ETFs, one in CAD and the other in USD, each exhibiting varying levels of volatility and liquidity. The ETFs are listed on different exchanges and in different countries, ensuring that markets remain distinct. This dynamic exposes participants to the basics of market microstructure in the context of algorithmic trading.
Under equilibrium conditions, the price of the ETF will align with the combined value of its constituent stocks, though it remains subject to periodic price shocks. Specifically, the price of JOYC will reflect the sum of the prices of SAD, CRY, ANGER, and FEAR, given the equal weighting of the ETF components. In turn, the price of JOYU will be the CAD-converted equivalent of JOYC, directly influenced by the prices of these individual stocks. However, the market prices of both ETFs are shaped by broader market conditions and are highly sensitive to economic surprises, which can amplify price fluctuations. In contrast, the prices of the individual stocks are primarily driven by company-specific factors and tend to exhibit less sensitivity to macroeconomic news.
Eq(PJOYC) = PSAD + PCRY + PANGER + PFEAR
The price of ETFs is influenced by the economic conditions of their respective countries. For instance, the price of JOY in Canada is significantly impacted by the annual GDP growth rate. At the start of the case, participants will receive news about the previous year’s quarterly GDP growth rate. During each quarter, private analysts will provide information on the expected GDP growth rate for the current quarter. Shortly before the end of each quarter (every 300 seconds), the actual quarterly GDP growth rate will be announced through news updates.
Participants are required to update the annual GDP growth rate promptly, first using the forecasted data and then incorporating the actual figures once released. Analysts observe that economic shocks emerge as soon as new information is announced and persist until additional data is available or the quarter concludes. These shocks can be either positive or negative, depending on whether the quarterly GDP growth rate increases or decreases compared to the corresponding quarter of the previous year. The shock from GDP growth rate can be assumed to be normally distrubited using the compounding per-period growth rate as a mean.
Eq(PJOYU ) * USD = Eq(PJOYC )
On the other hand, the price of JOY in the US shows a strong correlation with the Business Confidence Index (BCI). It is believed that the shocks to the BCI are considered temporary, offering short-term arbitrage opportunities. These opportunities can be captured by applying the monthly percentage changes in the index, adjusted for the proportional market reaction of investors. BCI updates will be provided monthly, with new data available every 100 seconds. However, these shocks are typically transient in nature.
The shocks are independent of each other and may either act in the same direction or in opposite directions, with no correlation between them. These shocks create temporary arbitrage opportunities. Since traders will not have access to all information in real-time, they will need to remain in constant communication with their analysts (team members) to stay updated on the economic surprises occurring in each region.
Participants will also receive private tender offers for both JOY_C and JOY_U, but more frequently for JOY_C. 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 four Converters [2] available to facilitate a conversion between the underlying stocks and the ETF, and the ETFs of different exchanges. Participants should consider using these Converters as an alternative approach to manage the liquidity risk associated with submitting orders directly to the market. It is important to note that these Converters can only be accessed manually by human traders through the RIT Client using the “Assets” tab. They cannot be utilized automatically by algorithms via the API. The lease cost for ETF creation and redemption within the local Canadian market is $20 per minute, while the cost for ETF conversions across exchanges is $50 per minute.
Converters | Description | Convert From | Convert To | Cost |
ETF-Creation | ETF creation from underlying stocks | 10,000 SAD stocks, 10,000 CRY stocks, 10,000 ANGER stocks, and 10,000 FEAR stocks | 10,000 units of JOY_C | $0/use |
ETF-Redemption | ETF redemption to underlying stocks | 10,000 units of JOY_C | 10,000 SAD stocks, 10,000 CRY stocks, 10,000 ANGER stocks, and 10,000 FEAR stocks | $0/use |
ETF-Conversion 1 | ETF conversion | 10,000 SAD stocks, 10,000 CRY stocks, 10,000 ANGER stocks, and 10,000 FEAR stocks | 10,000 units of JOY_U | $1500 CAD/use |
ETF-Conversion 2 | ETF conversion | 10,000 units of JOY_U | 10,000 SAD stocks, 10,000 CRY stocks, 10,000 ANGER stocks, and 10,000 FEAR stocks | $1500 CAD/use |
[2] The Converters are available from the “Assets” tab on the RIT Client.
The maximum trade size will be 50,000 shares per order for individual stocks and 100,000 shares per order for ETFs. CRY and FEAR are highly liquid in the market and offer a feebate of $0.02 per share for market orders, while a fee of $0.04 per share is charged for filled limit orders. In contrast, SAD and ANGER have a transaction fee of $0.02 per share for market orders and a rebate of $0.04 per share for filled limit orders. For ETFs, a transaction fee of $0.02 per share applies to all market orders, with no rebate for filled limit orders.
Any non-zero position of shares will be closed out at the end of trading based on the last traded price.
Copyright © Rotman School of Management, University of Toronto | BMO Financial Group Finance Research and Trading Lab