← Voltar aos artigos
July 15, 2026
5 min read

TWAP vs VWAP vs POV: como escolher um benchmark de execução (e saber quando cada um te engana)

TWAP vs VWAP vs POV: como escolher um benchmark de execução (e saber quando cada um te engana)
#execution
#twap
#vwap
#pov
#implementation-shortfall
#volume-curve
#algotrading
#backtest

Todo scheduler de execução é uma aposta sobre uma previsão de volume. O TWAP aposta que a liquidez é constante no tempo. O VWAP aposta que a curva de volume de hoje vai se parecer com a de ontem. O POV aposta que o volume que está sendo impresso no tape agora é um bom motivo para negociar agora — incluindo a parte do tape que é você mesmo. Nenhuma dessas apostas é rotulada como aposta na documentação dos fornecedores, e é por isso que a maioria das comparações entre os três lê como uma tabela de features: o TWAP é "simples", o VWAP é "inteligente", o POV é "adaptativo". Esse enquadramento não diz nada sobre qual deles te faz perder dinheiro, quando, e quanto.

Este é a parte 2 de uma linha que começamos em Order Types in Algorithmic Trading, onde construímos executores de TWAP e VWAP em ~40 linhas de Python cada. Esses executores servem bem como encanamento básico. Este artigo é sobre tudo o que esse encanamento esconde: as premissas implícitas, a política dos benchmarks, e um experimento reproduzível, lado a lado, sobre dados de order book reproduzidos, que mostra que os três algoritmos não são "sabores diferentes" — são perfis de risco diferentes, com modos de falha diferentes.

Três schedulers, três apostas ocultas

Vamos fixar a notação. Uma ordem-mãe de tamanho XX deve ser executada ao longo do horizonte [0,T][0, T], dividida em NN intervalos. Seja xix_i a quantidade da ordem-filha no intervalo ii, viv_i o volume de mercado no intervalo ii, e pip_i o preço médio no intervalo ii. O VWAP de mercado ao longo do horizonte é

VWAP=ipiviivi.\mathrm{VWAP} = \frac{\sum_i p_i v_i}{\sum_i v_i}.

O TWAP negocia xi=X/Nx_i = X/N: quantidades iguais em tempos iguais. A premissa implícita é que a liquidez — profundidade, spread, volume — é uniforme no tempo, de modo que fatias iguais geram impacto igual. Isso é falso em qualquer mercado que já existiu, mas falha graciosamente: o schedule é determinístico, a conclusão é garantida por construção, e o pior caso é negociar um lote fixo numa hora rarefeita e pagar spreads mais largos por isso. A segunda premissa, menos discutida, é que ninguém está observando. Um TWAP que dispara uma ordem-filha a cada 60 segundos, sempre em :00, é um metrônomo, e metrônomos são alvo de front-running. Qualquer TWAP sério aleatoriza o timing e o tamanho das ordens-filhas; o schedule deveria ser um processo quase-Poisson cuja expectativa é constante, não um relógio.

O VWAP negocia xi=Xuix_i = X \cdot u_i, onde uiu_i é a fração prevista do volume diário no intervalo ii, com iui=1\sum_i u_i = 1. Agora a aposta é explícita: você mantém uma curva {ui}\{u_i\} estimada a partir do histórico, e assume que o dia de hoje vai segui-la. A premissa não é que o volume seja constante, mas sim que ele é previsível e exógeno — a curva não se importa se você está negociando ou não. Quando a previsão é boa, o VWAP concentra seu trading onde o mercado consegue absorvê-lo, e seu slippage em relação ao VWAP de mercado é pequeno quase por tautologia. Quando a previsão é ruim — um evento de notícia não programado desloca 40% do volume do dia para uma hora à qual sua curva atribuiu 6% — o VWAP continua negociando serenamente o schedule desatualizado, e você absorve a diferença. O VWAP converte risco de execução em risco de previsão de volume. É essa a troca completa, e é por isso que a engenharia interessante num motor de VWAP está no previsor, não no fatiador.

O POV (percentage of volume, também chamado "participação") abandona a previsão: negocia xt=γVtx_t = \gamma \cdot V_t, uma fração fixa γ\gamma do volume observado em cada intervalo. Isso parece dominar o VWAP — por que prever volume quando você pode simplesmente segui-lo? A pegadinha é que o sinal agora é endógeno. Seus próprios fills aparecem impressos no tape. Se o resto do mercado negocia MM num intervalo e você mira a fração γ\gamma do volume total do tape, sua quantidade resolve x=γ(M+x)x = \gamma(M + x), ou seja,

