2
focar em
410
Seguidores

Uma maneira estável de enriquecer rapidamente com criptomoedas? A verdade, desde publicações populares do Zhihu até testes retrospectivos no mundo real.

Criado em: 2026-01-08 15:11:50, atualizado em: 2026-01-23 10:48:21
comments   2
hits   275

[TOC]

Uma maneira estável de enriquecer rapidamente com criptomoedas? A verdade, desde publicações populares do Zhihu até testes retrospectivos no mundo real.

Origem: Um sonho de arbitragem aparentemente perfeito

Recentemente, me deparei com uma publicação no Zhihu com um título muito tentador: “Uma maneira estável de ficar rico rapidamente no mundo das criptomoedas: de 3000U para 12000U em três meses”.

Eu apenas ri. Estável? Enriquecimento rápido? Juntar essas duas palavras geralmente significa uma de duas coisas: ou é um golpe, ou você é alguém que ainda não se deparou com um evento do cisne negro.

No entanto, como desenvolvedor de negociação quantitativa, não resisti à tentação de clicar para dar uma olhada quando vi a descrição dessa estratégia.

Essa teoria afirma o seguinte:

  1. O BTC é líder no mundo das criptomoedas.Suas flutuações de preço são definitivamente maiores do que as de suas contrapartes menores (ETH, SOL, etc.).
  2. O mercado em alta chegou.O BTC está em alta → Compre BTC e venda ETH → Lucre com a diferença de preço.
  3. O mercado em baixa chegou.O BTC está caindo drasticamente → Vender BTC a descoberto + comprar ETH → Ainda é uma maneira segura de lucrar com a diferença de preço.

Uma maneira estável de enriquecer rapidamente com criptomoedas? A verdade, desde publicações populares do Zhihu até testes retrospectivos no mundo real.

Após a leitura, fiquei imerso em profunda reflexão…

Parece, talvez, possivelmente, quem sabe, espero, desejo, talvez faça algum sentido?

Primeira versão do código: Um Começo Ingênuo

Sem mais delongas, vamos abrir a Plataforma de Quantificação de Inventores e começar!

A lógica mais simples:

// 伪代码
if (btcChange > 2%) {
    开多 1手 BTC
    开空 1手 ETH
}

Após terminar de escrever o código, cliquei com confiança no backtest e então…

Primeiro backtest

Estamos perdendo dinheiro a rodo.

Ao ver a curva de patrimônio líquido despencar, fui tomado por profundas dúvidas.

Código da Segunda Edição: Cobertura Científica

Onde residia o problema? A arte da proteção beta.

Pensando bem, o problema é óbvio:

1 lote de BTC ≠ 1 lote de ETH

O Bitcoin está valendo atualmente US\( 100.000 cada, enquanto o Ethereum está em torno de US\) 3.000. Se você usar uma proporção de 1:1 para proteção, isso não é proteção, é jogar dinheiro fora.

Uma estratégia de hedge adequada precisa considerar:

  • Relação de preços:BTC/ETH ≈ 30:1
  • Diferença de volatilidadeCorrelação dos retornos entre os dois
  • Valor nominal do contratoO contrato perpétuo de BTC da OKX equivale a 0,01 BTC e o contrato perpétuo de ETH equivale a 0,1 ETH.

Implementação completa da proteção beta

Este código é o mecanismo de cálculo principal da estratégia, que implementa integralmente o cálculo do coeficiente Beta do ETH em relação ao BTC. O coeficiente Beta representa duas informações essenciais: a relação entre os preços dos ativos subjacentes e a correlação de volatilidade, que determina diretamente a proporção que precisa ser protegida.

// 计算ETH相对BTC的Beta系数
function calculateBeta(btcRecords, ethRecords, lookback) {
    // 数据不足时的降级处理
    if (btcRecords.length < lookback + 1 || ethRecords.length < lookback + 1) {
        Log("⚠️ K线数据不足,使用当前价格比作为默认Beta")

        let btcPrice = btcRecords[btcRecords.length - 1].Close
        let ethPrice = ethRecords[ethRecords.length - 1].Close
        let defaultBeta = btcPrice / ethPrice

        betaInfo.currentBeta = defaultBeta
        betaInfo.correlation = 0
        betaInfo.priceRatio = defaultBeta
        betaInfo.returnBeta = 1.0
        betaInfo.lastUpdate = new Date().toLocaleString()

        Log("  默认Beta =", _N(defaultBeta, 2), "| 价格比:", _N(btcPrice, 0), "/", _N(ethPrice, 0))
        return defaultBeta
    }

    let btcReturns = []
    let ethReturns = []
    let priceRatios = []

    // 第一步:计算日收益率 + 历史价格比
    for (let i = btcRecords.length - lookback; i < btcRecords.length; i++) {
        // 日收益率 = (今日收盘 - 昨日收盘) / 昨日收盘
        let btcRet = (btcRecords[i].Close - btcRecords[i-1].Close) / btcRecords[i-1].Close
        let ethRet = (ethRecords[i].Close - ethRecords[i-1].Close) / ethRecords[i-1].Close

        btcReturns.push(btcRet)
        ethReturns.push(ethRet)

        // 记录每天的价格比
        let ratio = btcRecords[i].Close / ethRecords[i].Close
        priceRatios.push(ratio)
    }

    // 第二步:计算历史平均价格比
    let avgPriceRatio = priceRatios.reduce((a, b) => a + b, 0) / priceRatios.length

    // 第三步:计算价格比的波动性
    let priceRatioVariance = 0
    for (let i = 0; i < priceRatios.length; i++) {
        let diff = priceRatios[i] - avgPriceRatio
        priceRatioVariance += diff * diff
    }
    priceRatioVariance /= (priceRatios.length - 1)
    let priceRatioStd = Math.sqrt(priceRatioVariance)
    let priceRatioCv = priceRatioStd / avgPriceRatio  // 变异系数

    // 第四步:计算收益率的均值
    let btcMean = btcReturns.reduce((a,b) => a+b, 0) / btcReturns.length
    let ethMean = ethReturns.reduce((a,b) => a+b, 0) / ethReturns.length

    // 第五步:计算协方差和方差
    let covariance = 0
    let btcVariance = 0
    let ethVariance = 0

    for (let i = 0; i < btcReturns.length; i++) {
        let btcDiff = btcReturns[i] - btcMean
        let ethDiff = ethReturns[i] - ethMean
        covariance += btcDiff * ethDiff
        btcVariance += btcDiff * btcDiff
        ethVariance += ethDiff * ethDiff
    }

    covariance /= (btcReturns.length - 1)
    btcVariance /= (btcReturns.length - 1)
    ethVariance /= (ethReturns.length - 1)

    // 第六步:计算收益率Beta
    // Beta = Cov(ETH, BTC) / Var(BTC)
    let returnBeta = covariance / btcVariance

    // 第七步:计算相关系数
    // 相关系数 = Cov(ETH, BTC) / (Std(BTC) × Std(ETH))
    let correlation = covariance / Math.sqrt(btcVariance * ethVariance)

    // 第八步:最终Beta = 历史平均价格比 × 收益率Beta
    let finalBeta = avgPriceRatio * returnBeta

    // 第九步:限制Beta范围,避免极端值
    let minBeta = avgPriceRatio * 0.5
    let maxBeta = avgPriceRatio * 2.0
    finalBeta = Math.max(minBeta, Math.min(maxBeta, finalBeta))

    // 第十步:获取当前价格比
    let currentBtcPrice = btcRecords[btcRecords.length - 1].Close
    let currentEthPrice = ethRecords[ethRecords.length - 1].Close
    let currentPriceRatio = currentBtcPrice / currentEthPrice

    // 更新Beta信息到全局
    betaInfo.currentBeta = finalBeta
    betaInfo.correlation = correlation
    betaInfo.returnBeta = returnBeta
    betaInfo.avgPriceRatio = avgPriceRatio
    betaInfo.currentPriceRatio = currentPriceRatio
    betaInfo.priceRatioStd = priceRatioStd
    betaInfo.priceRatioCv = priceRatioCv
    betaInfo.lastUpdate = new Date().toLocaleString()

    return finalBeta
}

