Post
Topic
Board Trading Discussion
Re: Bitcoin arbitrage on GitHub: ~2% monthly return, market-neutral long/short
by
butor
on 14/06/2016, 00:58:26 UTC

1a) Do you check for the bid/ask spread within an exchange?  If this is the case isn't this counter intuitive, since the more illiquid the market the more volatile it is? How then do you strike a balance between liquidity risk and potential volatility profits?

No, we only check the bid/ask difference between separated exchanges: bid on exchange A vs. ask on exchange B, ask on exchange A vs. bid on exchange B. We don't need to look at the bid/ask spread within an exchange to do arbitrage.


1b) A way to ensure 0% liquidity risk that I can see is by buying at the lowest ask price at Exchange 1 and selling at the highest bid price at Exchange 2. Of course this is a smaller spread, but if the markets are as volatile as they've been in the past few days then there should be a few opportunities.

This is exactly what Blackbird does. Once the spread threshold SpreadEntry is reached the system will buy at the ask and sell at the bid. This is called crossing the spread and helps ensuring an immediate execution.


2) For exchanges that offer short-selling/margin-trading but with no API to do so, have you considered pure web automation, with something like Selenium?  Of course this would be much slower than an API call. However if your polling timeframe is 5 seconds then generally speaking using a web automation framework would be well within those bounds.

I know Selenium a little bit and I don't think speed would be an issue as the tasks can be executed at a pretty fast pace. I'm sure that it might be possible to implement, but could be rather complex (credentials, order generation, waiting until the order is 100% filled, verification, etc) and not as robust as the REST calls we are using now. But technically yes I think it's definitely possible.