x=γ1γM.x = \frac{\gamma}{1-\gamma}\,M.

Em γ=0,10\gamma = 0,10 essa correção é leve (11,1% do volume de terceiros). Em γ=0,25\gamma = 0,25 você está negociando 33% de todo o fluxo alheio; em γ=0,5\gamma = 0,5 você iguala todo o resto do mercado um-para-um e o ponto fixo diverge. O POV também abre mão da única garantia que TWAP e VWAP oferecem: não há prazo de conclusão. Se o volume desaparece, seu schedule também desaparece. Voltaremos às patologias do POV mais adiante, porque merecem uma seção própria.

Um enquadramento adicional que será relevante depois: nenhum dos três é "ótimo" em sentido formal algum. O scheduler que de fato minimiza um objetivo de custo-risco é a família Almgren–Chriss (Almgren and Chriss, 2000, "Optimal Execution of Portfolio Transactions," Journal of Risk 3, 5–39), que tratamos apropriadamente em Almgren–Chriss and the theory of optimal execution schedules. O TWAP é o caso especial de Almgren–Chriss com aversão a risco zero sob impacto linear; o VWAP é a estratégia de erro de tracking mínimo contra um benchmark ponderado por volume (Konishi, 2002, "Optimal slice of a VWAP trade," Journal of Financial Markets 5(2)); o POV é uma heurística que não corresponde a nenhuma função-objetivo, o que explica exatamente por que seus modos de falha são tão peculiares.

Estimando curvas de volume quando o mercado nunca fecha

A literatura de ações teve vida fácil. O volume intradiário em ações forma um U — pesado na abertura, fraco no almoço, pesado perto do fechamento — documentado desde Jain and Joh (1988, "The Dependence between Hourly Prices and Trading Volume," JFQA 23(3)) e fundamentado teoricamente por Admati and Pfleiderer (1988, "A Theory of Intraday Patterns: Volume and Price Variability," Review of Financial Studies 1(1)), que mostraram que traders discricionários de liquidez e traders informados se agrupam endogenamente no tempo. O formato em U é ancorado por dois eventos concretos, os leilões de abertura e fechamento, então a curva é estável e uma média móvel de 20 dias das participações de volume por intervalo já resolve 90% do problema.

Cripto não tem abertura nem fechamento, então o palpite ingênuo é que o volume deveria ser constante e TWAP ≈ VWAP. Esse palpite ingênuo está errado. O volume intradiário em cripto tem estrutura — só que ancorada em relógios diferentes:

Efeitos de sessão. O volume acompanha o horário em que as pessoas e as mesas que o negociam estão acordadas. Em BTC e ETH majors, a faixa mais pesada é a tarde americana sobrepondo a noite europeia (aproximadamente 13:00–21:00 UTC), com um patamar secundário na sessão asiática entre 00:00–08:00 UTC e um vale pronunciado por volta de 04:00–06:00 UTC nos majors. Pares alternativos com propriedade regional concentrada inclinam-se ainda mais forte para sua sessão de origem.

Marcos de funding. Os futuros perpétuos liquidam funding em horários UTC fixos — historicamente a cada 8 horas, às 00:00, 08:00, 16:00 UTC, com a Binance e outras exchanges migrando muitos contratos para ciclos de liquidação de 4 horas e até 1 hora desde 2025–2026. Os minutos ao redor da liquidação registram de forma consistente volume elevado: traders de basis abrem e fecham posições de carry, e quem quer que esteja explorando o snapshot de funding negocia bem na fronteira do horário. Esses são picos, não patamares — uma curva com buckets de 30 minutos os enxerga; uma curva com buckets de 2 horas os dissolve na média, e seu VWAP participa de menos exatamente quando a liquidez está melhor.

Sazonalidade semanal. O volume de fim de semana nos majors roda estruturalmente abaixo do volume de dia útil, e o domingo à noite UTC (segunda-feira de manhã na Ásia, mais a reabertura da CME para futuros de BTC) tem sua própria assinatura. Uma única curva de horário-do-dia agrupada entre todos os dias está mal especificada; o ideal é uma grade de dia-da-semana × horário-do-dia.

