Opções sobre Futuros
Opções sobre futuros são opções cujo ativo é um contrato futuro (e não uma ação ou índice). Na bolsa brasileira, os principais são:
- Boi gordo (
BGI) - Café arábica (
ICF) - Milho (
CCM) - Soja (
SJC) - Outros menores:
CNL,D11–D17(DI),ETH,GLD,ISP,SOY.
Esta seção é para opções sobre futuros. Para opções de ações, ETFs e índices (PETR4, VALE3, BOVA11 etc.), veja Opções.
Cobertura e atualização
- Histórico: cerca de 1 ano, atualizado após o pregão.
- Quando atualiza: após as 19h (horário de Brasília).
- Contratos: opções listadas sobre futuros (commodities e financeiros).
- Fuso horário:
America/Sao_Paulo. O campodateé um número (Unix em segundos).
Termos
- Ativo (
underlyingAsset): o código do futuro que serve de base (ex.:BGI,ICF). - Código da opção (
symbol): padrão do mercado{ATIVO}{LETRA_MÊS_FUTURO}{ANO}{C|P}{STRIKE×100}. Ex.:BGIH27C028550= call sobre BGI, vencimento março/2027, strike R$ 285,50. - Estilo (
optionStyle):american(pode exercer a qualquer momento) oueuropean(só no vencimento). Opções sobre commodities são quase sempre american. - Tipo (
optionType):call(compra) ouput(venda). - Strike (
strike): preço combinado, em reais. - Multiplicador (
contractMultiplier): vem do futuro. Ex.: opções de boi têm multiplicador330(arrobas). - Lote (
allocationRoundLot): quase sempre1. - Exercício automático (
automaticExercise): setrue, a opção é exercida sozinha no vencimento quando vale a pena.
Quem pode acessar
Opções sobre futuros estão no plano Pro, junto com os futuros.
| Plano | Acesso |
|---|---|
| Sem token (sandbox) | ✅ Só BGI (boi gordo) |
| Free | ❌ |
| Startup | ❌ |
| Pro | ✅ Todos os ativos |
Comece rápido
Exemplo do fluxo vencimentos → cadeia → histórico para opções de boi
gordo (BGI).
# 1) Vencimentos disponíveis
curl -H "Authorization: Bearer $BRAPI_TOKEN" \
"https://brapi.dev/api/v2/futures/options/expirations?underlying=BGI"
# 2) Cadeia (calls + puts) de um vencimento
curl -H "Authorization: Bearer $BRAPI_TOKEN" \
"https://brapi.dev/api/v2/futures/options/chain?underlying=BGI&expirationDate=2026-05-29"
# 3) Histórico de uma série
curl -H "Authorization: Bearer $BRAPI_TOKEN" \
"https://brapi.dev/api/v2/futures/options/historical?symbol=BGIK26C034300"const BASE = 'https://brapi.dev/api/v2/futures/options';
const headers = { Authorization: `Bearer ${process.env.BRAPI_TOKEN}` };
// 1) Vencimentos
const exps = await fetch(`${BASE}/expirations?underlying=BGI`, {
headers,
}).then((r) => r.json());
const nextExp = exps.expirations[0];
// 2) Cadeia
const chain = await fetch(
`${BASE}/chain?underlying=BGI&expirationDate=${nextExp}`,
{ headers },
).then((r) => r.json());
// 3) Histórico da série mais próxima do preço
const atm = chain.series[0];
const history = await fetch(
`${BASE}/historical?symbol=${atm.symbol}`,
{ headers },
).then((r) => r.json());
console.log(history);import os, requests
BASE = "https://brapi.dev/api/v2/futures/options"
headers = {"Authorization": f"Bearer {os.environ['BRAPI_TOKEN']}"}
# 1) Vencimentos
exps = requests.get(
f"{BASE}/expirations", params={"underlying": "BGI"}, headers=headers
).json()
next_exp = exps["expirations"][0]
# 2) Cadeia
chain = requests.get(
f"{BASE}/chain",
params={"underlying": "BGI", "expirationDate": next_exp},
headers=headers,
).json()
# 3) Histórico
atm = chain["series"][0]
history = requests.get(
f"{BASE}/historical", params={"symbol": atm["symbol"]}, headers=headers
).json()
print(history)Passo a passo
Vencimentos
Comece em
/api/v2/futures/options/expirations
com o ativo do subjacente (ex.: BGI, ICF).
Strikes
Use
/api/v2/futures/options/strikes
para ver os strikes do vencimento. Filtre por side=call ou
side=put.
Cadeia
Use /api/v2/futures/options/chain para
todas as séries do vencimento, com último preço.
Histórico
Quando souber a série, use
/api/v2/futures/options/historical.
Casos comuns
- Tela de opções de commodity:
expirations → chain - Filtro por faixa de strike:
chain?minStrike=X&maxStrike=Y - Backtest de boi/café/milho/soja:
chainpara escolher a série, depoishistorical.