Ir para o conteúdo

Portfolio Horizon

Análise de carteira construída sobre uma regra: código determinístico calcula os números e o modelo os narra

Reavaliação de carteira ao vivo, análise de risco e leitura de cenários com fonte, data e método em cada número, e a PTAX oficial datada do Banco Central do Brasil.

Página inicial do Portfolio Horizon no desktop: o título em inglês, Your portfolio, with every figure traceable, acima de três atributos, patrimônio rastreável, câmbio PTAX oficial e IA explicável. Mostra a promessa em torno da qual o sistema foi construído.
Site público em computador, capturado para este estudo de caso
Página inicial do Portfolio Horizon em um celular: o mesmo título e os três atributos distribuídos em duas linhas, mostrando que a página pública se lê bem na largura de um celular.
Site público em celular, capturado para este estudo de caso

O problema

Um relatório de patrimônio é uma lista de números, e a maioria desses números chega sem fonte, sem data e sem método. Uma cotação pode ser de ontem. Uma avaliação pode se apoiar em um preço que ninguém consegue rastrear. Quando um modelo de linguagem é colocado diante de um relatório assim, o risco cresce: o modelo pode produzir uma frase fluente com um número que nenhum cálculo sustenta.

O Portfolio Horizon, descrito na própria página como "Private Wealth Intelligence System" (sistema de inteligência patrimonial privada), foi construído sobre uma regra, não sobre uma promessa: cada número tem fonte, data e método, e o modelo de linguagem nunca é chamado para calcular um número, só para narrar os números que recebe.

O Portfolio Horizon não é recomendação de investimento e não faz nenhuma afirmação de desempenho.

O que foi construído

A página pública declara o que o sistema faz: reavaliação de carteira ao vivo, análise de risco e leitura probabilística de cenários. O título, em inglês, é "Your portfolio, with every figure traceable." (seu patrimônio, com cada número rastreável). Ela nomeia três atributos: patrimônio rastreável, câmbio PTAX oficial e IA explicável.

Seis compromissos estão listados na página: fonte e horário no número exibido; câmbio PTAX oficial datado; horizonte e limites por previsão; indisponibilidade declarada; adequação explícita; leitura probabilística. Quatro blocos repetem a ideia de forma mais curta: PTAX, o câmbio oficial datado; fontes, com origem e horário visíveis; lacunas, declaradas em vez de escondidas; código, ou seja, cálculos determinísticos.

A carteira mostrada na página pública é um exemplo ilustrativo. A composição é rotulada como fictícia e a demonstração roda sobre dados sintéticos. Nenhuma carteira de cliente é mostrada nem alegada.

Como funciona

A regra do próprio repositório é que todo número exibido vem de funções determinísticas em src/quant e que o modelo de linguagem só narra os números que recebe. O que foi medido é mais estreito. Na formulação do projeto: "As exposições, a concentração, a liquidez, o VaR paramétrico e o motor de cenários são determinísticos e cobertos por testes ao centavo." (execução de 31 de julho de 2026). O modelo de linguagem fica depois dessa etapa: recebe os números calculados e escreve a narrativa em torno deles.

Portfolio Horizon: o núcleo determinístico calcula, o modelo de linguagem narra, a fronteira de saída verificaPTAXBanco CentralMercadoFonte, horárioCarteiraPosiçõesCálculo determinísticoExposiçãoConcentraçãoLiquidezVaR paramétricoCenáriosCoberto por testesNúmerosfonte, data, métodoLLMapenas narraFiltrobloqueiana falhaRelatóriodados, trilhaENTRADASCALCULARNARRARSAÍDA
Portfolio Horizon: o núcleo determinístico calcula, o modelo de linguagem narra, a fronteira de saída verifica

O câmbio segue uma cadeia de resolução. Na formulação do projeto: "O endpoint GET /api/fx resolve a PTAX de fechamento do BACEN: primeiro o boletim de hoje, depois até quatro dias úteis anteriores, por fim a referência local rotulada. O rótulo exibido declara o que o número é, com data e fonte." Em 24 de setembro de 2026, a página pública mostrava o estado de dia útil anterior, com o texto, em inglês, "Latest available PTAX. Official close from the last available business day. Not an intraday quote." (última PTAX disponível; fechamento oficial do último dia útil disponível; não é cotação intradiária).

Entre o modelo e o leitor há uma fronteira de saída projetada para falhar fechada. Na formulação do projeto: "Na suíte adversarial documentada executada em 31/07/2026, a fronteira de saída fail-closed não liberou número financeiro sem suporte sob o modelo de ameaça especificado." O modelo de ameaça: payloads adversariais de prompt contra a via de orquestração, com a saída do modelo nunca renderizada diretamente para o cliente. A rota pública de entrevista de perfil está fora desse limite e não carrega nenhuma afirmação.

Sobre a procedência, na formulação do projeto: "No escopo dos resultados operacionais verificados em 31/07/2026, o número exibido informa função, provider e horário de referência." E ainda: "No escopo verificado em 31/07/2026, o número exibido no relatório abre a trilha de evidência que o originou." As previsões recebem a mesma disciplina: "No escopo verificado em 31/07/2026, a previsão exibida vem acompanhada de horizonte, metodologia e limites." A página resume em cinco palavras: a IA justifica, você decide.

Evidências

Tudo o que o Portfolio Horizon diz em público é delimitado pela allowlist de afirmações externas do próprio projeto (a lista do que pode ser dito), decidida em 31 de julho de 2026, e por um registro de afirmações retidas que anota cada declaração removida e o motivo (fato portfolio-horizon-16). A verificação é mecânica: um lint falha se uma formulação permitida não consta da allowlist ou se uma formulação retida reaparece em uma superfície pública, e cada comando de reprodução da allowlist é reexecutado e tem o resultado registrado.

Os números que sobrevivem a esse processo são contagens de testes, cada uma ligada a um comando e a uma data. Em 31 de julho de 2026, na execução por trás da afirmação do núcleo determinístico, 67 testes passaram em 6 arquivos; essa execução cobre o núcleo quantitativo, a cadeia PTAX e as afirmações da página inicial (allowlist EXT-A03, fato portfolio-horizon-14). Na cadeia de resolução da PTAX, sozinha, 11 testes passaram, e eles fazem parte desses 67 (allowlist EXT-A02, fato portfolio-horizon-13). Na suíte adversarial por trás da fronteira de saída fail-closed, 415 testes passaram em 11 arquivos, e a fronteira não liberou número financeiro sem suporte sob o modelo de ameaça especificado (allowlist EXT-B03, fato portfolio-horizon-12).

O rodapé da própria página declara o limite do que afirma. Na formulação do projeto: "Previsão não é promessa. No escopo verificado em 31/07/2026, a tela preditiva declara horizonte, confiança e limites." (página no ar, fato portfolio-horizon-11). Nenhum número de desempenho, retorno ou acurácia de previsão é publicado, porque nenhum está na allowlist.

Tecnologias

O Portfolio Horizon é uma aplicação web escrita em TypeScript: React 19 com Vite no cliente, Express no servidor, Tailwind CSS para estilo e Zod para validação. Os dados ficam em PostgreSQL, acessados pelo cliente pg e pelo cliente do Supabase. O Vitest roda os testes unitários nomeados na allowlist e o Playwright roda os testes end-to-end. O site no ar roda a mesma stack: o cabeçalho de resposta menciona o Express e a página carrega um bundle do Vite.

O que demonstra

Definir. A tarefa tinha uma definição mensurável antes de qualquer modelo ser escolhido: uma leitura patrimonial em que cada número carrega fonte, data e método, e em que as lacunas são declaradas em vez de preenchidas.

Instrumentar. A avaliação existe em duas camadas. O núcleo quantitativo é coberto por testes unitários ao centavo e a cadeia de câmbio por seus próprios testes unitários, ambos em uma execução datada de 31 de julho de 2026. A fronteira de saída é coberta por uma suíte adversarial com modelo de ameaça declarado. Acima do código, as próprias afirmações são instrumentadas: uma allowlist de formulações exatas, um registro de afirmações retidas e um lint que falha quando qualquer um dos dois é violado.

Integrar. A PTAX oficial, o rótulo de procedência no número exibido, a trilha de evidência e a indisponibilidade declarada fazem parte do produto, não de um slide sobre ele.

Transferir. A allowlist e o registro de afirmações retidas são o runbook do que pode ser dito. Eles sobrevivem à construção e podem ser reexecutados por qualquer pessoa com o repositório, que é como a NASCIA prefere entregar um sistema: com os testes, os limites e as palavras, tudo por escrito.

Não é recomendação de investimento. Nada nesta página recomenda a compra ou a venda de qualquer ativo.

Evidências

testes aprovados na suíte adversarial por trás da fronteira de saída fail-closed, 11 arquivos, uma execuçãoFonte: Allowlist de afirmações do projeto, EXT-B03, fato portfolio-horizon-12, 31 de julho de 2026
415
testes aprovados na execução que cobre o núcleo quantitativo, a cadeia PTAX e as afirmações da página, 6 arquivosFonte: Allowlist de afirmações do projeto, EXT-A03, fato portfolio-horizon-14, 31 de julho de 2026
67
testes aprovados na cadeia de resolução da PTAX do Banco Central do BrasilFonte: Allowlist de afirmações do projeto, EXT-A02, fato portfolio-horizon-13, 31 de julho de 2026
11
números financeiros sem suporte liberados pela fronteira de saída nessa suíte, sob o modelo de ameaça especificadoFonte: Allowlist de afirmações do projeto, EXT-B03, fato portfolio-horizon-12, 31 de julho de 2026
0

Tecnologias

  • React 19
  • TypeScript
  • Vite
  • Express
  • Tailwind CSS
  • Zod
  • PostgreSQL
  • Supabase
  • Vitest
  • Playwright

Outros trabalhos

  • Careers Studio

    Uma bancada que liga cada tópico do planejamento curricular a percursos profissionais no Reino Unido

    Ler o estudo de caso
  • Agentes financeiros empresariais

    A primeira linha da DRE mensal, a partir de dados brutos do ERP, validada contra seis meses de histórico

    Ler o estudo de caso

Traga o processo que vive quebrando.

Uma conversa costuma bastar para saber se um sistema assim cabe na sua operação, como avaliá-lo e o que seria preciso para mantê-lo funcionando.

Fale com a NASCIA