Algos
Skew
Estratégia de três pernas para expressar uma visão de valor relativo entre duas opções do mesmo ativo-objeto, com o próprio ativo-objeto servindo como hedge de delta (ou vega). O algo gerencia as três pernas juntas para que a posição combinada mantenha o skew de volatilidade desejado.
Quando usar
- Você está operando um par de volatilidade no mesmo ativo-objeto e quer a posição delta-neutra ou vega-neutra.
- Quer que a plataforma coordene as execuções para que a estrutura permaneça balanceada.
- Está protegendo risco direcional enquanto expressa uma visão sobre o diferencial relativo de preço entre duas opções.
Início rápido
from investflex import AsyncInvestflexClient
from investflex.models.algos import Skew
from investflex.models.common import DeltaType, ExecutionLimit, ExecutionMode, Side
skew = Skew(
name="petr-skew",
init_time="09:00:00",
end_time="17:00:00",
trigger_value=2.0, # limiar do vol-spread (%)
execution_limit=ExecutionLimit.MARKET,
execution_limit_value=200.0,
delta_type=DeltaType.FIXED,
execution_mode=ExecutionMode.OPTION_ARBITRAGE,
delta_fixed_value_1=0.001,
delta_fixed_value_2=0.001,
interest_rate=6.5,
days_to_expiration_1=1,
days_to_expiration_2=1,
legs=[
dict(symbol="PETRL215", side=Side.BUY, quantity=10000,
alloc_account="YOUR_ACCOUNT", resting="Y", max_clip_size=100),
dict(symbol="PETRL102", side=Side.SELL, quantity=10000,
alloc_account="YOUR_ACCOUNT", resting="Y", max_clip_size=100),
dict(symbol="PETR4", side=Side.BUY, quantity=10000,
alloc_account="YOUR_ACCOUNT", resting="N", max_clip_size=100),
],
)
async with AsyncInvestflexClient.from_env() as client:
handle = await client.algos.create(skew)
print(handle.clord_id, handle.status.name)
Parâmetros
Estratégia
| Campo | Tipo | Obrigatório | Editável | Padrão | Observações |
|---|---|---|---|---|---|
name |
str | sim | não | — | Rótulo. |
init_time |
HH:MM:SS |
sim | não | — | Início da janela. |
end_time |
HH:MM:SS |
sim | não | — | Fim da janela. |
expire_date |
YYYYMMDD |
não | não | 20380101 |
Validade da ordem-dia. |
text |
str | não | não | — | Comentário livre. |
basket_id |
str | não | não | — | Chave opcional de agrupamento. |
trigger_value |
número | sim | sim | — | Limiar do spread de volatilidade, em %. |
execution_limit |
ExecutionLimit |
sim | não | — | ExecutionLimit.MARKET (fechamento em desbalanço), ExecutionLimit.TOLERANCE_PER_LEG. |
execution_limit_value |
número | sim | não | — | Tolerância em BRL acima do spread. |
delta_type |
DeltaType |
sim | não | — | DeltaType.FIXED, DeltaType.AUTOMATIC. |
execution_mode |
ExecutionMode |
sim | não | — | ExecutionMode.OPTION_ARBITRAGE, ZERO_DELTA_BY_ASSET, ZERO_DELTA_BY_OPTION, ZERO_VEGA_NO_DELTA_HEDGE, ZERO_VEGA_DELTA_HEDGE. |
delta_fixed_value_1 |
número | condicional | não | — | Delta fixo da opção 1 (usado quando execution_mode ∈ {ExecutionMode.OPTION_ARBITRAGE, ExecutionMode.ZERO_VEGA_NO_DELTA_HEDGE} ou delta_type=DeltaType.FIXED). |
delta_fixed_value_2 |
número | condicional | não | — | Delta fixo da opção 2. |
interest_rate |
número | não | não | — | Taxa de juros anual (%) usada no cálculo de delta. |
days_to_expiration_1 |
int | não | não | — | Dias até o vencimento da opção 1. |
days_to_expiration_2 |
int | não | não | — | Dias até o vencimento da opção 2. |
Pernas
Exatamente três pernas, nesta ordem: opção 1, opção 2, ativo-objeto.
| Campo | Tipo | Obrigatório | Editável | Observações |
|---|---|---|---|---|
symbol |
str | sim | não | Código do instrumento. |
side |
Side.BUY / Side.SELL |
sim | não | |
quantity |
int | sim | sim | Quantidade total (> 0). |
alloc_account |
str | sim | não | Conta da corretora. |
security_exchange |
str | não | não | Padrão XBSP. |
resting |
"Y" / "N" |
não | sim | Tipicamente Y nas opções, N no ativo-objeto. |
max_clip_size |
int | não | sim | Maior pedaço visível por ordem filha. |
Editando um Skew em execução
await client.algos.edit(handle.clord_id, TriggerValue=0.04)
Editável: TriggerValue.
Comandos de ciclo de vida
await client.algos.commands.cancel(handle.clord_id)
await client.algos.commands.suspend(handle.clord_id)
await client.algos.commands.resume(handle.clord_id)
Notas de comportamento
- A terceira perna (ativo-objeto) é o hedge — sua
quantitydeve ser dimensionada pelos deltas das opções, não como exposição direta. execution_modeescolhe o estilo de hedge; modos4/5miram neutralidade de vega e requerem entradas de sensibilidade do par de opções (delta_fixed_value_*,interest_rate,days_to_expiration_*).execution_limit_valueé a tolerância em BRL que a engine aceita antes de forçar o rebalanceamento via ativo-objeto.