Eventos programados. As opções da Deribit expiram às 08:00 UTC (sextas-feiras, com clusters trimestrais), os dados macroeconômicos dos EUA saem às 12:30/14:00 UTC, as liquidações da CME importam para os fluxos de basis. Esses são traços de calendário, não sazonalidade — trate-os como dummies, não como poluição da curva de base.

Um estimador funcional, no espírito de manter o previsor honesto antes de torná-lo sofisticado:

import pandas as pd

def volume_curve(trades: pd.DataFrame, bucket="30min") -> pd.Series:
    """day-of-week x time-of-day volume shares from a trades tape."""
    v = trades["qty"].resample(bucket).sum()
    day_total = v.groupby(v.index.date).transform("sum")
    share = v / day_total                      # fraction of that day's volume
    key = [v.index.dayofweek, v.index.time]
    curve = share.groupby(key).median()
    return curve / curve.groupby(level=0).transform("sum")  # renormalize per day

Usar mediana em vez de média não é uma escolha estilística. O volume em cripto tem caudas extremamente pesadas; uma única cascata de liquidação pode representar 15% do volume do dia em 10 minutos, e uma curva baseada em média vai esperar um pico eternamente naquele bucket. A literatura de ações foi além das curvas estáticas: Białkowski, Darolles and Le Fol (2008, "Improving VWAP strategies: A dynamic volume approach," Journal of Banking & Finance 32(9), 1709–1722) decompõem o volume por intervalo num componente comum de mercado e num componente específico do ativo modelado com dinâmicas ARMA/SETAR, e mostram que a decomposição reduz materialmente o risco de tracking do VWAP em relação a uma curva clássica estática. A tradução para cripto é direta: estimar uma curva de mercado a partir dos top-N pares (o fator comum é forte — os relógios de funding e as sessões são compartilhados), e depois modelar o desvio do seu par como um processo intradiário de reversão à média que você atualiza em tempo real. Mais recentemente, Genet (2025, "Deep Learning for VWAP Execution in Crypto Markets: Beyond the Volume Curve," arXiv:2502.13722) mostra que schedules aprendidos ponta a ponta superam o VWAP de curva estática em dados da Binance — evidência de que, em cripto, a curva de volume é o elo mais fraco do pipeline, não o fatiamento.

O resumo operacional: uma curva estática, agregando todos os dias, é um VWAP de espantalho. Se sua comparação mostra que "o VWAP mal supera o TWAP em cripto", verifique se o VWAP foi alimentado com uma curva que de fato contém os picos de funding e a separação dia útil/fim de semana antes de concluir qualquer coisa.

Mapa de calor do volume intradiário em cripto com picos de funding e estrutura de sessões

Patologias do POV: o algoritmo que persegue a própria cauda

O discurso do POV é adaptabilidade: negociar quando o mercado negocia. Três patologias distintas o comprometem.

1. O loop de realimentação. A endogeneidade descrita acima não é apenas uma correção contábil. Suas ordens-filhas criam volume; o volume eleva seu alvo; seu alvo cria volume. Em γ\gamma moderado, o ponto fixo x=γ1γMx = \frac{\gamma}{1-\gamma}M é estável, mas a participação medida que seu relatório pós-negociação exibe (γ\gamma do tape total) subestima sua pegada em relação ao que o mercado teria sido sem você (γ1γ\frac{\gamma}{1-\gamma} de todo o resto). Pior: existe realimentação de segunda ordem — seus fills movem o preço, o movimento de preço atrai fluxo de momentum e dispara stops, esse fluxo eleva o volume do tape, e seu motor de POV lê o volume que ele mesmo causou como um convite para acelerar. Isso é exatamente o oposto do comportamento ótimo — schedulers sensíveis a impacto (Almgren–Chriss com parâmetros razoáveis, e estimativas empíricas de impacto como Almgren, Thum, Hauptmann and Li, 2005, "Direct Estimation of Equity Market Impact," Risk 18(7)) querem que você desacelere depois de empurrar o preço, não que acelere. Uma cascata de liquidação é o limite patológico: volume enorme no tape, book unilateral, e um POV vanilla compra com mais força bem no topo do squeeze, porque é ali que estão os prints.

2. Ser explorado. Um algo de POV é uma máquina de fluxo de ordens disparada por volume, e qualquer coisa disparável pode servir de isca. Um predador que suspeita de um comprador grande em modo de participação pode imprimir volume — negociando consigo mesmo onde as regras permitem, ou apenas negociando ativamente em tamanho pequeno — para puxar o motor de POV para frente, e depois fornecer liquidez a ele a preços inflados. Isso é uma instância em pequena escala do mecanismo geral descrito em Brunnermeier and Pedersen (2005, "Predatory Trading," Journal of Finance 60(4)): quando sua demanda futura é previsível a partir do seu comportamento passado, outros negociam antes dela, e o caminho de preço que você enfrenta é pior do que o que você previu. O TWAP vaza um schedule no tempo; o POV vaza uma função de resposta, o que é mais perigoso porque o adversário pode invocá-la sob demanda.

3. A cauda que nunca termina. O POV não tem relógio. Se você precisa comprar 500 BTC até as 16:00 UTC e o volume evapora às 14:00, um POV puro fica parado esperando — ele é, por construção, incapaz de terminar por conta própria. Por isso, todo POV de produção carrega um piso de taxa mínima e um modo de catch-up, e é justamente no modo de catch-up que as perdas se escondem: você passa o dia negociando passivamente a 10% de participação, e depois dispara os 30% residuais da ordem-mãe através de uma janela de fechamento rarefeita, a uma participação efetiva triplicada em relação ao seu alvo. A média pós-negociação parece boa; o custo marginal da última fatia é brutal. Se seus relatórios de POV não separam a cauda, você não viu o custo real dele.

def pov_child_qty(tape_vol: float, gamma: float, remaining: float,
                  t_left_s: float, min_rate: float) -> float:
    target = gamma / (1.0 - gamma) * tape_vol   # exclude our own prints
    floor = remaining / max(t_left_s, 1.0) * CHILD_INTERVAL_S
    if t_left_s < CATCHUP_HORIZON_S:            # deadline dominates
        floor = max(floor, remaining * CHILD_INTERVAL_S / t_left_s)
    return min(remaining, max(target, floor, min_rate))

Dois detalhes nesse trecho fazem trabalho de verdade: o alvo usa γ1γ\frac{\gamma}{1-\gamma} do volume de tape excluindo-nos (é preciso subtrair seus próprios fills do tape ao qual você reage — um número surpreendente de implementações não faz isso), e o piso de prazo transforma o POV em TWAP-sobre-o-residual conforme o tempo se esgota, o que ao menos torna o custo da cauda previsível.

Loop de realimentação do POV: os fills criam volume, o volume eleva o alvo

Benchmarks: por que superar o VWAP ainda pode fazer você perder dinheiro

O scheduler e o benchmark são escolhas separadas, e confundi-las é o pecado pós-negociação mais comum. Dois benchmarks dominam.

O benchmark de VWAP — comparar seu preço médio de fill com o VWAP do intervalo — foi introduzido por Berkowitz, Logue and Noser (1988, "The Total Cost of Transactions on the NYSE," Journal of Finance 43(1)), que propuseram o preço ponderado por volume do dia como um padrão neutro para a qualidade de execução institucional. Ele se tornou o padrão da indústria por um motivo tão sociológico quanto técnico: é fácil de calcular, fácil de explicar, e difícil de parecer ruim se você simplesmente espalhar seu trading ao longo do dia.

O implementation shortfall (preço de chegada) vem de Perold (1988, "The Implementation Shortfall: Paper Versus Reality," Journal of Portfolio Management 14(3), 4–9): medir tudo contra o preço p0p_0 no momento em que a decisão foi tomada. Para uma compra de XX com quantidade preenchida XfX_f a preço médio pˉ\bar{p}, preço terminal pTp_T:

IS=(pˉp0)Xfcusto de execuc¸a˜o  +  (pTp0)(XXf)custo de oportunidade  +  taxas.\mathrm{IS} = \underbrace{(\bar{p} - p_0)\,X_f}_{\text{custo de execução}} \;+\; \underbrace{(p_T - p_0)\,(X - X_f)}_{\text{custo de oportunidade}} \;+\; \text{taxas}.

O argumento de Perold era que a diferença entre portfólios de papel e portfólios reais é precisamente essa quantidade — e note que ela cobra por aquilo que você deixou de executar, o que o benchmark de VWAP ignora silenciosamente. Esse termo de custo de oportunidade é o que torna o IS o único benchmark honesto para o POV, cujo modo de falha característico é justamente a quantidade não preenchida.

Agora a armadilha. O VWAP como benchmark tem dois pontos cegos estruturais:

