7 de setembro de 2026 · opções

A linha que sustenta o seu backtest de opções: uma call BTC da Deribit, campo a campo

A linha que sustenta o seu backtest de opções: uma call BTC da Deribit, campo a campo

No mês passado, alguém da equipa de investigação perguntou-me porque é que os nossos agentes de opções continuavam a rejeitar uma ideia perfeitamente razoável de posição comprada em gamma. O sinal estava certo. A previsão de volatilidade também. O problema estava em dois campos do feed de dados de mercado e num número que nem sequer consta do feed.

Eis o objeto concreto que estava em discussão. Resposta do ticker da Deribit, BTC-25SEP26-110000-C, recolhida às 11:20 UTC numa segunda-feira, com dezoito dias até à expiração do contrato. Removi os campos obsoletos e mantive tudo o que interessa.

{
  "instrument_name": "BTC-25SEP26-110000-C",
  "index_price": 96412.18,
  "underlying_price": 96980.44,
  "underlying_index": "SYN.BTC-25SEP26",
  "estimated_delivery_price": 96412.18,
  "mark_price": 0.0041,
  "mark_iv": 42.14,
  "best_bid_price": 0.0038,  "best_bid_amount": 4.9,
  "best_ask_price": 0.0045,  "best_ask_amount": 12.1,
  "bid_iv": 40.42,           "ask_iv": 43.94,
  "last_price": 0.0043,
  "interest_rate": 0.0,
  "open_interest": 812.7,
  "greeks": {
    "delta": 0.0962, "gamma": 0.0000189,
    "vega": 36.77,   "theta": -42.91,  "rho": 4.61
  },
  "stats": { "volume": 61.2, "high": 0.0051, "low": 0.0036 }
}

instrument_name: quatro factos, uma string

BTC-25SEP26-110000-C. Ativo subjacente: BTC; expiração: 25 de setembro de 2026; strike: 110,000; call. O que a string não diz, e o que todos os novos backtests de opções interpretam mal pelo menos uma vez, é o resto das especificações do contrato: cada contrato corresponde a 1 BTC do ativo subjacente, o prémio é cotado e pago em BTC, e a expiração ocorre às 08:00 UTC, não às 16:00 de qualquer hora local.

É aí que a cotação em BTC se torna perigosa. Um preço marcado de 0,0041 corresponde a 0,0041 BTC, cerca de 395 $ ao preço do índice. Se guardar essa coluna como um preço e depois a juntar ao P&L de uma estratégia denominado em USD, construiu silenciosamente uma posição cujo valor em dólares varia com o preço à vista, mesmo quando o preço da opção não se altera. Já vi um backtest em que a perna de compra de uma call deu lucro num dia em que o BTC caiu, apenas porque o prémio foi interpretado como dólares e, na prática, o investigador estava vendido no prémio denominado em moedas, usando uma contabilização em dólares. Foram precisos dois dias para encontrar o erro.

index_price vs underlying_price: diferença de 568 dólares, mas só um está certo

A diferença entre estes preços é de 568,26 $, e isso não é um erro. index_price é o índice BTC da Deribit — a referência do preço à vista, uma combinação de várias grandes corretoras e o valor usado para liquidar o contrato. underlying_price é o preço do forward sintético para essa expiração específica, SYN.BTC-25SEP26, calculado com base no mercado de futuros para a mesma data. Dezoito dias de carry a uma taxa anualizada de cerca de 12% explicam esses 568 $.

Todas as gregas do payload e a volatilidade implícita marcada são calculadas com base no forward. Se voltar a calcular a volatilidade implícita usando o preço à vista, por ser a série que tinha carregada, obterá um valor diferente para cada preço de exercício, e o erro terá uma direção sistemática: as calls parecerão mais baratas em termos de volatilidade do que realmente são, e as puts parecerão mais caras. Num contrato de 18 dias com uma base de 0,6%, avaliaria erradamente a volatilidade implícita marcada em cerca de um ponto e meio neste preço de exercício. É mais do que a maioria das vantagens na volatilidade em torno das quais as pessoas constroem estratégias.

interest_rate: 0.0A Deribit está a indicar que faz o desconto através do forward e não de uma taxa. Não procure uma curva sem risco para usar aqui; isso seria contar o mesmo duas vezes.

mark_price e mark_iv: um preço sem contraparte

0.0041 BTC. Ninguém pagou esse valor. A Deribit calcula o mark a partir de uma superfície de volatilidade ajustada, ancorada no livro de ordens, mas suavizada entre strikes e expirações para que a margem e as liquidações não oscilem quando uma única cotação com um spread amplo se move. É o mark que serve de base à margem, ao P&L não realizado e a todos os endpoints de posições.

