Author

Topic: 10 to 20 btc bounty for open source arb bot development (Read 1547 times)

newbie
Activity: 10
Merit: 0
OK guys so here's my preliminary stab at the specs - really not very complex for this initial version. My main intention is to keep it very simple to conceptualise and implement. If you can think of a better way, please share.

Overview
Simple ARB bot that is ready to run out of the box - no coding required for users to download and use it.

The ARB bot in it's initial form would not move / manage funds beyond alerting the user if any one of the wallet balances go below or above a specified range.

The user would configure their minimum acceptable margin with a combination of two factors - percentage of ticket size and in absolute terms on the received currency.

The user would start it, and as the bot successfully trades it would keep the user updated with emails and alert them when funds need to be manually managed.

The bot should support being run against ANX.HK and one or both of MTGOX and BITSTAMP

Specs
  • ANX.HK and BITSTAMP
  • BTC and USD
  • User configures trade size in BTC
  • Bot checks (ideally using quote) at (configurable) periodic interval if there is a positive margin between buying BTC on one exchange, or selling on the other
  • If the potential margin is > (a configurable percentage of the usd order size) + (a configurable received USD absolute amount) the appropriate buy/sell order is placed on each exchange
  • The orders should be placed at the limit price that would be equivalent to the minimum acceptable margin based on the above parameters. This should help reduce the frequency of situations where one side fails to execute.
  • After a configurable execution pause, the BOT checks the status of the orders - if the trades have fully executed, no action needs to be taken. If neither order has executed both should be cancelled, with a (recursive) check to ensure the cancellations were successful. If the trades were partially executed, a reverse trade at market for the created exposure should be executed on the most appropriate exchange to close the open position.
  • Rinse, repeat
  • The user should be alerted via email or another mechanism if any balance (USD or BTC) falls below or rises above a preconfigured amount
  • Trades should be stopped if any balance falls below a configurable "halt" parameter
  • The profit or loss for actual executions should be recorded so the user can clearly see the strategy outcomes
  • apache 2 or another liberal open source license

Desirable
  • The app should be a web app, written in a cross platform language, with authentication and https configured
  • The app should keep track of it's own order identifiers so the user can have other orders and strategies running in their account without confusing the bot

Next
Firm up the specs by discussion on this thread, get a feel for a fair bounty and who is interested in participating, go.
newbie
Activity: 10
Merit: 0
gweedo a friend added ANX support and created a pull request.

If you create an ANX account and PM me the details I'll flip you 1/2 a BTC to check it out if you get a chance.
newbie
Activity: 10
Merit: 0
wow thanks some good responses here.

I've looked at guido's framework - nice and simple, and I like daybyter's framework as well.

Ideally I'd like help open source something that actually lets people run a simple arb strategy, without having to code it.

I'm still thinking about it - but expect a response from me over the w/e

cheers
legendary
Activity: 965
Merit: 1000
Every exchange API implementation has a method

getFeeForOrder()

https://github.com/ReAzem/cryptocoin-tradelib/blob/master/core/src/de/andreas_rueckert/trade/site/TradeSite.java

and you can pass an order (before you actually trade) to get an hopefully acurrate price for this order execution.

But things are actually quite complicated in some cases and my code does not handle every situation 100% accurate, because I implement stuff, as I actually use it.

One problem are the fees on some exchanges, that change with the traded volume of the user. So you trade x coins and you pay fee a for the first x/2 coins, but fee b (usually lower then a) for the other x/2 coins.

Another problem (mainly for the bots) are fees, that are paid in a different currency than the actually traded currency. So you withdraw usd from an exchange and pay x euro as the fee. You have to convert this fee to figure, if the trade would be profitable, but sometimes the conversion rates are unknown etc.

Every exchange, that has complex fees should add a method, that returns the fee for an order. So an API implementation would just pass an order to the exchange and would get the fee as a return. But most exchanges don't do it yet... Sad

So it's a moving target for every bot coder, I guess.

If anyone has a perfect solution, please post it here! Thanks!!!

hero member
Activity: 882
Merit: 501
Ching-Chang;Ding-Dong
I have an implementation, that might be helpful for you:

https://github.com/ReAzem/cryptocoin-tradelib

I use it for bot stuff, like this one:


How does your bot handle withdraw/deposit fees and such?         
legendary
Activity: 965
Merit: 1000
I have an implementation, that might be helpful for you:

https://github.com/ReAzem/cryptocoin-tradelib

I use it for bot stuff, like this one:

newbie
Activity: 10
Merit: 0
Thanks for the comments.

Agreed - I'll write up the terms of reference after I have a feel for the interest. I don't think escrow is necessary - but perhaps a couple of payments at key milestones would reduce that perceived counterparty risk.

What do you think the most popular (and suitable) open source trading bot is?

cheers
full member
Activity: 175
Merit: 100
I'm interested. I think you need to write requirements point by point.
ex. compare prices in expected depth and market fee, check lag, perform buy/sell, conditional buy on successful sell, transfer btc, transfer fiat, etc.
You are quite new user so escrow the bounty to some well known person on the forum would be good idea.
newbie
Activity: 10
Merit: 0
Thanks for the speedy response.

I'll let this thread go for a few days,  and possibly reach out after that.

In the mean time I will check out your bot.

cheers
legendary
Activity: 1498
Merit: 1000
Well the only hard part is getting funds to other exchanges when you are dealing with fiat, so the only arb options would be on the bitcoin side. I could write this but I need a better scope, and would require it to not be a bounty but a paid job, since bounties just encourage poor quality and just make it a race to get something that works. Not something you really want with a bot.

This is my bot framework, that would be the bases for this program https://github.com/italiano40/Bitcoin-Trading-bot, if you want to give me the job pm me.
newbie
Activity: 10
Merit: 0
Hi,

ANX.HK recently released a gox v2 compatible rest api.

We have a safe,  legal,  and reputable business,  and now we would like to attract more customers to try our exchange.

As such we feel paying for the development of an open source bot capable of arbing across us and the other exchanges could be a fair activity.

Is anyone interested in taking on this bit of work?

We would want it to meet a certain quality  standard -  we will listen to you all in agreeing a fair bounty,  and also ask your help to trial / review the bot to validate it is acceptable quality.

Thoughts and input?  If there is interest we will create a github repo and publish the terms. 

Regards
Jump to: