Simulações de Monte Carlo no Python

Vamos continuar a série de postagens sobre como construir um Dashboard de métricas relacionadas a avaliação de ações e construção de um Portfolio de investimentos no Python. Trazemos nessa semana a construção de simulações de Monte Carlo no Python.

Método Monte Carlo

O conceito de Simulações Monte Carlo tem origem nos trabalhos de Stanislaw Ulam e John von Neumann, durante a Segunda Guerra Mundial, quando estavam envolvidos em pesquisas sobre a bomba atômica. Eles desenvolveram o método para resolver problemas matemáticos complexos, utilizando geração aleatória de números para representar incertezas e realizar experimentos virtuais em grande escala.

Para construir as Simulações Monte Carlo seguimos três etapas principais:

  1. Modelagem: O primeiro passo é definir um modelo matemático ou estatístico que represente o problema em questão. Isso envolve identificar as variáveis de entrada e as relações entre elas. Por exemplo, suponha que queremos simular o crescimento de um investimento ao longo do tempo. Podemos usar o modelo matemático:Growth(t) = Growth(t-1) * Return(t)Onde Growth(t) é o valor do investimento no tempo t, Growth(t-1) é o valor do investimento no tempo anterior, e Return(t) é o retorno do investimento no tempo t.
  2. Geração de Números Aleatórios: Utilizando técnicas de geração de números aleatórios, como a distribuição uniforme ou outras distribuições específicas, são gerados valores aleatórios para as variáveis de entrada do modelo. Esses valores são amostras representativas da incerteza envolvida no problema. Por exemplo, podemos gerar retornos aleatórios a partir de uma distribuição normal com média e desvio padrão dados.
  3. Execução do Modelo: Os valores aleatórios gerados são inseridos no modelo, e o modelo é executado repetidamente para obter resultados. Cada execução é considerada uma simulação independente. Por exemplo, podemos executar o modelo de crescimento do investimento várias vezes, com diferentes retornos aleatórios em cada simulação.

Dashboard de Simulações de Monte Carlo do Portfólio

Para obter todo o código do processo de criação do Dashboard, faça parte do Clube AM, o repositório de códigos da Análise Macro, contendo exercícios semanais.

Para construir as simulações, partirmos do pressuposto que os retornos possuem uma distribuição normal. A partir disso, geramos diversas simulações no Python usando o módulo random.normal do Numpy, inserindo como inputs a média e desvio padrão histórico dos ativos analisados. A partir dos resultados, construímos os diferentes valores esperados das simulação em t dias.

Para facilitar todo o trabalho de criar as simulações de Monte Carlo, é possível criar um Dashboard, que automatiza todo o processo de coleta, tratamento, e a visualização de dados. No Dashboard abaixo, o processo de coleta de dados financeiros foi feito por meio da biblioteca yfinance. O Dashboard é construído no ambiente da biblioteca Shiny e os gráficos construídos por meio do Plotly.

_____________________

Quer saber mais?

Veja nossa trilha de cursos de Finanças Quantitativas

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Frameworks para criar AI Agents

Neste post, vamos dar o primeiro passo rumo à construção de Agentes de IA mais sofisticados, capazes de tomar decisões, interagir com ferramentas externas e lidar com tarefas complexas. Para isso, precisamos entender o papel dos frameworks agenticos (ou agentic frameworks) e como eles podem facilitar esse processo. Aqui introduzimos dois frameworks populares de desenvolvimento de Agentes de IA.

Construindo RAG para Análise do COPOM com SmolAgents

Este exercício demonstra, passo a passo, como aplicar o conceito de Retrieval-Augmented Generation (RAG) com agentes inteligentes na análise de documentos econômicos. Utilizando a biblioteca SmolAgents, desenvolvemos um agente capaz de interpretar e responder a perguntas sobre as atas do COPOM com base em buscas semânticas.

Como criar um Agente de IA?

Unindo conhecimentos sobre Tools, LLMs e Vector Stores, agora é hora de integrar diferentes conceitos e aprender a construir um Agente de IA completo. Neste post, nosso objetivo será criar um Agente capaz de responder perguntas sobre o cenário macroeconômico brasileiro, utilizando dados de expectativas de mercado do Boletim Focus do Banco Central do Brasil (BCB) e o framework LangChain no Python.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.