𝗦𝗰𝗮𝗿𝗮𝗯 𝗗𝗶𝗮𝗴𝗻𝗼𝘀𝘁𝗶𝗰 𝗙𝗶𝗲𝗹𝗱 𝗧𝗲𝘀𝘁 #𝟬𝟯𝟮: 𝗟𝗶𝗺𝗶𝘁𝗲 𝗱𝗲 𝗣𝗿𝗶𝗰𝗶𝗳𝗶𝗰𝗮𝗰̧𝗮̃𝗼 𝗱𝗼 𝗔𝗹𝘃𝗼 𝗱𝗲 𝗢𝗽𝗰̧𝗼̃𝗲𝘀
O QuantConnect Lean tinha um erro grave no dimensionamento do alvo de opções.
Se você solicitasse um alvo de 10% para uma posição em opções, o motor poderia entregar mais do que o solicitado.
Isso acontecia porque o sistema usava o preço errado para calcular a quantidade. Ele utilizava um preço médio (mid) ou o último preço, em vez do preço real que você deve pagar para comprar a opção.
Quando o spread bid/ask é amplo, esse erro aumenta.
O motor estava usando security.Price para cálculos de margem. Para uma opção comprada (long), você deve comprar pelo preço de venda (ask). Se o motor calcular o dimensionamento com base em um preço médio (mid-price) mais baixo, sua posição final excederá seu peso alvo assim que a ordem for executada.
Identificamos o limite exato para o reparo.
Não reescrevemos todo o motor de construção de portfólio. Não alteramos o funcionamento de cada tipo de ativo. Não alteramos a camada de execução.
Em vez disso, corrigimos o caminho de precificação de margem específico para opções.
A correção segue estas regras:
- Para alvos de opções compradas (long): Use o preço de venda (ask) quando disponível.
- Para alvos de opções vendidas (short): Use o preço de compra (bid) quando disponível.
- Se não houver cotação disponível: Utilize o preço de último negócio/marcação (last/mark price) existente como fallback.
Isso mantém o reparo local e seguro. Ele utiliza dados melhores quando eles existem, mas preserva o comportamento antigo quando não existem.
Resultados de validação:
- Build de release aprovado.
- Testes focados em margem de opções: 41/41 aprovados.
- Adicionada cobertura de regressão tanto para precificação de ask no lado comprado (long-side) quanto para precificação de bid no lado vendido (short-side).
Esta correção garante que o motor respeite seu contrato de risco ao usar preços executáveis para o dimensionamento.
Comunidade de aprendizado opcional: https://t.me/GyaanSetuAi