Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Como implementar uma simulação Monte Carlo para estudar o Paradoxo de St. Petersburg?

0 votos
111 visitas
perguntada Nov 13, 2015 em Economia por danielcajueiro (5,776 pontos)  
Compartilhe

1 Resposta

+1 voto
respondida Nov 13, 2015 por danielcajueiro (5,776 pontos)  

Eu implementei em Python uma simulação Monte Carlo para estudar os payoffs do Paradoxo de St. Petersburg:

import matplotlib.pyplot as plt
import random
import numpy as np

def geraPetersburg(n):
    sample=np.empty([n])
    dist=np.empty([n])
    for i in range(n):
        m=0
        cara=False
        while(not cara):
            rv=np.random.uniform(0,1)
            if(rv>0.5):
                cara=True
            else:    
                m=m+1
        sample[i]=np.power(2,m+1)
        dist[i]=m        
    return dist,sample

if __name__ == '__main__':
    n=10000 #numero de amostras
    [dist,sample]=geraPetersburg(n)
    fig = plt.figure()
    ax = fig.add_subplot(111)  
    ax=plt.hist(dist,bins=50)
    plt.title('Numero de Rodadas ate a Primeira Cara')    
    print "Mean:",np.mean(sample)
    print "Median:",np.median(sample) 

A figura gerada com esse código foi:

St. Petersburg Implementation

...