Arbitragem Estatística

A arbitragem estatística busca identificar relações de longo prazo entre diferentes criptomoedas e aproveitar os desvios temporários dessas relações. Os traders utilizam modelos estatísticos para identificar quando uma criptomoeda está sobrevalorizada ou subvalorizada em relação a outra e realizam transações para lucrar com a reversão à média.

Exemplo de arbitragem estatística:

  1. O trader observa uma relação histórica entre o preço do Bitcoin (BTC) e do Ethereum (ETH).

  2. O modelo estatístico mostra que, em média, o preço do BTC é 10 vezes o preço do ETH.

  3. Atualmente, o preço do BTC está 12 vezes o preço do ETH.

  4. O trader considera que o BTC está sobrevalorizado e o ETH está subvalorizado em relação à relação histórica.

  5. O trader vende BTC e compra ETH, aguardando que os preços se movam em direção à média histórica.

  6. Quando os preços se ajustam e a relação retorna à média, o trader lucra com a diferença.

Abaixo um exemplo simples irá pegar os preços do Bitcoin em duas exchanges diferentes e decidirá se há uma oportunidade de arbitragem.

import requests
import json

def get_price(exchange_url):
    response = requests.get(exchange_url)
    data = json.loads(response.text)
    return float(data['last'])

def check_arbitrage():
    # Obtenha os preços do Bitcoin nas duas exchanges
    exchange1_url = 'https://api.exchange1.com/v1/ticker/btcusd'
    exchange2_url = 'https://api.exchange2.com/v1/ticker/btcusd'
    
    price1 = get_price(exchange1_url)
    price2 = get_price(exchange2_url)

    # Se o preço na Exchange 1 for menor, compre na Exchange 1 e venda na Exchange 2
    if price1 < price2:
        print('Oportunidade de arbitragem encontrada!')
        print('Compre Bitcoin na Exchange 1 por', price1, 'USD')
        print('Venda Bitcoin na Exchange 2 por', price2, 'USD')
        print('Lucro por Bitcoin:', price2 - price1, 'USD')

    # Se o preço na Exchange 2 for menor, compre na Exchange 2 e venda na Exchange 1
    elif price2 < price1:
        print('Oportunidade de arbitragem encontrada!')
        print('Compre Bitcoin na Exchange 2 por', price2, 'USD')
        print('Venda Bitcoin na Exchange 1 por', price1, 'USD')
        print('Lucro por Bitcoin:', price1 - price2, 'USD')

    else:
        print('Nenhuma oportunidade de arbitragem encontrada')

check_arbitrage()

Last updated