Voltar as noticias
Como classificar suas previsões de preços de opções com Brier em 40 linhas de Python
MCP ProtocolMediaEN

Como classificar suas previsões de preços de opções com Brier em 40 linhas de Python

Dev.to - MCP·27 de maio de 2026

Se você enviar uma previsão probabilística, o hábito de maior valor que você pode desenvolver é registrar suas previsões para que você possa avaliá-las mais tarde. A sabermetria descobriu isso há quarenta anos. A previsão do tempo faz isso há um século. A maioria dos proprietários de modelos de ML ainda não faz isso.

Este post apresenta uma receita de 40 linhas em Python que registra a previsão de probabilidade-ITM por contrato de um modelo de precificação de opções de ML em um CSV, para que você possa calcular a perda de Brier após a expiração da opção. A receita faz parte de um pequeno livro de receitas de código aberto para a Helium MCP REST surface — um servidor MCP que também expõe suas ferramentas como simples GETs HTTPS, o que o torna conveniente como um substrato de ensino, mesmo que você não use o MCP.

Você não precisará de uma chave de API, um cadastro ou um SDK Python.

O que estamos fazendo

Para cada contrato de opção que nos interessa, queremos uma linha que registre:

  • O identificador do contrato (símbolo, strike, expiração, tipo)
  • O valor justo previsto pelo modelo
  • A probabilidade do modelo de que o contrato termine no dinheiro
  • A data dos dados do modelo
  • (Preenchido mais tarde) a marca de mercado no mesmo timestamp
  • (Preenchido na expiração) o preço subjacente realizado
  • (Computado) se o contrato foi realmente ITM
  • (Computado) a perda de Brier para a previsão de probabilidade

Quando avaliamos com Brier mais tarde, obtemos um número por contrato. A média entre muitos contratos nos dá uma pontuação de calibração diretamente comparável — exatamente a disciplina pela qual um modelo de probabilidade de vitória no beisebol ou uma previsão de precipitação do tempo é avaliado.

O endpoint

O servidor Helium expõe sua ferramenta de precificação de opções neste URL:

GET https://heliumtrades.com/mcp_option_price/
    ?symbol=AAPL&strike=310&expiration=2026-06-26&option_type=call

GET simples, JSON de entrada / JSON de saída, sem cabeçalho de autenticação, camada gratuita de 50 chamadas por IP por dia. Uma chamada ao vivo retorna:

{
  "symbol": "AAPL",
  "strike": 310.0,
  "expiration": "2026-06-26",
  "option_type": "call",
  "predicted_price": 6.53,
  "prob_itm": 0.42,
  "options_data_date": "2026-05-26"
}

Dois desses campos são previsões sobre o futuro: predicted_price (o valor justo do modelo) e prob_itm (a probabilidade do modelo de que a opção termine ITM na expiração). A data de expiração na solicitação é a data de resolução fixa. Isso nos dá um alvo falsificável limpo.

A receita

"""
Log Helium
"""
import csv
import sys
from datetime import datetime
from pathlib import Path

import requests

ENDPOINT = "https://heliumtrades.com/mcp_option_price/"
LOG_FILE = Path("calibration_log.csv")


def main(symbol, strike, expiration, option_type):
    params = {
        "symbol": symbol, "strike": strike,
        "expiration": expiration, "option_type": option_type,
    }
    resp = requests.get(ENDPOINT, params=params, timeout=30)
    resp.raise_for_status()
    data = resp.json()

    is_new = not LOG_FILE.exists()
    with LOG_FILE.open("a", newline="") as f:
        w = csv.writer(f)
        if is_new:
            w.writerow([
                "timestamp", "symbol"
Contexto Triplo Up

O artigo oferece uma abordagem prática para empresas que utilizam modelos de previsão em suas operações. A capacidade de avaliar a precisão das previsões pode melhorar a tomada de decisões e a confiança em modelos de ML. Isso é relevante para setores financeiros e de investimentos no Brasil.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.