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:
- 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)
OndeGrowth(t)
é o valor do investimento no tempot
,Growth(t-1)
é o valor do investimento no tempo anterior, eReturn(t)
é o retorno do investimento no tempot
. - 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.
- 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