Funções principais e lógica

  1. Validação de dados e processamento de degradaçãoVerifique se existem dados históricos suficientes; caso contrário, utilize diretamente a relação de preços atual para garantir que a estratégia possa ser executada sempre.
  2. Cálculo da série de retornosConverter dados de preços em rendimento elimina a influência das dimensões de preço absoluto, tornando os ativos com preços diferentes comparáveis.
  3. Cálculos Essenciais para Análise Estatística
    • CovariânciaMede a direção e a intensidade da correlação entre os rendimentos do BTC e do ETH.
    • variânciaMede a volatilidade do próprio rendimento do BTC.
    • Beta de rendimentoCov(ETH,BTC) / Var(BTC)Isso indica a sensibilidade dos retornos do ETH às mudanças nos retornos do BTC.
    • Coeficiente de correlaçãoA covariância padronizada reflete o grau de correlação linear.
  4. Síntese Beta AbrangenteBeta final = Razão média histórica de preços × Beta de retorno. Isso leva em consideração tanto a diferença no preço do ativo subjacente (por exemplo, o BTC é 30 vezes mais caro que o ETH) quanto a diferença na volatilidade (por exemplo, a volatilidade do ETH é 0,8 vezes a do BTC). Por exemplo, se a razão de preços for 30 e o Beta de retorno for 0,8, então o Beta final = 24, o que significa que para fazer hedge de 1 BTC são necessários 24 ETH.
  5. Mecanismos de controlo de riscosEstabeleça limites razoáveis ​​para o valor Beta a fim de evitar o cálculo de índices de hedge irrazoáveis ​​devido a condições extremas de mercado no curto prazo.

Após o lançamento da versão Beta, foi necessário preencher a lacuna entre a teoria e a realidade, convertendo os coeficientes teóricos em quantidades negociáveis ​​na bolsa. Esta parte do código realizou essa conversão crucial.

// 计算对冲张数
function calculateHedgeAmount(beta) {
    let btcCoinAmount = config.btcCoinAmount  // 0.1 BTC
    let ethCoinAmount = btcCoinAmount * beta  // ETH数量 = 0.1 × Beta

    // 转换成合约张数
    let btcContracts = Math.floor(btcCoinAmount / contractInfo.btcCtVal)
    btcContracts = Math.max(1, btcContracts)  // 至少1张

    let ethContracts = Math.floor(ethCoinAmount / contractInfo.ethCtVal)
    ethContracts = Math.max(1, ethContracts)

    // 实际开仓的币数
    let actualBtcCoins = btcContracts * contractInfo.btcCtVal
    let actualEthCoins = ethContracts * contractInfo.ethCtVal

    Log("🎯 对冲计算 | Beta:", _N(beta, 3),
        "\n  BTC: ", _N(actualBtcCoins, 4), "币 =", btcContracts, "张 (CtVal:", contractInfo.btcCtVal, ")",
        "\n  ETH: ", _N(actualEthCoins, 4), "币 =", ethContracts, "张 (CtVal:", contractInfo.ethCtVal, ")",
        "\n  实际比例:", _N(actualEthCoins / actualBtcCoins, 3))

    return {
        btc: btcContracts,
        eth: ethContracts,
        btcCoins: actualBtcCoins,
        ethCoins: actualEthCoins,
        beta: beta
    }
}

Etapas principais de conversão

  1. Determine o tamanho da posição baseDefina um valor base de BTC (por exemplo, 0,1) com base na configuração, que servirá como “âncora” para toda a carteira de hedge.
  2. Cálculo teórico de moedasQuantidade teórica de ETH = Quantidade base de BTC × Coeficiente Beta.
  3. Conversão do valor nominal do contratoO passo prático mais crucial é dividir o número teórico de moedas pelo “valor do contrato” (CtVal) de cada contrato. Por exemplo, um contrato de BTC pode representar 0,01 BTC e um contrato de ETH pode representar 0,1 ETH, obtendo-se assim o número de contratos.
  4. IntegralizaçãoO arredondamento para baixo garante que as negociações sejam feitas em contratos inteiros, com um mínimo de um contrato. Simultaneamente, a proporção de negociações reais é calculada de forma inversa para cálculos subsequentes e precisos de lucros e perdas.

