top of page

GC Futures Arbitrage - IBKR vs MT5

  • Aug 13
  • 2 min read

In this project, I'm attempting to create an arbitrage bot on GC Futures traded on Interactive Brokers and arbitrage it against XAUUSD CFD traded on MT5 with the broker IC Markets.


The main reason why I use XAUUSD CFD on MT5 is that they are the cheapest as far as I know.


You might be wondering, does the strategy work? Look at the chart below and let me explain.



You can see the price of GC Futures (blue) and the price of XAUUSD CFD (yellow). The CFD price represents the spot price of gold. The difference between Futures and CFD is called Basis (3rd curve).


Basis = Price Futures - Price Spot


Futures have something called expiry date, which is a date where traders are forced to close their position and settle the contract. Because you are referencing a price at a future date, the Futures price and the Spot price are rarely the same.


In the chart below, you can see how GC basis usually starts high and then converges to 0 as it reaches expiry date. This behavior is quite interesting because it allows to trade strategies such as Cash-n-Carry Arbitrage or Funding Rate Arbitrage. But this project, we're focusing on the intraday mean reversion of the basis rather than the strategies mentioned above.



An interesting discovery is that the basis on gold moves quite a lot intraday. In fact, these intraday moves can cover for the execution fee and spread. So my objective is to buy Futures / sell CFD when basis is low and sell Futures / buy CFD when basis is high.


What I have done so far

With the help of Claude, I have created a real-time web application that can display the GC Futures basis. This dashboard can also connect to my TWS platform on IBKR and to my MT5 platform. Using this dashboard, I can analyze the basis, calculate the PNL and monitor my trades.



What I'm working on currently

I also have a first draft of an automated trading bot using Bollinger bands. This trading bot tries capture low/high basis when it deviates from a Moving Average. Currently, I am still testing this bot and I ran into some issues with execution and slippages.



To improve the execution and latency, I also have a VPS ready in Chicago which should reduce latency to both CME (Exchange where i trade GC Futures) and MT5 servers.


Will I share this project with members?

Yes! I'm still trying to develop and test a lot of things but when I believe it is ready, I will share this project with ATJ Research Members.


If you're new here, you can read more about the perks you'll get as an ATJ Research Member here: https://www.atjresearch.com/pricing-plans/list

 
 
 

Recent Posts

See All

Comments


ATJ Research is a project led by the company ATJ Traders s.r.o.

Disclaimer:

Content provided by ATJ Traders does not serve as investment advice but serves for educational purposes only. Your capital is at risk when trading in the financial markets. Past performance is not an indicator of future results. The use of ATJ Traders' content or 3rd party investment services is solely at your own discretion and responsibility.

bottom of page