O recurso está a ser carregado... Carregamento...

Introdução ao suporte de Lead-Lag na moeda digital (2)

Autora:Ervas daninhas, Criado: 2024-12-18 11:16:41, Atualizado: 2024-12-18 16:54:28

Apresentação de Sushi

No primeiro artigo, provavelmente, foi apresentado como o fenômeno do lead-lag é desvantagem, este artigo vai abordar principalmente o desvantagem de desvantagem entre os mercados. Seu princípio básico é aproveitar o fenômeno do atraso de preços entre os diferentes mercados ("efeito lead-lag"), porque a liquidez do mercado, a velocidade de transação e o atraso da rede de cada mercado são diferentes, o que faz com que o preço da mesma moeda em diferentes mercados seja frequentemente diferente. Os desvantagens podem ser realizadas rapidamente, obtendo lucros sem risco, monitorando essa mudança de preço.

Como aproveitar o efeito de Lead-Lag?

1. Monitorar a diferença de preços

Em primeiro lugar, os negociantes precisam monitorar em tempo real as diferenças de preços entre os diferentes mercados, especialmente o preço de venda e o preço de compra. Ao acompanhar o preço de venda do mercado A e o preço de compra do mercado B, se o preço de venda do mercado A for inferior ao preço de compra do mercado B, pode ser considerado uma oportunidade de venda. Por exemplo, o preço de venda do mercado A é de 10.000 USDT e o preço de compra do mercado B é de 10.100 USDT, o que significa que o preço é diferente de 100 USDT.

2. Execução de intercâmbio

Uma vez que uma oportunidade de leilão é encontrada, o leilão deve comprar um ativo em um mercado com um preço de venda mais baixo, como o Exchange A, e vender em um mercado com um preço de compra mais alto, como o Exchange B. Esta operação pode ser realizada por meio de automação de API, para garantir uma execução rápida e maximizar a diferença de preço. No entanto, no momento da execução do negócio, os custos de transação, como taxas e pontos de deslizamento, e o impacto de preço devem ser considerados. Suponha que a taxa de transação do Exchange A seja de 0,1%, e a taxa de deslizamento do Exchange B seja de 0,2%, enquanto o mercado existe pontos de deslizamento.

Se considerarmos os pontos de deslizamento e os custos de manutenção, o custo real de compra e o lucro da venda ficam muito distantes dos esperados.

3. O equilíbrio está no final.

A última etapa do equilíbrio é o equilíbrio. Por exemplo, depois de algum tempo, o preço de compra do exchange A é de 10,100 USDT e o preço de venda do exchange B é de 10,150 USDT, e quando o diferencial de preço se reduz de 100 USDT para 50 USDT, o processo termina automaticamente. É claro que, em alguns casos, o diferencial ainda pode continuar a se expandir, pode continuar a ser aberto, sabendo que os fundos estão esgotados.

Problemas e estratégias de resolução em prática

1. Nenhuma oportunidade de negociação

A diferença de preços entre as diferentes bolsas não é muito grande, ou será rapidamente estabilizada, devido à presença de um grande número de negociantes e negociantes. Este é o maior problema enfrentado pela negociação de arbitragem.

Estratégias de solução:

  • Esperando a formação natural da diferença de preçosO mercado de moedas digitais é altamente volátil, geralmente com diferenças de preços curtas, e esperar pacientemente é a melhor maneira de resolver esse problema.
  • Usando a política do makerAtividade de compra e venda de pedidos em um livro de pedidos de uma bolsa, e ajuste de retirada contínuo com as mudanças de preço, se um transação, o outro para comer o pedido.
  • Monitorar mais pares de transaçõesNão se pode apenas olhar para as moedas tradicionais, que geralmente são capturadas por grandes quantidades de negociantes, o que faz com que as diferenças de preços diminuam. As moedas frias e as moedas novas podem gerar grandes diferenças de preços devido à baixa liquidez e menor concorrência.
  • Escolha uma pequena bolsaOs pequenos mercados geralmente são mais propensos a grandes diferenças de preços devido à baixa liquidez e ao ajuste lento dos preços. Nesse caso, os investidores podem optar por colocar um pedido e executá-lo antecipadamente para obter lucros.
  • Escolha o mercado de alto limiteA maior parte das transações é feita por pessoas que não possuem conhecimento de mercado, como a Upbit, na Coreia do Sul.