Por isso, é o preço de execução mais sedutor na investigação de opções cripto — e o mais enganador. Um backtest que compra ao preço marcado e vende ao preço marcado está a negociar contra uma spline de suavização. Vai produzir um Sharpe. Esse Sharpe descreve o ajustamento da superfície e não diz nada sobre a possibilidade de executar a operação.

A regra que acabámos por codificar: o mark serve para margem, risco e atribuição mid-to-mid. Nunca é um preço de execução. Se o backtest precisar de um preço de execução e não houver uma captura do livro de ordens para esse momento, a execução fica assinalada como sem preço em vez de ser preenchida ao mark. Preferimos perder a linha.

best_bid 0.0038 / best_ask 0.0045: o spread em três unidades

Sete ticks de largura em BTC. São $67.50 numa opção de $395, ou 17% do prémio. Em termos de volatilidade, são 3.5 pontos: 40.4 na compra contra 43.9 na venda — é este o número que um operador de opções lhe vai dar quando perguntar qual é a largura do spread.

As quantidades são tão importantes como os preços: 4.9 contratos na compra, 12.1 na venda. As quantidades das opções da Deribit são expressas em contratos, ou seja, 4.9 BTC do ativo subjacente, cerca de $472k de valor nocional — mas apenas 0.47 BTC de delta neste strike. Se a sua estratégia precisar de gamma significativa, vai precisar de dezenas de contratos, e a quantidade visível no melhor preço do livro representa apenas uma fração disso. O segundo nível costuma estar mais dois ou três ticks afastado. Um backtest de opções com modelo de quantidade tem de percorrer o livro ou assumir preços RFQ/bloco, e essas duas hipóteses dão respostas muito diferentes.

last_price: 0.0043é uma transação que ocorreu algures nas últimas 24 horas, possivelmente há dezanove horas, quando o preço à vista era muito diferente. Num instrumento que negoceia 61 contratos por dia, é desatualizada por definição. Não construa uma série de rendibilidades com esse valor.

greeks: cinco números, quatro convenções de unidades

Este bloco causa mais danos silenciosos do que todo o resto do payload junto, porque cada valor está dimensionalmente correto e nenhum está nas unidades que seria de esperar.

Campo Valor Unidades Erro de interpretação comum
delta 0.0962 BTC do ativo subjacente por contrato Interpretado como delta em dólares
gamma 0.0000189 Δdelta por cada $1 de variação do ativo subjacente Assumido por cada variação de 1%
vega 36.77 USD por 1 ponto de volatilidade Assumido por cada 100% de volatilidade, ou em BTC
theta -42.91 USD por dia de calendário Assumido por dia de negociação
rho 4.61 USD por cada 1% de variação da taxa Ignorado, corretamente

Delta é expresso em moedas, vega e theta em dólares, e gamma por cada dólar de variação do preço à vista. Combinar um delta denominado em moedas com uma medida agregada de risco denominada em dólares é como acabar com uma posição comprada de 40 BTC quando o livro parece equilibrado. E o facto de theta ser calculado por dia de calendário dia é o que penaliza as estratégias de fim de semana: manter uma posição do fecho de sexta-feira à abertura de segunda-feira acumula três dias de depreciação temporal, cerca de $129 por contrato neste caso, sem sessões de negociação. Se o seu backtest avança por barras e aplica theta por passo, os fins de semana desaparecem e todas as estratégias de venda de prémio acabam discretamente por parecer piores do que realmente são.

open_interest 812.7, volume 61.2: onde está realmente a liquidez da cadeia

Oitocentos contratos em aberto num preço de exercício que negociou sessenta e um contratos ontem. É um preço de exercício ativo e real — 110,000 é um número redondo, com três semanas pela frente, exatamente onde o fluxo se concentra. Avance mais dois preços de exercício até 120,000 e os contratos em aberto caem uma ordem de grandeza; passe para um preço de exercício não redondo numa expiração que não seja mensal e encontrará instrumentos com um preço de compra, um preço de venda e um spread de 40% entre ambos, sem transações há uma semana.

Um backtest que percorra todos os instrumentos listados na cadeia irá preenchê-los sem dificuldade. Acabámos por aplicar um filtro com três condições em conjunto: spread cotado inferior a 20% do preço marcado, pelo menos 1 contrato em ambos os lados e volume diferente de zero nas 24 horas anteriores. Num dia típico, isso deixa passar cerca de um terço da cadeia BTC listada. É nos outros dois terços que vive o alpha falso.

