Criar uma simulação de Monte Carlo usando o Excel

Distribuição de Probabilidade - Simulação de Monte Carlo no Excel (Novembro 2024)

Distribuição de Probabilidade - Simulação de Monte Carlo no Excel (Novembro 2024)
Criar uma simulação de Monte Carlo usando o Excel

Índice:

Anonim

Vamos desenvolver uma simulação de Monte Carlo usando o Microsoft Excel e um jogo de dados. A simulação de Monte Carlo é um método matemático matemático que usa tiragens aleatórias para realizar cálculos e problemas complexos. Hoje, é amplamente utilizado e desempenha um papel fundamental em vários campos, como finanças, física, química, economia e muitos outros.

Simulação de Monte Carlo

O método de Monte Carlo foi inventado por Nicolas Metropolis em 1947 e procura resolver problemas complexos usando métodos aleatórios e probabilísticos. O termo "Monte Carlo" é originário da área administrativa de Mônaco popularmente conhecido como um lugar onde as elites européias jogam. Usamos o método de Monte Carlo quando o problema é muito complexo e difícil de fazer pelo cálculo direto. Um grande número de iterações permite uma simulação da distribuição normal.

O método de simulação de Monte Carlo calcula as probabilidades de integrais e resolve as equações diferenciais parciais, introduzindo assim uma abordagem estatística do risco em uma decisão probabilística. Embora existam muitas ferramentas estatísticas avançadas para criar simulações de Monte Carlo, é mais fácil simular a lei normal e a lei uniforme usando o Microsoft Excel e ignorar os fundamentos matemáticos.

Para a simulação de Monte Carlo, isolamos uma série de variáveis-chave que controlam e descrevem o resultado do experimento e atribuem uma distribuição de probabilidade após a realização de um grande número de amostras aleatórias. Vamos dar um jogo de dados como modelo.

Jogo de Dados

Veja como o jogo de dados rola:

• O jogador joga três dados que têm 6 lados 3 vezes.

• Se o total dos 3 lances for 7 ou 11, o jogador ganha.

• Se o total dos 3 lances é: 3, 4, 5, 16, 17 ou 18, o jogador perde.

• Se o total for qualquer outro resultado, o jogador joga novamente e re-roll o dado.

• Quando o jogador joga o dado novamente, o jogo continua da mesma maneira, exceto que o jogador ganha quando o total é igual à soma determinada na primeira rodada.

Também é recomendado usar uma tabela de dados para gerar os resultados. Além disso, são necessários 5 000 resultados para preparar a simulação de Monte Carlo.

Passo 1: Eventos de rolagem de dados

Primeiro, desenvolvemos uma série de dados com os resultados de cada um dos 3 dados para 50 rolos. Para fazer isso, propõe-se usar a função "RANDBETWEEN (1. 6)". Assim, cada vez que clicamos em F9, geramos um novo conjunto de resultados de rolagem. A célula "Resultado" é a soma dos resultados dos 3 rolos.

Passo 2: Faixa de resultados

Então, precisamos desenvolver uma série de dados para identificar os possíveis resultados para a primeira rodada e as rodadas subsequentes. É fornecido abaixo de um intervalo de dados de 3 colunas.Na primeira coluna, temos os números de 1 a 18. Estes números representam os possíveis resultados após rolar o dado 3 vezes: o máximo de 3 * 6 = 18. Você observará que, para as células 1 e 2, os resultados são N / A, uma vez que é impossível obter 1 ou 2 usando 3 dados. O mínimo é 3.

Na segunda coluna, as possíveis conclusões após a primeira rodada estão incluídas. Conforme indicado na declaração inicial, o jogador ganha (Win) ou perde (Lose) ou ele repete (Re-roll), dependendo do resultado (o total de 3 rolos de dados).

Na terceira coluna, as possíveis conclusões para rodadas subseqüentes são registradas. Podemos alcançar esses resultados usando uma função "Se. "Isso garante que, se o resultado obtido é equivalente ao resultado obtido na primeira rodada, ganhamos, caso contrário, seguimos as regras iniciais da peça original para determinar se re-roll os dados.

Passo 3: Conclusões

Nesta etapa, identificamos o resultado das 50 fichas de dados. A primeira conclusão pode ser obtida com uma função de índice. Esta função procura os resultados possíveis da primeira rodada, a conclusão correspondente ao resultado obtido. Por exemplo, ao obter 6, como é o caso na figura abaixo, jogamos novamente.

Pode-se obter as descobertas de outros rolos de dados, usando uma função "Or" e uma função de índice aninhada em uma função "If". Esta função diz ao Excel: "Se o resultado anterior for Win ou Lose", pare de rodar os dados porque, uma vez que ganhamos ou perdemos, terminamos. Caso contrário, vamos à coluna das seguintes conclusões possíveis e identificamos a conclusão do resultado.

Etapa 4: Número de rolos de dados

Agora, determinamos o número de rolos de dados necessários antes de perder ou ganhar. Para fazer isso, podemos usar uma função "Countif", que exige que o Excel conte os resultados de "Re-roll" e adicione o número 1 a ele. Ele adiciona um porque temos uma rodada extra, e obtemos um resultado final (ganhar ou perder).

Etapa 5: Simulação

Desenvolvemos um intervalo para rastrear os resultados de diferentes simulações. Para fazer isso, criaremos três colunas. Na primeira coluna, uma das figuras incluídas é 5 000. Na segunda coluna, buscaremos o resultado após 50 roquetes de dados. Na terceira coluna, o título da coluna, buscaremos o número de rolos de dados antes de obter o status final (ganhar ou perder).

Em seguida, criaremos uma tabela de análise de sensibilidade usando os dados de recursos ou a Tabela de dados de tabela (essa sensibilidade será inserida na segunda tabela e em terceiras colunas). Nesta análise de sensibilidade, o número de eventos de 1 a 5 000 deve ser inserido na célula A1 do arquivo. Na verdade, pode-se escolher qualquer célula vazia. A idéia é simplesmente forçar um recálculo de cada vez e, assim, obter novos rolos de dados (resultados de novas simulações) sem danificar as fórmulas no lugar.

Passo 6: Probabilidade

Podemos finalmente calcular as probabilidades de ganhar e perder. Fazemos isso usando a função "Countif".A fórmula conta o número de "ganhar" e "perder", em seguida, divide pelo número total de eventos, 5 000, para obter a proporção respectiva de um e outro. Finalmente, veremos abaixo que a probabilidade de obter um resultado Win é 73. 2% e obter um resultado Lose é, portanto, 26. 8%.