2. Diferença de preços e de monitoramento muito grande

O fracasso do pedido é um problema comum, quando o processo encontra que o diferencial é desviado, o resultado é que o diferencial da transação real não é tão grande e muitas vezes é um prejuízo.

Estratégias de solução:

  • Otimizar a localização da rede e do servidorPor exemplo, a escolha de trocas menores com baixa liquidez pode reduzir a velocidade de reação do mercado e assim tomar a dianteira.
  • Processamento assíncrono com o WebSocketO código assíncrono e o WebSocket são usados para conectar o mercado, recebendo informações de preços em tempo real e reagindo rapidamente, evitando a perda de oportunidades devido ao atraso da informação.

3. Transação de uma perna

Os negócios com uma única perna indicam que um dos lados da operação foi concluído e o outro não conseguiu, o que geralmente ocorre em situações de rápida flutuação do mercado. Se apenas um dos lados da ordem for bem-sucedido, o corretor enfrenta o risco de furto.

Estratégias de solução:

  • Instalar um mecanismo razoável de contenção de prejuízosO que é mais importante é que você não tenha que se preocupar com o que você está fazendo, mas sim com o que você está fazendo.
  • Ordenar pelo preço do mercadoO problema é que a diferença de preços é incontrolável e pode resultar em prejuízos.

4. Uma única bolsa está lotada

Quando o diferencial existe por um longo período, o capital de um mercado é comprado rapidamente e o negociante pode não poder continuar a operar com o diferencial. Neste caso, o negociante precisa transferir rapidamente o capital ou ajustar a posse.

Estratégias de solução:

  • Operação de transferência de moedaOs investidores podem utilizar o método de transferência de moeda entre as bolsas para transferir fundos e continuar com os dividendos.
  • Esperando que a diferença se torneA diferença de preço é uma opção, considerando o custo do tempo de transferência.

Demonstração de código

O código não é código de disco real e é usado apenas para demonstração, caso não se considere o número de discos, falhas de acesso à API, erros de uso, aceleração de ordens em desacordo, etc.


// symbol 是套利的交易对,比如 BTC/USDT
let symbol = "BTC_USDT";

// 设置手续费、滑点、开仓和平仓的利润率
let fee = 0.1 / 100;      // 0.1% 手续费
let slippage = 0.1 / 100; // 0.1% 滑点
let entryThreshold = 0.005; // 开仓阈值:价差大于0.5%时开仓
let exitThreshold = 0.001;  // 平仓阈值:价差回归到0.1%时平仓

// 每次循环执行的具体操作
function OnTick() {
    // 获取各个交易所的行情数据
    let tickers = exchanges.map(exchange => exchange.GetTicker(symbol));

    // 计算套利机会(基于利润率)
    // profitAB: 从交易所0买入,从交易所1卖出
    const profitAB = (tickers[1].bid - tickers[0].ask) / tickers[0].ask - fee * 2 - slippage * 2;
    // profitBA: 从交易所1买入,从交易所0卖出
    const profitBA = (tickers[0].bid - tickers[1].ask) / tickers[1].ask - fee * 2 - slippage * 2;

    // 打印日志
    Log(`Tickers: Exchange0 Buy: ${tickers[0].ask}, Exchange1 Sell: ${tickers[1].bid}, Profit AB: ${profitAB} USDT`);
    Log(`Tickers: Exchange1 Buy: ${tickers[1].ask}, Exchange0 Sell: ${tickers[0].bid}, Profit BA: ${profitBA} USDT`);

    // 根据利润判断是否执行套利操作
    if (profitAB > entryThreshold) {  // 当利润大于开仓阈值时开仓
        Log(`套利机会:从交易所0买入BTC,从交易所1卖出,利润:${profitAB} USDT`);
        executeArbitrage(0, 1, tickers[0].ask, tickers[1].bid, profitAB);  // 从交易所0买入并在交易所1卖出
    } else if (profitBA > entryThreshold) {
        Log(`套利机会:从交易所1买入BTC,从交易所0卖出,利润:${profitBA} USDT`);
        executeArbitrage(1, 0, tickers[1].ask, tickers[0].bid, profitBA);  // 从交易所1买入并在交易所0卖出
    } else if (profitAB < exitThreshold) {  // 如果价差回归,平仓
        Log(`平仓:从交易所0买入并在交易所1卖出的套利机会,利润已回归至平仓阈值`);
        closeArbitrage(0, 1, tickers[0].ask, tickers[1].bid); // 执行平仓操作
    } else if (profitBA < exitThreshold) { 
        Log(`平仓:从交易所1买入并在交易所0卖出的套利机会,利润已回归至平仓阈值`);
        closeArbitrage(1, 0, tickers[1].ask, tickers[0].bid); // 执行平仓操作
    } else {
        Log("没有足够的利润进行套利或平仓");
    }
}