Lógica de abertura e fechamento

Esta seção aborda a execução da estratégia e o controle de risco, traduzindo o plano de hedge calculado em operações de negociação reais e gerenciando o risco. A lógica de entrada é ilustrada aqui, usando uma posição comprada como exemplo; uma posição vendida pode ser compreendida da mesma forma.

projeto de condição de disparoO sistema emprega uma condição dupla: aumento do preço do BTC superior a 2% e aumento do preço do BTC superior ao aumento do preço do ETH. Isso garante volatilidade de mercado suficiente e que a relação de força relativa esperada se mantenha.

// BTC涨 > 2% 且涨幅大于ETH → 开多BTC + 开空ETH
if (btcChange > 0.02 && btcChange > ethChange) {
    let amounts = calculateHedgeAmount(beta)

    // 先开BTC多单
    let btcOrder = createMarketOrder(config.btcSymbol, "buy", amounts.btc)
    if (!btcOrder) {
        Log("❌ BTC开多失败")
        return null
    }

    // 再开ETH空单
    let ethOrder = createMarketOrder(config.ethSymbol, "sell", amounts.eth)
    if (!ethOrder) {
        Log("❌ ETH开空失败,回滚BTC")
        createMarketOrder(config.btcSymbol, "closebuy", amounts.btc)
        return null
    }

    Log("🟢 开仓完成 | Beta:", _N(beta, 3))
}

Execução de transação atômicaA execução é sequencial e inclui um mecanismo de rollback. Primeiro, abra uma posição comprada em BTC; se bem-sucedida, abra uma posição vendida em ETH. Se a ordem de ETH falhar, feche imediatamente a posição comprada em BTC para garantir a integridade da posição e evitar a exposição a riscos unilaterais.

A seguir, apresentamos uma demonstração da lógica de fechamento:

Lucro e prejuízo calculados por moedaO lucro e a perda totais das duas posições são calculados com base no número de moedas abertas, e o efeito geral da proteção é determinado.

  • Lucro/prejuízo da posição comprada em BTC = (preço atual - preço de abertura) × número de BTC mantidos
  • Lucro/prejuízo da posição vendida em ETH = (preço de abertura - preço atual) × número de ETH mantidos

configurações de limite de controle de riscoO desempenho geral da carteira é avaliado e linhas assimétricas de realização de lucros (+3%) e de stop-loss (-1%) são definidas para buscar valor esperado positivo.

// 按币数计算盈亏
function checkClose(pos, btcTicker, ethTicker) {
    let btcPnlUsd, ethPnlUsd

    if (pos.type === 'long_btc_short_eth') {
        // BTC多单盈亏 = (当前价 - 开仓价) × 币数
        btcPnlUsd = (btcTicker.Last - pos.btcPrice) * pos.btcCoinAmount
        // ETH空单盈亏 = (开仓价 - 当前价) × 币数
        ethPnlUsd = (pos.ethPrice - ethTicker.Last) * pos.ethCoinAmount
    } else {
        btcPnlUsd = (pos.btcPrice - btcTicker.Last) * pos.btcCoinAmount
        ethPnlUsd = (ethTicker.Last - pos.ethPrice) * pos.ethCoinAmount
    }

    let totalPnlUsd = btcPnlUsd + ethPnlUsd
    let totalCost = pos.btcPrice * pos.btcCoinAmount + pos.ethPrice * pos.ethCoinAmount
    let totalPnlPct = totalPnlUsd / totalCost

    // 止盈: +3%
    if (totalPnlPct >= 0.03) {
        return {close: true, reason: '✅止盈', pnl: totalPnlPct, pnlUsd: totalPnlUsd}
    }
    // 止损: -1%
    if (totalPnlPct <= -0.01) {
        return {close: true, reason: '🛑止损', pnl: totalPnlPct, pnlUsd: totalPnlUsd}
    }

    return {close: false, pnl: totalPnlPct, pnlUsd: totalPnlUsd}
}

O teste foi refeito e os resultados foram…

Segundo teste retrospectivo

A curva finalmente está subindo!

Análise de dados de backtesting

De outubro de 2025 a janeiro de 2026, aproximadamente 3 meses:

Desempenho do fundo

  • Capital inicial: US$ 50.000
  • Patrimônio líquido final: US$ 51.095
  • Retorno total: Aproximadamente 2,2%
  • Rebaixamento máximo: Mantenha dentro de uma faixa razoável.

Estatísticas de transações

  • Número de oportunidades de realização de lucros: 6
  • Número de ordens stop-loss: 14
  • Taxa de vitórias: 30%

A verdadeira conclusão

Após testes retrospectivos completos, esta estratégia foi validada:

✅ Peças teoricamente viáveis:

  1. A proteção beta pode, de fato, reduzir o risco unilateral.
  2. A reversão da relação de preços oferece oportunidades de arbitragem.
  3. As ordens de stop-loss e take-profit podem proteger os lucros.

⚠️ Problemas do mundo real:

  1. Baixos retornosA margem de lucro foi de apenas 30%, com um retorno acumulado de 2,2% em três meses, muito aquém do retorno quatro vezes maior alegado na publicação.
  2. Poucas oportunidades para abrir uma vagaO limite de 2% restringe a frequência de abertura de posições.
  3. Taxas de transaçãoA abertura e o fechamento frequentes de posições consumirão grande parte dos lucros.
  4. Risco de deslizamentoO trading em tempo real pode apresentar desempenho inferior ao backtesting.
  5. Condições extremas de mercadoSe tanto o BTC quanto o ETH sofrerem uma alta/desvalorização simultânea, o mecanismo de hedge falhará.

🔍 Áreas para otimização:

  1. Rotação de múltiplas moedasEle não só pode proteger contra a volatilidade do ETH, como também contra SOL, BNB, etc.
  2. Dinâmica de desvalorizaçãoAjustar os limites de entrada com base na volatilidade.
  3. Resfriamento Stop LossNão abra uma nova posição imediatamente após a colocação de uma ordem de stop-loss.
  4. Cobertura Delta de VolatilidadeAlém do beta de preço, também é possível considerar a proteção contra a volatilidade.
  5. Gestão de fundosAjuste dinamicamente a proporção de capital para cada abertura de posição.

Em conclusão: A importância da quantificação

Esse é o fascínio da negociação quantitativa:

Comece com uma ideia → Escreva o código para implementá-la → Faça backtesting para verificar → Otimize e melhore

A estratégia descrita naquele post do Zhihu era sólida, mas o diabo está nos detalhes:

  • Sem a estratégia de hedge beta, é apenas uma aposta na direção.
  • Sem um mecanismo de controle de riscos, é como correr nu.
  • Sem verificação por meio de testes retroativos, é apenas ilusão.

O verdadeiro trading quantitativo envolve validar cada ideia com dados, implementar cada estratégia com código e registrar cada operação.

Se você tem uma ideia, deve verificá-la.

O código está no final do artigo. Sinta-se à vontade para executá-lo, modificá-lo e otimizá-lo você mesmo.

Se tiver interesse, posso continuar escrevendo mais tarde:

  • Estratégias de hedge baseadas no delta da volatilidade
  • Implementação da rotação de múltiplas moedas
  • Otimização da gestão de fundos e do controle de riscos

Fique à vontade para curtir, comentar e pedir mais atualizações!

📝Código-fonte do artigo (os parâmetros da estratégia podem ser definidos de forma flexível na seção de parâmetros no início do código-fonte; a lógica de negociação foi otimizada).Estratégia de hedge Beta bidirecional


Isenção de responsabilidade

Este artigo tem fins meramente educativos e de comunicação, e não constitui qualquer tipo de aconselhamento de investimento.

P.S.: Não existe fórmula mágica para enriquecer rapidamente no mundo das criptomoedas; apenas gestão de risco e otimização contínua.