In [2]:
%load_ext autoreload
%autoreload 2

In [3]:
import bets
print(bets.url)


https://blockchain.info/multiaddr?cors=true&api_code=0fe3c82d-156d-405e-b8d4-eff695003036&active=1MKxXQvNjS78WaeZniUBKB5hbGwDSPzBTt|1J6LQKpcYTN5EEs9Ly1sEmNbWx6MFZ4NVT|1NbYpjej4tUG1LoXNcaHXEAv2BrNaE3Qn8|14ABDAcQ5vXQkKpmNHZfzEb8Ki1Thrr7gy|15idxQtkbpox9xKDQGxqjoqiqpWMEeTwgJ|1KnApPxStmyPds8ngsbPm8KFDRB2Rcvt9r

In [4]:
data = bets.getJSON(bets.url)

In [5]:
for i, address in enumerate(bets.address):
    assert data['addresses'][bets.order[i]]['address'] == address

In [6]:
balances = bets.balance(data)
balances


Out[6]:
[2030000, 16230000, 1022000, 252000, 238000, 140000]

In [7]:
coeffs = bets.bet(balances)
coeffs


Out[7]:
[3.29, 1, 13.89, 318.29, 317.81, 898.76]

In [8]:
premios = [int(b*c) for b, c in zip(balances, coeffs)]
balance_total = sum(balances)

print('Premio estimado promedio:', sum(int(premio * paso/100) for premio, paso in zip(premios, bets.paso)))
print('Balance total:', balance_total)
print('Suma porcentajes PASO:', sum(bets.paso))
print('Premio en cada caso:', premios)
print('Márgenes:           ', [balance_total-premio for premio in premios])


Premio estimado promedio: 18941743
Balance total: 19912000
Suma porcentajes PASO: 102.33
Premio en cada caso: [6678700, 16230000, 14195580, 80209080, 75638780, 125826400]
Márgenes:            [13233300, 3682000, 5716420, -60297080, -55726780, -105914400]
  • El Premio estimado promedio es menor pero próximo al Balance total: esto indica que en el promedio de los casos de infinitas jugadas, el balance en promedio va a alcanzar para pagar los premios.
  • La Suma porcentajes PASO es mayor a 100%, por qué?
  • Hay márgenes negativos: esto significa que si llegara a ganar ese candidato, no habría fondos recaudados suficientes para pagar el premio, enotonces de dónde va a salir la plata?