4th Street Bar Hive-Bar

Hive-Bar Powered by Hive beta-fdb5b5b

Community post

Looking for arbitrage opportunies with JavaScript library ccxt supporting 70+ exchanges

Arbitrage

These days with so many alt-currencies and so many exchanges there is bound to be potential arbitrage opportunities, however identifying and acting on those opportunities is a monumental task.

To be competitive you have to automate. I've been looking through GitHub to see what code is publicly available when I discovered ccxt. https://github.com/ccxt-dev/ccxt#ccxt--cryptocurrency-exchange-trading-library

A hugely impressive code base that supports 70+ exchanges.

It's written in JavaScript for Node.js but they have transpiled versions for both Python and PHP. Here's a list of the features.

  • support for many exchange markets, even more upcoming soon
  • fully implemented public and private APIs for all exchanges
  • all currencies, altcoins and symbols, prices, order books, trades, tickers, etc...
  • optional normalized data for cross-exchange or cross-currency analytics and arbitrage
  • an out-of-the box unified all-in-one API extremely easy to integrate
  • works in Node 7.6+, Python 2 and 3, PHP 5.3+, web browsers

OK, that looks great let's play around with it and see what it can do!

You will need to install the latest Node.js https://nodejs.org/en/download/ to run the code.

Download the latest source code from https://github.com/ccxt-dev/ccxt/archive/master.zip and unzip it into the directory you would like to work with.

Next, you will need to install it's requirements. Open up the command line, navigate to the directory you unzipped cctx and run npm install. This will take a few minutes to download the packages cctx relies on.

Notice that their is a script arbitrage-pairs.js in the examples/js/ directory.

From the command line run node examples/js/arbitrage-pairs.js hitbtc2 bittrex poloniex. This will grab all the supported pairs supported by HitBTC Bittrex and Poloniex. Why those 3? Because they support trading STEEM!

Here is the output.