É autorreferente. Seus fills estão dentro do benchmark. Se você representa 30% do volume do intervalo, então aproximadamente 30% do VWAP é o seu próprio preço médio, e seu slippage medido em relação ao VWAP é mecanicamente reduzido pela sua própria participação — quanto maior e mais impactante for sua ordem, melhor ela pontua. No limite em que você é o único trader, você supera o VWAP por exatamente zero, independentemente de quão mal você tenha movido o preço. O slippage de VWAP mede aderência ao schedule, não custo.

Ignora a deriva em relação à decisão. Números concretos: você decide comprar 100 BTC a um preço de decisão de $60.000. O mercado sobe ao longo de toda a tarde; o VWAP do intervalo registra $60.320 e você é preenchido a uma média de $60.290. Relatório de VWAP: –5 bps, superou o benchmark, a mesa ganha uma célula verde. Relatório de arrival: você pagou $290 acima do preço de decisão em 100 BTC — +48 bps, $29.000 de implementation shortfall. Ambos os números estão corretos. Só um deles é dinheiro. E a corrupção de incentivo vai mais fundo: um trader avaliado pelo VWAP deveria desacelerar num dia de tendência (espalhar as negociações acompanha melhor o benchmark), o que é exatamente o oposto do que minimiza o shortfall quando o preço está fugindo de você. O benchmark não apenas mede mal o custo — ele prescreve o comportamento errado. Kissell (2013, The Science of Algorithmic Trading and Portfolio Management, Academic Press) trata esse problema de seleção de benchmark em profundidade; vale internalizar seu enquadramento: o benchmark codifica de quem é o risco que você está gerenciando. O VWAP gerencia o risco de constrangimento da mesa executora. O preço de arrival gerencia o P&L do portfólio.

Resolução prática: avalie estratégias por implementation shortfall; use o slippage de VWAP como diagnóstico (ele isola a habilidade de scheduling da sorte de timing, já que a deriva afeta tanto você quanto o benchmark); e nunca deixe alguém cuja ordem foi >10% do volume do intervalo citar slippage de VWAP sem também citar a participação.

O experimento: três algoritmos, um só tape

Com as definições resolvidas, podemos fazer o que os artigos comparativos nunca fazem: rodar os três schedulers sobre ordens-mãe idênticas, sobre os mesmos dados reproduzidos, e observar distribuições de custo, não adjetivos. O harness roda sobre o simulador de fills orientado a eventos descrito em Fill simulation: partial fills, queue position and why your backtest fills are lies — profundidade de L2 reproduzida, ordens-filhas limitadas ganham posição na fila, ordens-filhas agressivas percorrem o book, e nossos fills perturbam o tape que os schedulers observam (o que importa enormemente para o POV, conforme a seção sobre realimentação).

Configuração, para que você possa reproduzi-la nos seus próprios dados:

  • Instrumento/dados: BTCUSDT perpétuo, 90 dias de replay de L2 (top 20 níveis, 100 ms) + tape de trades.
  • Ordens-mãe: 500 por algoritmo, idênticas entre algoritmos: horários de início aleatórios, horizonte T=4T = 4h, tamanho de 0,75% do ADV móvel de 30 dias (grande o suficiente para que o impacto seja real, pequeno o suficiente para que os três possam plausivelmente terminar), lado comprador, preço de decisão = mid no início.
  • TWAP: 48 fatias-filhas, jitter de ±30% em timing/tamanho.
  • VWAP: curva mediana de dia-da-semana × horário-do-dia em buckets de 30 min (estimador acima), reajustada semanalmente, sem atualização intradiária — deliberadamente a versão simples.
  • POV: γ=12%\gamma = 12\% do volume de tape excluindo-nos, piso de taxa mínima, catch-up estilo TWAP nos últimos 30 min.
  • Métricas: IS em bps do preço de decisão (taxas incluídas), slippage de VWAP em bps, taxa de conclusão, e — o que ninguém reporta — o IS do quartil final de cada ordem-mãe.

Resultados representativos das nossas execuções (seus números vão variar; a forma não deveria):

Métrica (bps vs arrival) TWAP VWAP POV 12%
IS médio 11,8 9,6 8,9
IS mediano 9,1 7,7 6,4
Desvio-padrão do IS 21,5 19,8 26,3
Percentil 95 do IS 46 41 58
Slippage médio de VWAP +1,9 +0,4 –0,8
Conclusão em T 100% 100% 96,4%
IS médio, quartil final da ordem-mãe 12,5 10,2 19,7

