Referência da API

Referência da API

Esta página lista os enums e modelos compartilhados expostos pelo pacote Python investflex. Campos de estratégia com valores discretos têm enums tipados para que as constantes apareçam no autocomplete da IDE. O SDK serializa cada enum no formato esperado pela API: string para membros (str, Enum) e inteiro para IntEnum.

from investflex.models.common import (
    Side, TimeInForce, OrdType, SecurityExchange,
    AgressionLevel, ExecStrategy, ExecutionType, ExecutionLimit,
    Trigger, CompensateExec, BookDepth, DeltaType, ExecutionMode,
    TriggerType, TriggerEntryType, StopTypeOCO, SniperType,
    RetroalimentType, SelectStopByPrice, ReversionType, CustomOrdType,
    ExitWhen, CandleTimeFrame, CandleUpdate, EntranceMoment,
    PriceUnit, TargetPriceMode, RelativeType, RelativeDirection,
    AlgoStatus,
)

Enums

Side

Lado da ordem. Tipo do membro: str.

Membro Valor Significado
BUY "1" Compra
SELL "2" Venda

TimeInForce

Validade no nível da estratégia (TimeInForce) e da perna (LegTimeInForce). Tipo do membro: str.

Membro Valor Significado
DAY "0" Ordem do dia
GTC "1" Válida até cancelar
IOC "3" Executa imediatamente ou cancela
FOK "4" Executa tudo ou cancela
GTD "6" Válida até a data
AT_CLOSE "7" No fechamento
GFA "A" Válida para leilão

OrdType

Tipo de ordem. O campo enviado é LegOrdType, mantido como alias compatível deste enum. Tipo do membro: str.

Membro Valor Significado
MARKET "1" Mercado
LIMIT "2" Limitada; exige price_limit
STOP "3" Stop
STOP_LIMIT "4" Stop limitada
MARKET_WITH_LEFTOVER "K" Mercado com saldo remanescente postado como limite

SecurityExchange

Enum de conveniência para LegSecurityExchange. O campo aceita SecurityExchange | str, então também é possível passar uma string direta.

Membro Valor Significado
XBSP "XBSP" Segmento Bovespa (ações, ETFs, opções)
XBMF "XBMF" Segmento BM&F (futuros, câmbio, derivativos)
BVMF "BVMF" Código combinado da B3

Enums de execução e gatilho

Enum Uso principal
AgressionLevel Agressividade de TWAP / POV (COUNTER_PARTY, OWN_SIDE)
ExecStrategy Forma de execução (AGGRESSIVE, RESTING, MIT)
ExecutionType Se o gatilho representa entrada ou gain/loss
ExecutionLimit Tipo de execução quando o gatilho dispara em estratégias da família Skew
Trigger Modo de cálculo de gatilho; cada estratégia aceita um subconjunto
CompensateExec Compensação de execuções parciais entre pernas
BookDepth Profundidade do book usada no cálculo do gatilho (L1 a L5)
DeltaType / ExecutionMode Configuração de delta e modo de execução em estratégias de volatilidade
TriggerType / TriggerEntryType Referência e unidade do gatilho de entrada
StopTypeOCO Tipo de stop para OCO / OCO2 / FlexOrder
SniperType Modo passivo, ativo ou ambos para ArbIntFrac
RetroalimentType Fonte de realimentação do gradiente dinâmico (grddin)
SelectStopByPrice Seleção de stop por preço no gradiente
ReversionType Comportamento de reversão do FlexOrder
CustomOrdType Tipo de entrada do FlexOrder: mercado, start, stop, limite ou leilão
ExitWhen Condição de saída do VWAP-TC
CandleTimeFrame / CandleUpdate Janela e atualização de candles em estratégias de gap
EntranceMoment Momento permitido para entrada em gap
PriceUnit, TargetPriceMode, RelativeType, RelativeDirection Unidades e referências de preço relativo

AlgoStatus

Status do ciclo de vida da estratégia. A propriedade is_terminal retorna True para FILLED, CANCELED, EXPIRED, DONE e REJECTED.

Membro Valor
NEW 0
PARTIALLY_FILLED 1
FILLED 2
RUNNING 3
CANCELED 4
SUSPENDED 5
EXPIRED 6
DONE 7
REJECTED 8
REPLACED 9
PENDING_NEW 10

Flags Y/N

Alguns campos são booleanos representados como strings na API ("Y" / "N"). O SDK mantém esses campos como literais:

  • "Y" — verdadeiro / habilitado
  • "N" — falso / desabilitado

Exemplos: init_suspended, bypass_firewall, using_financial_volume, limit_by_volume, consider_cross_orders, simulate_sniper_on_resting, allow_partial_exit, use_auction_open_price, use_level3, use_preservation, use_retroaliment, use_start_when_cross, send_stop_loss_on_end, zerar_stop_loss, to_market_trigger_value_enabled e use_stop_gain_global_finance.

Modelos

Os tipos abaixo são objetos Python tipados que o SDK retorna nos serviços REST e de streaming. Todos são modelos Pydantic v2: os campos podem ser acessados como atributos e .model_dump() produz um dicionário seguro para JSON.

AlgoHandle

Retornado por client.algos.create(...). É uma referência leve para uma estratégia enviada.

Campo Tipo Significado
clord_id str ID cliente da ordem/estratégia; use para editar, consultar ou cancelar
strategy_code str Código da estratégia, por exemplo "twap"
status AlgoStatus Status inicial, normalmente PENDING_NEW
raw dict | None Resposta bruta do servidor

StrategySnapshot

Retornado por client.algos.get(...) e emitido por client.algos.stream(). Representa o estado atual de uma estratégia.

Campo Tipo Significado
clord_id str ID cliente
strategy_code str Código da estratégia
status AlgoStatus Estado atual do ciclo de vida
output OutputParameters Quantidade executada, preço médio, P/L etc.
params dict Eco dos CustomParameters
legs list[dict] Eco das StrategyLegs

Veja Snapshots e Streaming para detalhes do payload completo.

Modelos de market data (investflex.models.marketdata)

Tipo Usado por Campos principais
Trade marketdata.last_trade(), marketdata.trades(), stream de negócios symbol, price, qty, side, trade_id, timestamp
Book marketdata.last_book(), stream de book symbol, bids, asks, timestamp
BookLevel dentro de Book price, qty, orders
Definition marketdata.definitions(), marketdata.security_list() symbol, security_id, exchange, currency, tick_size, lot_size, description

Position

Retornado por client.positions.list(), .get(account) e .consolidated(...).

Campo Tipo Significado
symbol str Símbolo do instrumento
account str Conta de corretagem
asset str Ativo raiz
security_type str EQUITY, OPT, FUT, ...
buy_qtty / sell_qtty int Quantidades comprada e vendida
net_qtty int Quantidade líquida; positiva = comprado
avg_buy_px / avg_sell_px float Preços médios
market_price float | None Última cotação, quando calculada
mark_to_market float | None MtM calculado pelo servidor, quando disponível

Position.pnl(market_price) calcula o resultado a mercado no cliente usando um preço de referência informado pelo chamador.

Helpers

new_clord_id() -> str

Gera um ID cliente seguro para reenvio (uuid4 hexadecimal, 32 caracteres). O SDK chama esse helper automaticamente em client.algos.create(...) quando você não informa clord_id= explicitamente.