symbol hitbtc2 bittrex poloniex
1ST/BTC hitbtc2 bittrex
1ST/ETH hitbtc2 bittrex
ADX/ETH hitbtc2 bittrex
AEON/BTC hitbtc2 bittrex
AMP/BTC hitbtc2 bittrex poloniex
ANT/BTC hitbtc2 bittrex
ARDR/BTC hitbtc2 bittrex poloniex
BCH/BTC hitbtc2 bittrex poloniex
BCH/ETH hitbtc2 bittrex poloniex
BCH/USDT bittrex poloniex
BCN/BTC hitbtc2 poloniex
BCY/BTC bittrex poloniex
BLK/BTC bittrex poloniex
BNT/BTC hitbtc2 bittrex
BNT/ETH hitbtc2 bittrex
BTC/USDT bittrex poloniex
BTCD/BTC bittrex poloniex
BTS/BTC bittrex poloniex
BURST/BTC bittrex poloniex
CFI/BTC hitbtc2 bittrex
CFI/ETH hitbtc2 bittrex
CLAM/BTC bittrex poloniex
CVC/BTC bittrex poloniex
CVC/ETH bittrex poloniex
DASH/BTC hitbtc2 bittrex poloniex
DASH/ETH hitbtc2 bittrex
DASH/USDT bittrex poloniex
DCR/BTC bittrex poloniex
DCT/BTC hitbtc2 bittrex
DGB/BTC bittrex poloniex
DGD/BTC hitbtc2 bittrex
DOGE/BTC hitbtc2 bittrex poloniex
EDG/BTC hitbtc2 bittrex
EMC/BTC hitbtc2 bittrex
EMC2/BTC bittrex poloniex
ETC/BTC hitbtc2 bittrex poloniex
ETC/ETH hitbtc2 bittrex poloniex
ETC/USDT bittrex poloniex
ETH/BTC hitbtc2 bittrex poloniex
ETH/USDT bittrex poloniex
EXP/BTC bittrex poloniex
FCT/BTC bittrex poloniex
FLDC/BTC bittrex poloniex
FLO/BTC bittrex poloniex
FUN/BTC hitbtc2 bittrex
FUN/ETH hitbtc2 bittrex
GAME/BTC hitbtc2 bittrex poloniex
GNO/BTC hitbtc2 bittrex poloniex
GNO/ETH hitbtc2 bittrex poloniex
GNT/BTC bittrex poloniex
GNT/ETH bittrex poloniex
GRC/BTC bittrex poloniex
GUP/BTC hitbtc2 bittrex
LBC/BTC bittrex poloniex
LSK/BTC hitbtc2 bittrex poloniex
LTC/BTC hitbtc2 bittrex poloniex
LTC/USDT bittrex poloniex
LUN/BTC hitbtc2 bittrex
MAID/BTC hitbtc2 bittrex poloniex
NAV/BTC bittrex poloniex
NEOS/BTC bittrex poloniex
NXC/BTC hitbtc2 bittrex poloniex
NXT/BTC hitbtc2 bittrex poloniex
OMG/BTC bittrex poloniex
OMG/ETH hitbtc2 bittrex poloniex
OMNI/BTC bittrex poloniex
PAY/ETH hitbtc2 bittrex
PINK/BTC bittrex poloniex
POT/BTC bittrex poloniex
PPC/BTC hitbtc2 bittrex poloniex
PTOY/BTC hitbtc2 bittrex
PTOY/ETH hitbtc2 bittrex
QTUM/ETH hitbtc2 bittrex
RADS/BTC bittrex poloniex
REP/BTC hitbtc2 bittrex poloniex
REP/ETH bittrex poloniex
RLC/BTC hitbtc2 bittrex
SBD/BTC hitbtc2 bittrex poloniex
SC/BTC hitbtc2 bittrex poloniex
SNGLS/BTC hitbtc2 bittrex
SNT/ETH hitbtc2 bittrex
STEEM/BTC hitbtc2 bittrex poloniex
STRAT/BTC hitbtc2 bittrex poloniex
SWT/BTC hitbtc2 bittrex
SYS/BTC bittrex poloniex
TIME/BTC hitbtc2 bittrex
TIME/ETH hitbtc2 bittrex
TKN/BTC hitbtc2 bittrex
TRST/BTC hitbtc2 bittrex
VIA/BTC bittrex poloniex
VRC/BTC bittrex poloniex
VTC/BTC bittrex poloniex
WAVES/BTC hitbtc2 bittrex
WINGS/BTC hitbtc2 bittrex
XAUR/BTC hitbtc2 bittrex
XCP/BTC bittrex poloniex
XDN/BTC hitbtc2 bittrex
XEM/BTC hitbtc2 bittrex poloniex
XMR/BTC hitbtc2 bittrex poloniex
XMR/ETH hitbtc2 bittrex
XMR/USDT bittrex poloniex
XRP/BTC hitbtc2 bittrex poloniex
XRP/USDT bittrex poloniex
XVC/BTC bittrex poloniex
ZEC/BTC hitbtc2 bittrex poloniex
ZEC/ETH hitbtc2 bittrex poloniex
ZEC/USDT bittrex poloniex
ZRX/BTC hitbtc2 poloniex
ZRX/ETH hitbtc2 poloniex

As you can see cctx quickly grabbed a list of all the trading pairs supported by HitBTC, Bittrex and Poloniex.

Unfortunately cctx does not have an example to compare the prices. But looking at how well cctx is made I should be able to write an example to compare prices fair easily.

In the next post I will write a simple script to compare prices and find those profitable arbitrage opportunities.

Remember to up vote and follow so you don't miss out.

28 upvotes $13.47

Replies (10)

Review before signing

Posting as . Signing with . Keychain permission: Posting. Hive Keychain will ask you to approve this action next.


  
Technical details

Operation fingerprint: