Recentemente, vi um artigo interessante no X.
O autor fala sobre como, ao longo dos anos, ele construiu um sistema baseado em um "volante" que gira lentamente: três rodas — fluxo de caixa, ativos centrais e Alpha — que se alimentam mutuamente. No fundo, tudo se resume a uma frase: primeiro, encontre uma maneira de sobreviver, viva o suficiente e, só então, pense em juros compostos.
Esse sistema foi desenvolvido pelo autor através da operação manual, baseando-se em sua experiência pessoal e intuição de mercado. Mas, ao ler, surgiu um pensamento: no fundo, trata-se de um conjunto de disciplinas, e disciplinas são exatamente o que as pessoas têm mais dificuldade em manter e os programas têm mais facilidade em seguir. Do ponto de vista quantitativo, seria possível reproduzi-lo?
A ideia para reproduzi-lo não é inventar uma nova estratégia do zero, mas sim vasculhar o que já temos: algumas estratégias prontas que já desenvolvemos e testamos anteriormente — Estratégia de DCA (Dollar Cost Averaging) , Estratégia de Rolagem de Posição (Rolling Position) , Motor de Seleção de Moedas (Harness) — qual delas, por seu comportamento natural, se encaixa exatamente no que uma das rodas exige? Quando houver correspondência, usamos essa estratégia e as conectamos em um ciclo fechado através do fluxo de capital.
O foco deste artigo é explicar claramente "por que escolhemos essas três, qual é a lógica de cada uma e como elas se alinham com as rodas do sistema".
| Conceito Original | Comportamento Exigido | Estratégia Correspondente |
|---|---|---|
| Fluxo de Caixa | Não ser forçado a vender em condições extremas de mercado | Mecanismo de Linha de Reserva |
| Ativos Centrais | Apenas comprar, nunca vender; ser amigo do tempo | Estratégia de DCA (Dollar Cost Averaging) |
| Alpha | Buscar alto retorno com custo mínimo; transferir lucros para o núcleo | Motor de Seleção de Moedas para encontrar alvos + Estratégia de Rolagem de Posição para executar as negociações |
Roda Dois: Ativos Centrais ← Estratégia de DCA (Dollar Cost Averaging)
O que o conceito exige
O artigo original define os ativos centrais como sendo para juros compostos, para ser amigo do tempo, e para não ser forçado a vender nem mesmo em condições extremas de mercado. Eles não são para "fazer trading", mas para "manter e esperar". A ação implícita é apenas uma — comprar continuamente, nunca vender ativamente.
O que é DCA
DCA é a sigla para Dollar Cost Averaging, também conhecido como "investimento de valor fixo em intervalos regulares". A lógica é extremamente simples: a cada intervalo de tempo fixo (por exemplo, a cada 7 dias), independentemente do preço atual do ativo, comprar um valor fixo do ativo.
Seu verdadeiro poder se manifesta quando o mercado está em queda: com os mesmos 200 dólares, quando o preço está baixo, você compra mais unidades; quando o preço está alto, compra menos. Com o tempo, o custo médio é naturalmente suavizado para uma posição razoável. Não é necessário prever máximos ou mínimos, nem fazer timing de mercado; basta executar continuamente.
Mais importante ainda, o DCA, por design, não possui uma ação de venda ativa — ele naturalmente só compra e mantém. Isso o torna, essencialmente, uma máquina que "só entra, nunca sai, acumulando lentamente".
Por que esta estratégia: Equivalência de Comportamento
Traduzir "ser amigo do tempo" em instruções executáveis por uma máquina é "comprar no momento certo, nunca vender". Isso é comportamentalmente equivalente ao que resta do DCA após remover sua lógica de venda. Sem qualquer design adicional, ao remover a função de venda para realização de lucro do DCA original, ele se torna a implementação para a roda de ativos centrais.
Código correspondente:
javascript
// A cada N dias, comprar valor fixo do ativo central, apenas comprar, nunca vender
if (now - lastDca >= DcaIntervalDays * 86400000) {
var amount = sizeByCash(CoreSymbol, DcaAmount, CoreLeverage, price);
marketOrder(CoreSymbol, "buy", amount);
coreInvested += DcaAmount; // Registrar custo acumulado, sem nunca aparecer uma subtração correspondente
}
Em toda a estratégia, não há lógica para vender os ativos centrais — isso é intencional, correspondendo exatamente a "não ser forçado a vender nem mesmo em condições extremas de mercado".
Roda Um: Fluxo de Caixa ← Mecanismo de Linha de Reserva
O que o conceito exige
O artigo original coloca o fluxo de caixa em primeiro lugar, mas seu significado não é enriquecer, e sim "não ser forçado a sair do mercado quando você mais deveria estar nele". Em outras palavras: ter uma entrada de fluxo de caixa estável significa que, mesmo que o mercado caia drasticamente e seu patrimônio líquido encolha significativamente, você não precisa vender seus ativos para sobreviver — você espera até que os juros compostos aconteçam.
Esta é a premissa para todo o sistema funcionar. Sem essa garantia, mesmo que os ativos centrais sejam perfeitamente selecionados, ser forçado a vendê-los em uma grande queda tornaria todo o esforço em vão.
Como Equivalentemente no Contexto Quantitativo
O fluxo de caixa é essencialmente algo fora da conta — salário, trabalho paralelo, renda de novas listagens. O código não pode criar renda do nada.
No entanto, o código pode reproduzir seu efeito central: nunca ser forçado a vender os ativos centrais. A maneira de fazer isso é estabelecer uma linha de reserva dentro da conta — manter uma proporção fixa de capital de reserva na conta, que nenhuma ordem de negociação pode tocar. O próprio ritmo do DCA, juntamente com esta linha, simula o estado de "fluxo de caixa ininterrupto, nunca faltando".
Em uma conta real, o nível de folga desta linha depende, na prática, se seu fluxo de caixa externo real é estável. Este elo também é o mais indiretamente reproduzido dos três — reproduzimos seu efeito, não ele em si.
javascript
// Verificar antes de cada ordem: o saldo após descontar o valor desta ordem não pode ser inferior à linha de reserva
var reserve = equity * ReserveFloorRatio; // Por exemplo, reter 10% do patrimônio líquido
if (balance - DcaAmount < reserve) return; // Se tocar a linha, pular esta execução para proteger o buffer final
Roda Três: Alpha ← Motor de Seleção de Moedas + Estratégia de Rolagem de Posição
A roda Alpha é a mais complexa e precisa ser dividida em duas partes: de onde vêm os alvos e, depois de encontrar um alvo, como negociar. Essas duas questões correspondem a duas estratégias distintas.
O que o conceito exige
O artigo original diz que o significado do Alpha é "buscar alto retorno com custo mínimo" e enfatiza que o dinheiro ganho não deve ser gasto, mas sim transferido integralmente para os ativos centrais, para alavancar o capital principal.
Duas palavras-chave: "custo mínimo" — significa que o limite máximo de perda de cada operação deve ser rigidamente controlado, uma única falha não pode causar danos significativos; "alto retorno" — significa que, quando se está certo, os lucros devem ser deixados correr o máximo possível, em vez de vender com pequenos lucros. Esta é uma estrutura naturalmente assimétrica: perdas limitadas em cenários ruins, ganhos potencialmente grandes em cenários bons.
Primeira Parte: Motor de Seleção de Moedas (Harness) — Encontrar os alvos certos
Existem centenas, senão milhares, de contratos perpétuos no mercado de criptomoedas. Escolher um aleatoriamente e aplicar uma estratégia provavelmente resultará em perda de tempo ou até perda de dinheiro. O Motor de Seleção de Moedas resolve o problema de "em quais moedas negociar".
Primeiro Filtro — Filtro de Volume de Negociação
Classificar todos os contratos perpétuos USDT em ordem decrescente pelo volume de negociação em dólares (preço × volume) e manter os 120 primeiros.
Por que usar o volume como primeiro filtro? Moedas com alto volume têm duas vantagens: primeiro, liquidez suficiente para que as ordens não sofram grandes custos devido ao spread de compra e venda; segundo, há participantes suficientes no jogo, tornando mais provável a formação de tendências capturáveis. Moedas de pequena capitalização com baixo volume são mais suscetíveis a manipulação de preço, tornando mesmo as melhores estratégias ineficazes.
Segundo Filtro — Pontuação de Backtest de Médias Móveis
Para cada moeda qualificada, executar backtests históricos usando múltiplas combinações de parâmetros de médias móveis (por exemplo, MA5/20, MA10/30, MA20/60) e calcular os principais indicadores para cada combinação: Taxa de Acerto (proporção de negociações lucrativas), Razão Risco-Retorno (lucro médio / perda média), Rebaixamento Máximo, Número de Sinais. Em seguida, ponderar esses resultados para obter uma pontuação composta.
Este passo visa determinar se "a estratégia de média móvel foi historicamente eficaz para esta moeda". Nem todas as moedas têm tendências claras; algumas ficam em sideways ranges por longos períodos, gerando apenas sinais falsos de breakout — essas moedas são eliminadas precocemente para não desperdiçar recursos.
Terceiro Filtro — Bônus de Potencial de Explosão
Adicionar dois fatores dinâmicos à pontuação:
- Percentil de Volatilidade: O percentil histórico do ATR (Average True Range, uma medida da amplitude de flutuação de preço) atual. Quanto mais próximo do topo, maior a volatilidade atual em relação à história, indicando maior probabilidade de movimentos grandes.
- Coeficiente de Surto de Volume: Volume médio das últimas 5 velas ÷ volume médio das últimas 50 velas. Se este valor for significativamente maior que 1, indica que o volume de negociação recente está anormalmente alto em relação ao passado, possivelmente sinalizando uma entrada de capital, sendo um sinal precoce de "potencial de explosão".
A sobreposição desses dois fatores visa favorecer, além do desempenho histórico estático, os alvos que estão "mostrando anomalias no presente".
O resultado final é uma whitelist, geralmente de 3 a 5 moedas com as pontuações compostas mais altas na fase atual.
javascript
// Motor de Seleção de Moedas: Filtro de Volume → Pontuação de Backtest → Fatores de Explosão → Whitelist
var pool = tickers
.filter(t => t.Symbol.endsWith("USDT.swap"))
.sort(byQuoteVolumeDesc)
.slice(0, TopVolumeN);
for (var coin of pool) {
var volPct = calcVolPct(records); // Percentil histórico de volatilidade
var surge = calcVolumeSurge(records); // Coeficiente de surto de volume recente
var bt = bestBacktestScore(records, maParamsList); // Pontuação composta de backtest de médias móveis
var score = bt * 0.56 + volPct * VolSurgeBonus + surge * VolSurgeBonus;
if (score >= threshold) whitelist.push(coin);
}
Segunda Parte: Estratégia de Rolagem de Posição — Buscar Grandes Coisas com Pequeno Capital
Com a whitelist em mãos, precisamos de um método de negociação. Aqui, usamos a Estratégia de Rolagem de Posição que desenvolvemos anteriormente. Seu mecanismo está altamente alinhado com a exigência de assimetria do conceito Alpha.
O que é a Estratégia de Rolagem de Posição
É uma estratégia de acompanhamento de tendência para futuros baseada em sinais de cruzamento de médias móveis.
Primeiro, entenda as médias móveis: a média ponderada dos preços de fechamento das últimas N velas é a EMA (Exponential Moving Average). A EMA dá maior peso aos preços mais recentes, reagindo mais rapidamente do que uma média móvel simples. O sinal de cruzamento funciona assim: quando a EMA de curto prazo (ex: EMA5) cruza acima da EMA de longo prazo (ex: EMA10), é chamado de "cruzamento de ouro" (golden cross), indicando que a força de curto prazo é maior que a de longo prazo, sendo um sinal de compra (long). O contrário é chamado de "cruzamento da morte" (death cross), sendo um sinal de venda (short).
"Rolagem de Posição" significa: após cada take-profit, se a direção da média móvel ainda se mantiver (indicando que a tendência continua), a posição é reaberta imediatamente para continuar acompanhando a tendência. Em uma tendência forte, este método pode rolar os lucros em juros compostos rodada após rodada, em vez de sair após um único ganho.
Cada operação tem um stop loss duro: se o preço se mover contra a posição além de uma amplitude definida (por exemplo, -8%), a posição é liquidada à força. Esse stop loss limita a perda máxima de cada operação — não importa o quão ruim o mercado esteja, a perda individual não ultrapassará esse número. É daí que vem o mecanismo de "custo mínimo".
Por que isso: o encaixe da estrutura assimétrica
O Alpha exige "custo mínimo e limitado + lucro o maior possível" — uma estrutura de retorno assimétrica. A estratégia de rolagem (rollover) possui naturalmente essa estrutura:
- Stop loss duro = o "preço do bilhete" de cada aposta, no máximo perde esse valor, não mais
- Stop gain móvel + renovação contínua da posição = se acertar, deixe o lucro correr com a tendência, teoricamente sem limite superior
Ambos são a mesma coisa dita de formas diferentes. Código específico:
javascript
// Custo limitado: sair imediatamente ao tocar o stop loss duro — este é o teto do bilhete de cada aposta
if (pnlPct <= -AlphaStopPct) close("Stop Loss Duro");
// Deixar o lucro correr: quanto maior o pico, maior o espaço de retorno permitido, dando fôlego suficiente para os grandes vencedores
var giveback = Math.max(15, maxPnl * 0.3);
if (maxPnl - pnlPct >= giveback) close("Stop Gain Móvel");
// Se a tendência continuar após o stop gain, rolar a posição e continuar segurando — capitalizando o lucro
if (shouldRoll(records, direction)) openAlpha(direction, price);
Integração orgânica: devolver o lucro do Alpha ao núcleo
O motor de seleção de moedas encontra os ativos, a estratégia de rolagem gera retornos, mas isso não é suficiente — voltando ao texto original, o verdadeiro valor do Alpha é "fornecer capital principal para o ativo central". Portanto, deve haver uma linha de fluxo de capitais: o dinheiro ganho pelo Alpha é usado para recomprar o ativo central de forma unilateral; quando há perda, jamais tocar no capital principal do núcleo.
javascript
// Quando o lucro realizado do Alpha acumula até um certo limite, recompra o ativo central
if (alphaPnlBank >= AlphaSweepMin) {
var amt = sizeByCash(CoreSymbol, alphaPnlBank, 1, price);
marketOrder(CoreSymbol, "buy", amt); // Lucro flui para o núcleo, ampliando a base de capital
coreInvested += alphaPnlBank;
alphaPnlBank = 0;
}
É exatamente essa linha que transforma três estratégias antigas e independentes, que antes "rodavam separadamente", em "uma roda que se retroalimenta": o DCA alimenta continuamente o núcleo, o motor de seleção de moedas escolhe os candidatos, a rolagem gera ganhos com pequeno capital, o lucro retorna ao núcleo, o núcleo cresce cada vez mais, e o múltiplo exigido posteriormente diminui.
O que a quantificação realmente fez aqui
Resumindo em uma frase: o valor da reprodução não está em "ser mais inteligente", mas em "ser mais disciplinado".
O motivo pelo qual o sistema original era difícil não era a lógica complicada, mas a dificuldade humana de executar: com vontade de vender quando o mercado despenca, FOMO de comprar quando sobe muito, querer parar após uma pequena perda, ou ser forçado a liquidar o ativo central que deveria ser mantido por precisar de dinheiro urgente. Esses erros não são por não entender o princípio, mas por causa da emoção.
O código não é forçado a vender (protegido pela reserva), não tem FOMO (age apenas conforme a whitelist e os sinais), não para (perde o pequeno custo do Alpha e espera a próxima, sem nunca tocar o núcleo). Nós não tornamos essa teoria mais poderosa, apenas entregamos as partes mais anti-naturais da teoria a um executor sem emoções.
Esta é apenas uma tentativa superficial
É preciso deixar claro: isso está longe de ser o ponto final, e há uma parte que claramente é uma forma de implementação em um caminho diferente.
No texto original, o verdadeiro Alpha — lançamentos, pré-vendas, oportunidades estruturais iniciais — depende de informação e recursos para alavancar pequeno capital. Já a rolagem + seleção por médias móveis é outra forma de realizar alavancagem com pouco, dependendo de tendências de mercado para gerar retornos. Os caminhos são diferentes, mas a lógica central é totalmente equivalente. Em mercados laterais, essa estratégia de tendência inevitavelmente sofrerá pequenos stops repetidos, e ela e as oportunidades originais se complementam, formando em conjunto a fonte de retorno do Alpha. As oportunidades verdadeiramente escassas ainda dependem do julgamento humano; após obtê-las, o lucro é manualmente devolvido ao núcleo seguindo a mesma linha.
Além disso, backtest bonito não significa lucro real. Taxas, custos de funding, slippage — são facilmente ignorados no backtest, mas no mercado real vão corroendo a margem aos poucos. O código mantém a disciplina, mas ele não pisa no freio instintivamente quando deveria ser conservador.
Portanto, o próximo passo não é colocar muito capital rapidamente, mas primeiro rodar com conta demo e posições pequenas por um longo período: ver se as engrenagens estão se retroalimentando, se a parte do Alpha está realmente agregando valor ou apenas dando trabalho. E então, com dados reais, ajustar rodada após rodada.
Aquela frase do texto original também se aplica ao polimento deste sistema: pode ser devagar, mas não pode parar.
(Acima é apenas um registro de ideias, não constitui aconselhamento de investimento.)
Link original: Do zero aos milhões: sistema de flywheel - Fluxo de caixa · Ativo central · Alpha
Código-fonte da estratégia: Sistema de quantificação flywheel
- 1



