Bitcoin Earnings bot

Bitcoin Exchanges / August 19, 2021

I receive a lot of questions from people who want to hear hard numbers about what kind of yield you can get with an arbitrage strategy. There are so many different options for how you run your strategy, but the math is actually pretty basic to calculate yourself.

There are two variables that matter in an arbitrage strategy:

  1. The 'cutoff' level. This is the minimum percentage price difference between exchanges for conducting arbitrage. A higher cutoff will result in higher profit per trade, but will occur more rarely.
  2. The volume of currency you wish to trade during every arbitrage trade. This is largely based off how much you wish to invest.

Let's pick two arbitrary numbers and analyze what might happen with that scenario. We'll set cutoff to 5% and volume to 0.1 BTC.

A 5% arbitrage level is not very rare. Depending on how often you're scraping bitcoin tickers, you could find 5% price differences many times per day. bitcoin-analytics is a good place to get an idea of what current arbitrage levels are like. Let's imagine your bot scrapes price tickers once every 10 minutes and discovers arbitrage opportunities of at least 5% 5 times per day.

Here's how you'd get started:

  1. Deposit some number of USD (or other currency) into the lower-priced exchange. Let's use btc-e for this example, as it often has very low prices. We'll deposit $1000 dollars.
  2. Deposit only the amount you need to mitigate block chain confirmation time into the higher exchange, which we'll say is MtGox. Because our hypothetical bot only scrapes once every 10 minutes, there is a very low chance that we'll trade more than once an hour. That means we only need to deposit 0.1 (our volume parameter) into MtGox.

Then our bot discovers an arbitrage opportunity over 5% (our cutoff). Imagine the price on btc-e is $1000 and on MtGox it's $1050. Here's the order of events the automated trading bot would execute:

  1. Buy 0.1 BTC on btc-e. This will cost $100.60 with fees. 0.1 * 1.006 * 1000
  2. Sell 0.1 BTC on MtGox. This will earn you $104.37 after fees. 0.1 * 0.994 * 1050