I'm currently writing something to script arbitrage between two exchanges to test the concept.

I know I can determine the difference in prices by using

(ExhangeA_sell - ExchangeB_buy) <- this will give me the price difference. i.e. gross profit (before fee's)

My question, how do I take the fee's into account when calculating net profit?

Currently my thinking is that I add the commission % to the buy price on ExchangeA and subtract the commission % from the sell price on ExchangeB.

Any ideas on this?


  • Hi Conor, just wanted to explain the close votes that are starting to pop up on this question. It's a perfectly valid question, but because it's not specifically unique to Bitcoin, it may be better suited to a site like money.stackexchange.com or math.stackexchange.com so don't be surprised if it gets moved there. Sep 21, 2011 at 14:41

2 Answers 2


nmat: i think you got the signs wrong in there somewhere. the fees will /decrease/ your effective selling price, and /increase/ your effective purchase price. so it should in fact be:

ExchangeA_sell * (1 - ExchangeA_fee) - ExchangeB_buy * (1 + ExchangeB_fee)

and also, you should take into account any deposit/withdrawal fees (E.g., when you withdraw via LR from mtgox, that's a 2% hit, when you use dwolla, that's 0.25USD fee, etc) that you'd incur when moving money between the exchanges.


It's pretty simple. Like you said, you only have to add the fees to the selling price and subtract them from the buying price. Considering that the fee is a number between 0 and 1 that represents the percentage, here is an example:

ExchangeB_bidPrice * (1 - ExchangeB_fee) - ExchangeA_askPrice * (1 + ExchangeA_fee)

This will give you the profit per coin for buying at ExchangeA and selling at ExchangeB.

Not the answer you're looking for? Browse other questions tagged or ask your own question.