Três leituras, em ordem crescente de importância:

As médias favorecem o POV, e as caudas o condenam. O POV vence no IS médio e mediano — adaptar-se à liquidez realizada realmente vale alguns bps a mais em relação a uma curva estática. Mas seu desvio-padrão de IS e seu percentil 95 são os piores dos três, sua taxa de conclusão não é 100%, e seu custo no quartil final é mais que o dobro do seu número principal: a cauda que nunca termina, somada ao modo catch-up, concentram custo exatamente onde as médias o escondem. Se suas ordens-mãe são orientadas por alfa com um horizonte rígido, essa cauda é o número que importa, e a vantagem média do POV não compensa por ela.

A vantagem do VWAP sobre o TWAP é exatamente a qualidade da sua previsão. Condicionando a diferença de IS entre VWAP e TWAP ao erro realizado da curva de volume (distância L1L_1 entre a previsão uiu_i e as participações realizadas), a relação é monotônica: no tercil de dias com melhor previsão, o VWAP supera o TWAP em ~4 bps; no tercil pior, a diferença fica dentro do ruído e às vezes se inverte. Em cripto, o tercil pior não é aleatório — são os dias de cascata e os dias de notícia, que também são, no geral, os dias de custo mais alto. O VWAP melhora sua média superando o TWAP justamente nos dias que já eram fáceis.

O slippage de VWAP e o IS classificam os algoritmos de forma diferente. O POV registra slippage médio de VWAP negativo — claro que sim, ele negocia proporcionalmente ao próprio volume que define o benchmark, e seus fills estão dentro dele. Pelo placar de VWAP, o POV é o melhor algoritmo aqui; pelo placar de arrival e pelo risco de conclusão, é o mais perigoso. Mesmo tape, mesmos fills, conclusão oposta — que é exatamente o argumento da seção anterior transformado em tabela.

Distribuições de implementation shortfall para TWAP, VWAP e POV

O harness em si tem ~50 linhas ao redor do simulador de fills e vale cada minuto investido, porque converte a escolha de scheduler de um debate de gosto pessoal em uma medição:

for parent in sample_parents(n=500, horizon="4h", adv_frac=0.0075):
    for algo in (twap, vwap, pov):
        sim = ReplaySim(l2_stream(parent.window), fees=TAKER_MAKER)
        fills = sim.run(algo.schedule(parent))          # fills perturb the tape
        report(parent, algo, is_bps(fills, parent.p0),
               vwap_slip_bps(fills, sim.tape), fills.completion)

Escolhendo, na prática

As regras honestas de seleção que emergem de tudo isso:

  • Prazo rígido, ordem-mãe orientada por alfa: TWAP ou um schedule Almgren–Chriss front-loaded. Pague o imposto de liquidez constante; compre a garantia de conclusão e a cauda limitada. Aleatorize as ordens-filhas.
  • Fluxo orientado por benchmark (você é literalmente remunerado sobre VWAP), ou tamanho grande num dia normal: VWAP — e gaste seu orçamento de engenharia no previsor de volume: grade de dia-da-semana, resolução de picos de funding, atualização dinâmica intradiária à la Białkowski–Darolles–Le Fol. Um motor de VWAP com uma curva preguiçosa é apenas um TWAP com passos extras.
  • Oportunista, sem prazo rígido, sensível à liquidez: POV em γ\gamma modesto (≤15%), calculado sobre o volume excluindo-nos, com um filtro de cascata (limitar a participação quando os z-scores de volume do tape explodem) e um fallback de prazo cujo custo você mede separadamente.
  • Seja qual for o que você rodar: avalie por implementation shortfall contra o arrival, conforme Perold. Mantenha o slippage de VWAP como diagnóstico da habilidade de scheduling, nunca como placar — o placar precisa ser denominado em dinheiro, e só o preço de arrival é.

E a meta-regra que o experimento reforça o tempo todo: compare distribuições, não médias, nos seus próprios dados reproduzidos. Um scheduler é uma aposta sobre uma previsão de volume, e você não avalia apostas pelo seu retorno médio ignorando as caudas — é assim que o mercado te vende o POV.

blog.disclaimer

Authors

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Fique à frente do mercado

Assine nossa newsletter para insights exclusivos sobre trading com IA, análises de mercado e atualizações da plataforma.

Respeitamos sua privacidade. Cancele a inscrição a qualquer momento.