Do local crypto arbitrage opportunities exist?
I have been monitoring local BTC, ETH and XRP arbitrage opportunities between Luno and VALR over the last two weeks. I did this by checking their order book every hour (How? Luno and VALR both supply an API, which allowed me to programmatically query their order book and retrieve the min ask price and max bid price on both books).
Ok. So this is what I found.
1 They exist, but arbitrage opportunities are few and far between.
2 They only exist for a short time.
3 If they do exist, they are most common between 2-4am (SA time) and during more volatile periods.
4 Top arb opportunities ranged anywhere 2-5%; but as mentioned only occur three to four times a day. If they do occur, they are there for a second or two.
I put a super simple arb monitor here.
Was I able to take advantage of it? Simple answer. No.
Here is what I did to try and take advantage of pricing inefficiencies between the two exchanges in order to make a profit. After fees.
1. I deposited R10 000 into both Luno and VALR. I then bought R2500 worth of BTC on both exchanges.
Why? Having enough cash and BTC on both exchange would allow me to instantly buy and sell. (Compare this to other arb strategies, which would buy BTC on one exchange and then send it to another. HOWEVER, this method would simply not be fast enough given the time it takes to transfer).
2. next step, using Luno and VALR API, I queried their order book every minute.
3. If an arbitrage opportunity was big enough ( greater than 0.3%) I put in a market order to buy on one exchange and at the same time I put in a sell market order to sell on another exchange.
My practical findings.
In theory - local arbitrage opportunities between luno and valr exist. However, taking advantage of these in practice is much more difficult. From my side, whilst some arb trades were profitable, there were numerous scenarios where the ask or bid price which I queried (as per step 2) was already filled by the time I placed the market order (step 3). We are talking less than a second here. In some cases, I received a very different price by the time I placed the order.
At this stage, I can conclude that the market is pretty efficient. My own quickly put together trading bot is not fast nor smart enough to take advantage of these opportunities that sometimes exist. Opportunities that do arise dissipate quickly. Thus time between querying the order book and placing the trade must be very small.(I used both exchanges' API; which means I was able to put in a market order as soon as I had info on their book (less than a second) and yet there were still numerous instances where the trade turned out unprofitable).
These were my findings.I would love to hear from others who have tried something similar?
I have been monitoring local BTC, ETH and XRP arbitrage opportunities between Luno and VALR over the last two weeks. I did this by checking their order book every hour (How? Luno and VALR both supply an API, which allowed me to programmatically query their order book and retrieve the min ask price and max bid price on both books).
Ok. So this is what I found.
1 They exist, but arbitrage opportunities are few and far between.
2 They only exist for a short time.
3 If they do exist, they are most common between 2-4am (SA time) and during more volatile periods.
4 Top arb opportunities ranged anywhere 2-5%; but as mentioned only occur three to four times a day. If they do occur, they are there for a second or two.
I put a super simple arb monitor here.
Was I able to take advantage of it? Simple answer. No.
Here is what I did to try and take advantage of pricing inefficiencies between the two exchanges in order to make a profit. After fees.
1. I deposited R10 000 into both Luno and VALR. I then bought R2500 worth of BTC on both exchanges.
Why? Having enough cash and BTC on both exchange would allow me to instantly buy and sell. (Compare this to other arb strategies, which would buy BTC on one exchange and then send it to another. HOWEVER, this method would simply not be fast enough given the time it takes to transfer).
2. next step, using Luno and VALR API, I queried their order book every minute.
3. If an arbitrage opportunity was big enough ( greater than 0.3%) I put in a market order to buy on one exchange and at the same time I put in a sell market order to sell on another exchange.
My practical findings.
In theory - local arbitrage opportunities between luno and valr exist. However, taking advantage of these in practice is much more difficult. From my side, whilst some arb trades were profitable, there were numerous scenarios where the ask or bid price which I queried (as per step 2) was already filled by the time I placed the market order (step 3). We are talking less than a second here. In some cases, I received a very different price by the time I placed the order.
At this stage, I can conclude that the market is pretty efficient. My own quickly put together trading bot is not fast nor smart enough to take advantage of these opportunities that sometimes exist. Opportunities that do arise dissipate quickly. Thus time between querying the order book and placing the trade must be very small.(I used both exchanges' API; which means I was able to put in a market order as soon as I had info on their book (less than a second) and yet there were still numerous instances where the trade turned out unprofitable).
These were my findings.I would love to hear from others who have tried something similar?