// 执行套利交易
function executeArbitrage(buyExchangeIndex, sellExchangeIndex, buyPrice, sellPrice) {
    let buyExchange = exchanges[buyExchangeIndex];
    let sellExchange = exchanges[sellExchangeIndex];

    // 获取账户余额(假设为BTC余额)
    let accountBuy = buyExchange.GetAccount();
    let accountSell = sellExchange.GetAccount();
    
    let amountBTC = Math.min(accountBuy.Balance / buyPrice, accountSell.Amount);

    // 假设每次交易量为 0.1 BTC
    let amount = Math.min(amountBTC, 0.1);

    // 确保交易量充足
    if (amount <= 0) {
        Log("余额不足,无法进行套利");
        return;
    }

    // 在买入交易所挂单买入
    Log(`在交易所${buyExchangeIndex} 下单买入 ${amount} BTC @ ${buyPrice}`);
    buyExchange.Buy(symbol, buyPrice * (1 + slippage), amount);

    // 在卖出交易所挂单卖出
    Log(`在交易所${sellExchangeIndex} 下单卖出 ${amount} BTC @ ${sellPrice}`);
    sellExchange.Sell(symbol, sellPrice * (1 - slippage), amount);
}

// 平仓操作
function closeArbitrage(buyExchangeIndex, sellExchangeIndex, buyPrice, sellPrice) {
    let buyExchange = exchanges[buyExchangeIndex];
    let sellExchange = exchanges[sellExchangeIndex];

    // 获取账户余额(假设为BTC余额)
    let accountBuy = buyExchange.GetAccount();
    let accountSell = sellExchange.GetAccount();

    let amountBTC = Math.min(accountBuy.Balance / buyPrice, accountSell.Amount);
    let amount = Math.min(amountBTC, 0.1);

    // 在买入交易所挂单卖出
    Log(`在交易所${buyExchangeIndex} 平仓卖出 ${amount} BTC @ ${buyPrice}`);
    buyExchange.Sell(symbol, buyPrice * (1 - slippage), amount);

    // 在卖出交易所挂单买入
    Log(`在交易所${sellExchangeIndex} 平仓买入 ${amount} BTC @ ${sellPrice}`);
    sellExchange.Buy(symbol, sellPrice * (1 + slippage), amount);
}

// 主循环
function main() {
    while (true) {
        OnTick();
        Sleep(1000); // 每秒钟执行一次
    }
}

Resumo

O Lead-Lag Moving Swap é uma estratégia de arbitragem de intercâmbio baseada na resposta do mercado ao atraso. Ao analisar com precisão as diferenças de preços do mercado e executar rapidamente os negócios, o broker consegue obter lucros estáveis no mercado de moeda digital. No entanto, o sucesso da estratégia não depende apenas do design da estratégia em si, mas também da boa execução e da sensibilidade ao momento do mercado.


Mais.