5 ms·
Well, shit. Time to trash my bitfloor/mtgox arbitrage bot.
by sachingulaya 13y ago
Well, shit. Time to trash my bitfloor/mtgox arbitrage bot.
- tocomment 13y agoDo you really have one? Everything I read talked me out of it when I had the idea.
- girvo 13y agoDo you honestly have one? How did it perform? I was considering doing something myself, I'm curious how it went.
- sachingulaya 13y agoNo, we finished coding a trading dashboard and we were building the arbitrage functionality last night. The general premise is this: match bids on mtgox with asks on bitfloor when transaction fees are less than the spread. Then later on you have to balance with a bid on bitfloor and an ask on mtgox. Send coins between exchanges to fund accounts. If cash runs low on one exchange(it would be bitfloor) then the plan was to manually fund bitfloor with capitalone p2p(no transaction fees) and withdraw using dwolla($0.25 transaction fee). The big problem was the lack of liquidity in the bitfloor market. We figured if we brought bitfloor prices down to mtgox prices we could attract people who didn't want to go through the onerous mtgox verification process. People were, more or less, turned off by bitfloor by the 5% markup that you pay to buy bitcoins on bitfloor. There are plenty of arbitrage bots running in European exchanges that are making money. Some are on github. I'm going to write the idea off as abandoned for now. Mtgox is crap. Bitfloor is gone. B24 has been offline for a while. The platforms just aren't there yet.
- leot 13y agoWhy people haven't deployed something like this (http://www.millenniumit.com/capital_market_solutions/ http://www.millenniumit.com/capital_market_solutions/) as part of a bank in the Cayman Islands eludes me. Yes, the upfront cost is large. But it seems likely that you'll own the market basically overnight.
- sachingulaya 13y agoIMHO, the markets aren't ready yet. 1) The available APIs sucks. MtGox's trading engine tops out at 37TPS. Thirty seven. Price swings trigger situations where you can have minutes of lag where price discovery is impossible. These are, unfortunately, the times where arbitrage is most profitable if you have reliable market data. 2) Gox's socket API magically drops cancelled orders here and there so the order book is unreliable. 3) The markets lack liquidity and, although there are profitable strategies that can be exploited, they are only going to make you a few thousand a day at most. This isn't going to attract much attention. 4) There is no historical data to backtest strategies...not that it would be helpful while bitcoin behaves like a penny stock. HFT for bitcoin is pointing a bazooka at a cockroach. Price lags between exchanges correct on the order of minutes--not milliseconds. MtGox is a toy for now. So I was(maybe still am) building a toy trading bot to match ;D.
- jzwinck 13y agoThe London Stock Exchange spent some US$30 million to buy that, and ended up with quite a few very significant production problems: http://www.computing.co.uk/ctg/analysis/2032112/lse-stricken-millennium-bugs http://www.computing.co.uk/ctg/analysis/2032112/lse-stricken....
- leot 13y agoOne hopes that many such problems would have been resolved by now. Certainly the problems can't have been worse than 60 minute+ trading lags.
- swinglock 13y agoBitstamp is quite good.
- foobarqux 13y agoHow do you do arbitrage when you can't short and can't move funds easily and quickly?
- consz 13y agoYou go long a small amount of BTC on each exchange (> your max position limit, say 3 BTC), and as long as your strategy makes more money than the carrying cost of the long position (which for any real strategy it should be paid off in days), you can arb. This is how HFTs could still market make in CAC when the uptick rule was on.
- foobarqux 13y agoI assumed we were talking about risk free or low risk arbitrage. Being long bitcoins is neither.
- consz 13y agoHow is that not low-risk arbitrage? Good HFT strategies typically have returns of 10-20% daily on capital, there's relatively little risk holding long to allow your strategy to trade when you cover the maximum possible cost of carry in a week.
- csense 13y agoSay you have $1000 and 20 bitcoins of capital to work with, and the current price of bitcoins is $50 on both exchanges. Put $500 cash and 10 bitcoins on each of the two exchanges. Then if the price rises to $55 on exchange A but doesn't move on exchange B, you can buy 10 more bitcoins on B and sell your 10 bitcoins on A for $550, you now have a balance of $1050 at A and 20 bitcoins at B. Since you started out with 20 bitcoins and $1000, and ended up with 20 bitcoins and $1050, you made $50 profit. You can only participate in trades in the other direction (buying bitcoins on A, selling on B) until and unless you can move the cash and bitcoins between the exchanges, which may take hours or days. Of course, there are a lot of assumptions built into these numbers: The numbers assume your trading is sufficiently small compared to the total market size that your operations won't change prices, and the exchanges and blockchain charge you no transaction fees. These aren't absolutely true in practice, of course, with the consequence that prices can deviate a little between exchanges without creating an arbitrage opportunity. Shorting would make things easier, because then you wouldn't have to keep the coins in your account at A in order to sell them, you could borrow them on demand, sell them, and then transfer from B or your wallet at leisure. Likewise, being able to move funds quickly would help you out by reducing the time when half of your capital is out of the game because you're moving it around (I'm assuming you'll transfer 10 bitcoins to A and $500 to B after you did the trade to get back to the original situation), and the other half is half-useless because it can only be used to trade in one direction. But neither of these features is necessary to allow you to make guaranteed profits when (or if) sufficiently large price differences appear.
- phyalow 13y agoBitfloor certainly had the best exchange connectivity. They had FIX integration for gods sake!!! Really hope more exchanges with there focus on back end connectivity pop up soon. I have a lot of FIX connectivity code just lying around now :(
- tptacek 13y agoThis is for compat's sake, right? There's some retail trader blotter app that wants to push trades out in FIX? Why on earth would anyone build a new FIX implementation in 2013 otherwise?
- jzwinck 13y agoBecause if you speak FIX you can trade most of the electronically-tradable instruments in the world. There's no other protocol like that. The only credible effort I've seen to change this is http://blinkprotocol.org/ http://blinkprotocol.org/ but that was only born a few months ago, so we can't say FIX will be obsolete anytime soon.
- phyalow 13y agoOUCH and ITCH as far as I am aware are the only other protocols that are anywhere near as close in adoption within the industry to FIX! Thanks for pointing out blink looks interesting.