HFT Elite
Tipos de ordem
Cada tipo de ordem que um trader de opções de mesa espera, sobreposto ao CLOB do Polymarket. Stops, brackets, OCO, trailing stops, gatilhos condicionais cross-market, TWAP e iceberg — com flags TIF completos (GTC, GTD, IOC, FOK).
Por que o Polymarket precisa de tipos de ordem sintéticos
O CLOB do Polymarket expõe apenas duas primitivas: market e limit. Não há stop nativo, nem bracket, nem OCO, nem trailing stop. Para copy-trading ou qualquer gestão ativa de posição, esse buraco te força a vigiar a tela ou aceitar que uma posição pode despencar para zero. A Pro Workstation fecha esse buraco com ordens condicionais do lado servidor que enviam a ordem CLOB subjacente pelo mesmo caminho de execução de um ticket manual assim que um gatilho dispara.
Toda ordem da workstation é assinada no cliente com o oficial polymarket_client_sdk_v2 e enviada com o código de builder V2 anexado para atribuição. PolyZig nunca custodia seus fundos, nunca guarda sua chave privada, e nunca reassina sua ordem — o watcher de ordens condicionais é apenas um gatilho automatizado que reaproveita sua sessão autenticada.
Stop e stop-limit
Um stop dispara uma ordem market quando o preço cruza seu gatilho. Um stop-limit dispara uma ordem limit no preço que você definir, dando controle de slippage ao custo de um possível não-fill em mercados rápidos. Ambos se aplicam em qualquer direção: um sell stop dispara quando o preço cai abaixo do gatilho; um buy stop dispara quando o preço sobe acima dele.
side=sell, trigger_price=0,45 → dispara quando preço ≤ 0,45 side=buy, trigger_price=0,55 → dispara quando preço ≥ 0,55
Trailing stop
Um trailing stop reancora seu gatilho ao pico (lado venda) ou vale (lado compra) corrente do preço observado. O offset de trail define quanto o preço precisa retroceder desse pico antes do stop disparar. Útil para deixar os vencedores correrem mantendo um teto no drawdown de ida e volta — a workstation rastreia o pico em memória dentro da tarefa de monitor por ordem.
sell trailing-stop, trail_offset=0,05 → pico sobe a 0,70, gatilho fica em 0,65 → se preço cai a 0,65, o stop dispara
OCO e bracket — atômicos, links recíprocos
Um ticket OCO são duas pernas que se cancelam mutuamente no fill: tipicamente um stop loss e um take profit. Um bracket é o padrão OCO envolvendo uma posição existente. A Workstation cria as duas pernas em uma única transação de banco de dados e escreve um linked_order_id recíproco, então a perna que disparar primeiro cancela a irmã — não há cenário em que você termine com um bracket cancelado pela metade.
O cancelamento é com escopo de usuário: o watcher só vai cancelar uma irmã que pertença ao mesmo usuário da ordem que dispara, mesmo que um link malicioso fosse de algum modo injetado.
Gatilhos condicionais cross-market
Uma ordem condicional observa um mercado e age sobre outro. Exemplo: «se o YES de Trump-2024 cair abaixo de $0,40, dispara um buy na perna correlacionada Trump-loss». A Workstation persiste essas igual aos stops; o avaliador cross-market é cabeado junto com o construtor de tickets multi-leg.
TWAP e iceberg (roadmap)
Em pares finos do Polymarket até alguns milhares de dólares conseguem mover o livro. O plano: TWAP fatia uma ordem grande em N ordens filhas em uma janela configurável; iceberg mostra ao livro só a fatia visível e a recompõe à medida que a porção visível preenche, escondendo o tamanho total. Ambos reduzem slippage por market-impact em mercados ilíquidos. Nenhum está implementado nesta build — pertencem ao corte Fase 4 de estratégias de execução, depois do watcher de ordens condicionais expor um executor CLOB real.
Flags time-in-force
Hoje todo ticket limit é enviado como GTC (good-till-cancelled), pois é o que `polymarket_client_sdk_v2` expõe no construtor de ordens. GTD, IOC e FOK são parte do corte TIF da Fase 1b — quando o branch upstream do SDK incluir o flag (ou a workstation contribuir), a UI do ticket vai expor um dropdown TIF e a API de ordens estende `PlaceOrderRequest` com `time_in_force` + `expires_at`. Até lá, comportamento estilo IOC pode ser aproximado enviando um limit apertado e cancelando no próximo passo do poller.
Sizing definido por risco
O ticket de ordem inclui um auxiliar de «perda máxima». Informe o valor em dólares que está disposto a arriscar e os preços de entrada + stop, e o ticket calcula automaticamente o size que limita sua perda exatamente nesse valor. A mesma primitiva que traders de opções usam para dimensionar verticals: posicione seu downside, não seu notional.
size = max_loss / |entry_price − stop_price|
Live today: Market & Limit orders. Coming soon: Stop / Stop-limit / Trailing stop / OCO / Bracket / Conditional / TWAP / Iceberg — the production CLOB executor adapter is the remaining piece. The status column on the matrix below reflects the real deployment state; HFT subscribers get the rest on launch without re-upgrading.
Reference matrix
Every order type at a glance
| Type | Status | Trigger condition | Fills at | Best for |
|---|---|---|---|---|
| Market | Live | Immediate | Best available depth | Speed > slippage |
| Limit | Live | Immediate | Your limit price or rests | Slippage control |
| Stop | Coming soon | Sell: price ≤ trigger · Buy: price ≥ trigger | Market once triggered | Cap downside on a position |
| Stop-limit | Coming soon | Same as Stop | Limit once triggered | Stops with slippage control |
| Trailing stop | Coming soon | Anchored to running peak/trough | Market once trail offset crossed | Let winners run with capped giveback |
| OCO | Coming soon | Either leg fires → cancels sibling | Per leg type (stop/limit) | Bracket a position with both ends |
| Bracket | Coming soon | OCO of take-profit + stop | Per leg type | Wrap an open position |
| Conditional (cross-market) | Coming soon | Watches a different market | Market or limit on the target | Pair / hedge automation |
| TWAP | Coming soon | Continuous over a window | Sliced child orders | Reduce market impact on thin pairs |
| Iceberg | Coming soon | Show visible slice; refill on fill | Per visible slice | Hide total size from the book |
Time-in-force
TIF flags — when each one wins
| TIF | Meaning | When to use |
|---|---|---|
| GTC | Good-til-cancel | Default for limits you intend to leave on the book |
| GTD | Good-til-date | Auto-expire near a known event window |
| IOC | Immediate-or-cancel | Take whatever fills now, drop the rest |
| FOK | Fill-or-kill | All-or-none atomic execution |
Worked example
Bracket on a long YES at $0.42
Open 100 shares YES at $0.42. Cap downside at the cost of 6¢ per share, ride upside to a 12¢ take-profit. Created in one ticket with reciprocal links — whichever leg fires cancels the sibling.
POSITION long 100 YES @ 0.42
BRACKET take-profit → sell @ 0.54 (bracket_target)
stop loss → sell @ 0.36 (bracket_stop)
RESULT max gain 12¢ × 100 = +$12.00
max loss 6¢ × 100 = − $6.00
R:R 2.0Páginas relacionadas da Workstation
Position Greeks
Per-position delta and theta for binary outcomes.
Multi-leg strategies
Verticals, calendars, pairs, and box-spread arbitrage.
Discovery & screeners
IV-rank, theta-harvest, mispricing, whale activity.
Options primer
New to options? Start here. Includes IV, IV surface, and the Polymarket mapping.
FAQ
Perguntas frequentes
O Polymarket suporta ordens stop-loss nativamente?
Não. O CLOB do Polymarket expõe apenas market e limit. A PolyZig Pro Workstation fecha esse buraco persistindo ordens sintéticas (stops, stop-limits, trailing stops, OCO, brackets, gatilhos condicionais cross-market) do lado servidor e disparando a ordem CLOB subjacente pelo mesmo caminho de execução de um ticket manual assim que o gatilho avalia verdadeiro. O watcher, schema, validação e lógica de cancelamento de irmã OCO são entregues hoje; o executor CLOB de produção que transforma um gatilho disparado em uma ordem postada é o cabeamento restante.
Como OCO é implementado no Polymarket?
PolyZig cria as duas pernas do OCO em uma transação de banco de dados e escreve um linked_order_id recíproco para cada perna referenciar a outra. Quando uma perna dispara, o watcher cancela a irmã. O cancelamento tem escopo no mesmo user_id que detém a ordem disparadora, então um link perdido nunca pode chegar a outra conta.
Quão rápido um stop vai disparar quando a execução estiver ligada?
O watcher de ordens condicionais se inscreve no mesmo gerenciador de assinaturas WebSocket que alimenta o gráfico de preços. Em um evento de cruzamento de preço, ele promove atomicamente a linha de pending → triggered e está cabeado para enviar a ordem CLOB subjacente pelo OrderExecutor no mesmo hot-path que o ticket manual usa. O executor Noop é o placeholder entregue hoje; quando o adapter OrderExecutor de produção chegar, a latência mediana de cruzamento-de-preço-até-envio-CLOB será publicada no hub da workstation.
Posso anexar um stop e um take-profit a uma posição existente?
É exatamente para isso que a primitiva bracket foi feita: abra uma posição normalmente, depois crie um bracket — uma perna target (limit no seu take-profit) e uma perna stop (stop ou stop-limit), ligadas atomicamente, com a primeira a preencher cancelando a outra. O bracket persiste hoje; a execução ao vivo do gatilho-para-CLOB chega com o cabeamento do OrderExecutor de produção sinalizado no banner de status acima.
O que acontece com minhas ordens condicionais se o PolyZig reiniciar?
Elas persistem no Postgres. Na inicialização, o ConditionalOrderWatcher chama restore() e se reinscreve no token de cada ordem pending. Não há estado só em memória, então um reinício não te custa nada.
Ative isso na sua conta
A superfície Pro Workstation — e tudo o que está descrito nesta página — vem com o plano HFT Elite ($149/mês, taxa de 0,10 % por operação).
Fazer upgrade para HFT Elite