O campo que não consta do payload

Nada neste objeto indica quanto custa uma transação. A Deribit cobra 0.0003 BTC por contrato de opção, tanto para maker como para taker — 0.03% do ativo subjacente, não do prémio — com um limite de 12.5% do preço da opção. Neste contrato, são $28.92 por lado, sem aplicar o limite, porque 12.5% de 0.0041 são 0.000513 e a comissão fixa é inferior.

A comissão incide sobre o nocional e o prémio depende da volatilidade, pelo que o custo em relação ao que pagou dispara quando a opção fica out of the money.

$67.50spread cotado (17% do mark)
$28.92comissão por contrato e por lado
31%custo de ida e volta como % do prémio
3,5 ptsamplitude entre compra e venda, em pontos de volatilidade

Compre ao preço ask de 0,0045 (434 $), venda ao preço bid de 0,0038 (366 $) e pague a comissão duas vezes: são 125,80 $ para completar uma operação num contrato marcado a 395 $. A sua tese tem de valer 31% do prémio antes de atingir o ponto de equilíbrio. Foi por isso que a ideia de uma posição comprada em gamma foi rejeitada, e não teve nada que ver com o sinal.

A análise fica mais interessante se perguntarmos quanto custa obter delta, já que as comissões aumentam com o número de contratos e o número de contratos varia inversamente com o delta. Para fazer as contas, mantemos a volatilidade implícita marcada fixa em 42,1% em todos os preços de exercício (uma cadeia real tem enviesamento e, no mercado cripto, o extremo das opções de compra costuma negociar acima ao negociar ao preço ATM, o que torna esta tabela otimista):

Instrumento Preço marcado (BTC) Delta Contratos por 1 BTC de delta Comissão por lado Custo por BTC de delta
97000-C (ATM) 0.0373 0.518 1.93 $28.92 $55.80
110000-C 0.0041 0.096 10.4 $28.92 $301
120000-C 0.0004 0.013 79.4 $4.82 (com limite) $383
BTC perp — 1.0 1.0 $48.21 $48.21

O limite de 12,5% faz diferença real nessa linha: sem ele, a asa mais distante custaria 2 300 $ por BTC de delta, e as estratégias de bilhetes de lotaria seriam impossíveis em termos aritméticos, em vez de apenas más. Mesmo com o limite, comprar exposição através do preço de exercício 120,000 custa cerca de oito vezes mais do que através do contrato perpétuo. As opções não são uma forma barata de expressar uma visão direcional, e qualquer backtest que indique o contrário deixou esta tabela de fora.

08:00 UTC, 25 de setembro

A última coisa que o ticker não lhe diz é como termina a posição. A Deribit liquida as opções com base na média do índice durante os 30 minutos que antecedem as 08:00 UTC do dia da expiração e cobra uma comissão de entrega de 0.00015 BTC nos contratos in the money, também limitada a 12.5% do valor de liquidação.

Há duas consequências para o backtest. Primeiro, essa janela de cálculo é real e pode apanhar-nos desprevenidos: uma opção que está $300 in the money às 07:59 pode expirar sem valor se a última meia hora tiver sido má. Um backtest que liquide com base no preço às 08:00 vai divergir da sua conta de simulação por alguns pontos base na maioria das expirações e por bastante mais em algumas. Segundo, a comissão de entrega aplica-se quer quisesse ou não a liquidação; por isso, uma estratégia mantida até à expiração paga três comissões por ciclo, enquanto uma estratégia fechada às 07:30 paga duas comissões e um spread. Qual fica mais barata depende do strike, e o resultado inverte-se algures em torno de um prémio de 0.0012 BTC. Calculamos o custo por posição em vez de escolher uma regra fixa.

A versão deste post que eu queria escrever era sobre a previsão de volatilidade. Em vez disso, passei uma semana a trabalhar em unidades e limites de comissões, uma proporção entre glamour e realidade que é mais ou menos a certa na investigação de opções.

Vinte campos. Dois preços que divergem por definição, um preço que nunca foi negociado, gregas em quatro sistemas de unidades e o modelo de custos inteiramente fora do payload, numa página de documentação. Se estiver a montar um backtest de opções, passe o primeiro dia a escrever uma única função que transforme um destes objetos numa posição com os custos completos e as unidades corretas — spread, comissão, limite, entrega, moedas ou dólares. Todas as estratégias que escrever depois herdarão as premissas dessa função.

opções criptoderibitvolatilidade implícitacomissõesbacktesting
← Todos os artigos