Arbitragem Espacial

A arbitragem espacial envolve a exploração das diferenças de preços entre diferentes exchanges de criptomoedas. Os traders aproveitam as oportunidades de compra em uma exchange onde o preço é mais baixo e vendem naquela onde o preço é mais alto, lucrando com a diferença.

Exemplo de arbitragem espacial:

  1. O preço do Bitcoin na Exchange A é de $10.000.

  2. O preço do Bitcoin na Exchange B é de $10.200.

  3. O trader compra Bitcoin por $10.000 na Exchange A.

  4. O trader vende Bitcoin por $10.200 na Exchange B.

  5. O trader lucra $200 com a diferença de preços.

Abaixo um exemplo simplificado que compara o preço do Bitcoin entre duas exchanges, Binance e Kraken, e imprime uma mensagem se existe uma oportunidade de arbitragem.

import ccxt

binance = ccxt.binance({
    'apiKey': 'your-api-key-binance',
    'secret': 'your-api-secret-binance',
})

kraken = ccxt.kraken({
    'apiKey': 'your-api-key-kraken',
    'secret': 'your-api-secret-kraken',
})

def get_order_book(exchange, symbol):
    depth = exchange.fetch_order_book(symbol)
    bids = depth['bids']
    asks = depth['asks']

    if len(bids) == 0 or len(asks) == 0:
        raise Exception(f'Failed to load order book for {symbol} on {exchange.name}, please try again later.')

    return {
        'bid': bids[0][0],  # highest bid price
        'ask': asks[0][0]   # lowest ask price
    }

def find_arbitrage():
    btc_usdt_binance = get_order_book(binance, 'BTC/USDT')
    btc_usdt_kraken = get_order_book(kraken, 'BTC/USDT')

    if btc_usdt_binance['ask'] < btc_usdt_kraken['bid']:
        print('Buy BTC on Binance and sell on Kraken')
    elif btc_usdt_kraken['ask'] < btc_usdt_binance['bid']:
        print('Buy BTC on Kraken and sell on Binance')
    else:
        print('No arbitrage opportunity found.')

if __name__ == "__main__":
    while True:
        try:
            find_arbitrage()
        except Exception as e:
            print(str(e))

Last updated