Today's peak crypto arbitrage spreads for 26 pairs – BTC/USD 10.98%(tokenspread.com) |
Today's peak crypto arbitrage spreads for 26 pairs – BTC/USD 10.98%(tokenspread.com) |
The trick is to transform the graph by taking the negative log of the edge weights, which turns problem of finding a cumulative product > 1 into one of finding a negative sum loop. Then, you can just run the Bellman Ford algorithm and if it detects a negative cost cycle in the transformed graph, this corresponds to a positive arbitrage cycle in the original graph.
I always thought that was a neat application.
For cryptocoins it's nearly impossible. Because in most cases there's no idea when the actual transfer will be executed (if arbitraging between exchanges).
Although I did recently see a more sophisticated example of arbitrage where you have money on all the exchanges at once and then you don't actually do a transfer, but you long on one and short on the other. However, I don't think it would work w/ bitcoin b/c I don't think shorting is much of a thing yet.
While transaction costs are easy to model in LPs, transaction clearing times are much harder. To the point where most opportunities are better described as phantasma.
Something is amiss here. Selling BTC to USD should be instantaneous even if cash withdrawal isn't no? Can you not look at the bid/ask and get executed at the bid on these exchanges?
I should be able to buy "cheaply quoted BTC" on Exchange A. Transfer to wallet at "higher quoted BTC" at exchange B, and executed a sale at the bid, even if I can't pull my USD into my actual bank account for a couple days.
I think it could also just indicate a lack of arbitrage being executed that keeps the price in line with other exchanges, meaning as a separate market the price is free to move higher / lower than other markets without necessarily indicating some sort of problem at the exchange. Normally this would be sort of synchronised to some level by arbitrage.
It seems like the arbitrage opportunity here is real and at least someone recently managed to profit ~10% from it:
https://www.reddit.com/r/BitcoinMarkets/comments/7kitks/arbi...
Although of course it is a bit slow which exposes you to lots of risks, so if you really wanted to do it you would need to hedge your exposure with other types of trades (shorts, etc) to try to limit the amount of risk.
I guess what I am thinking is just it could also be the exchange is operating fine, people are able to withdraw fiat, but it's just not worth the risk / effort to run arbitrage (or people just aren't doing it) and that could at least explain some price difference without there needing to be some sort of systemic problem at the exchange. There of course could be.
Seems like this might at least be a factor, but honestly I don't know what something like that would mean in terms of the impact on pricing on an exchange.
- You want to look at the order book, not just the last trade to compare the bid on one against the offer on another venue. The bid-offer spread can be very wide on some of these.
- Fees should be included.
- You still aren't pricing in counterparty risk, the biggest risk in crypto trading.
- I don't see CME and CBOT. The most reliably venues (you can replicate the spot with a multileg trade).
since those are futures, arbitraging them brings a bunch of other problems. mainly, keeping your (futures) account with enough cash to prevent liquidation (if there are drastic price swings). this is easier said than done because a short position requires 100% margin (afaik).
The last time I did this about a week or 2 ago, there was an 8% difference between GDAX and Bittrex. At the end of it, after fees and all that, I made 6%.
That is, if LTC is higher on exchange A than B, then you buy all you can on B and sell on A. You've made free money, but aren't strictly better than before because you have a different allocation across exchanges. But then you can later do a slow transfer that evens them out.
When things are running "normally" the arb space is pretty crowded especially amongst crypto-crypto pairs. Things like BTC-USD arbitrage between a USA exchange like GDAX and a Korean exchange are more of a regulatory arbitrage than a trading arbitrage (it takes a lot of work to get set up to trade and withdraw money from Korea to the USA to balance the sell-leg of the arb), so I would ignore those as they are really out of the scope of a HN tech discussion.
I think this site has come up before and I might have commented on it. If you are seeing these spreads and thinking about quitting your day job, don't.
Source: I did quit my day job and paired arbs like this account for about 0% of trading volume we do.
Shameless plug: if you are interested in this stuff feel free to contact me, info should be in my profile.
This "arbitrage" is a classic picking-up-nickels-in-front-of-steamrollers trade.
Wrote about the math here - https://steemit.com/arbitrage/@kesor/the-math-behind-cross-e...
dont ask
The problem is that after this sequence of events, your USD is at the exchange with the higher priced BTC, while you need it at the exchange with the lower priced BTC to repeat the process. This requires moving the USD back via the traditional banking system, which is slow. The bank wires are the bottleneck.
Crypto-Crypto trading pairs don't have this problem, which is why the ETH/BTC spread for example is much smaller. The spread there probably just reflects fees and custodial risks that put a slight break on arbitrage.
"if you try to arb it, all of a sudden the spread disappears" - well there's a lot of people trying to do the same thing because they think it is easy money and no one has thought of this great idea of buying LTC on one exchange and selling on GDAX, so when your incoming transfer of LTC completes so do a bunch of other transfers all doing the same arb trade (and those are automated and will beat you in the race).
The blogs you are referring to I do not hold in high esteem. I maintain high levels of doubt about exchanges as a whole and realize the extremely high counterparty risk more than most in the space, but their ideas about painting the tape and nefarious bots are misguided at best.
Current maintenance margin is about $34k on a single contract (5 BTC).
You are correct--there is no such thing as "risk free". By convention, we mark our zero point at the risk of sovereign bonds. It is the smallest risk everyone in our economy agrees on a level for. It still contains "risk". But it's a convenient--and practical--reference point.
The analog in Bitcoin would be getting your transaction committed to the blockchain. It's still "risky". (Quantum computers could break the encryption!) But it's a convenient--and practical--zero. (You'll notice the advantage of a currency backed by a debt-like obligation. Interest rates come as a first-class function. There is no "risk free" borrowing rate in Bitcoin.)
Between these zeros, an arbitrage would require, simultaneously, committed transactions on the Bitcoin ledger and immediately-available funds in an FDIC-insured (or analogous, e.g. SIPC) account. That is not something exchange-based trading, which involves depositing U.S. dollars and/or Bitcoins with the exchange in exchange for an IOU, permits.
This is by far the most informed reply I've seen in all those threads I've read.
Especially wanted to highlight the last two sentences: there is no way to do risk-free arb in crypto due to counter party risk with exchanges. Even if it might seem small, it isn't small! The opportunity size, scale, roi, etc need to outweigh that risk and (despite playing in this sandbox which I guess makes me a hypocrite but w/e, just trying to help...) I don't think it is worth it right now.
Concretely, imagine if every ten minutes you made an arbitrage buy on GDAX, and sell on BitFinex. As long as GDAX remains the “buy side” of the arbitrage, you will need to keep refilling your fiat funds at GDAX. You could “keep it filled,” but this becomes more unsustainable as you deplete your bankroll. You will eventually need to rebalance which will affect your velocity.
Disclaimer: I am not a financial professional.
Source: I tried to make money arbitraging BTC back in 2015. I made a 2x return, entirely because of inflation, realized I didn't understand anything I was doing and pulled my 8k out. If only I had kept it in :)
When you look at the price history (and open orders history) between some pairs on one exchange you'll find that during these spikes there was no arbitrage being done at all.
One example is seeing the price on ETH-BTC pair being constant despite BTC dropping 10-20%, and then combing back in 5-10 minutes.
Arbitrage is, by definition, the refutation of a strong-form efficient market [1].
> liquidity risk, counterparts risk
The presence of these risks betrays the absence of a true arbitrage. A pure arbitrage involves simultaneous execution, thereby negating liquidity risk. It also involves instantaneous settlement, thereby negating counterparty risk. In the real world, I've only seen it in specialized real-time foreign exchange and money markets.
The risk you can't get rid of is the "risk-free" risk. If the U.S. government blows up, you will not make money on your triangular arbitrage [2].
> analytically evaluate all sources of risk, compare it to the expected profit, and if the latter is no greater than the former, deduce that we are in an efficient market
This is an interesting area of theoretical finance [3]. It is practically useless. There is no list of "all sources of risk," much less any way to price it.
[1] https://www.investopedia.com/terms/s/strongform.asp
Incidentally, [3] is very close to my field of research back when I was doing postgraduate studies in economics, but as you mention, it has close to zero applicability.
However, all the same risks apply e.g. with orders not being processed enough.
Two economists walk down the road.
E1: look, a 100$ bill over there!
E2: if it were one, somebody would have picked it up already!
E1: nods