Guest User

Untitled

a guest
Jun 14th, 2024
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.33 KB | Source Code | 0 0
  1. import matplotlib.pyplot as plt
  2.  
  3.  
  4. # Premissas
  5. qtd_anos = 25 #mais ou menos o tempo de um titulo do tesouro IPCA
  6. ano_original = 2022 #ano dos dados coletados
  7.  
  8. inflacao = 0.0579 #https://agenciadenoticias.ibge.gov.br/agencia-noticias/2012-agencia-de-noticias/noticias/36051-inflacao-sobe-0-62-em-dezembro-e-fecha-2022-com-alta-de-5-79
  9. pib_original = 9.9 #https://cultura.uol.com.br/economia/noticias/2023/03/03/237_brasil-volta-a-ser-12-maior-economia-do-mundo-em-2022.html
  10. populacao_original = 203 #220_000_000  # https://educa.ibge.gov.br/jovens/materias-especiais/22005-censo-2022-o-retrato-atualizado-do-brasil.html
  11. riqueza_percentual_original_do_1_porcento = 0.484 #https://istoedinheiro.com.br/riqueza-no-brasil-1-mais-ricos-global-wealth/
  12. taxa_crescimento_real_pib = 0.029 #https://agenciadenoticias.ibge.gov.br/agencia-sala-de-imprensa/2013-agencia-de-noticias/releases/36371-pib-cresce-2-9-em-2022-e-fecha-o-ano-em-r-9-9-trilhoes
  13.  
  14.  
  15. ganho_real_ipca = 0.0642 #https://www.tesourodireto.com.br/titulos/precos-e-taxas.htm
  16. taxa_crescimento_populacional = 0.0052 #https://agenciadenoticias.ibge.gov.br/agencia-noticias/2012-agencia-de-noticias/noticias/37237-de-2010-a-2022-populacao-brasileira-cresce-6-5-e-chega-a-203-1-milhoes
  17. taxa_crescimento_do_pib_teorico = inflacao + 0.029 #https://agenciadenoticias.ibge.gov.br/agencia-sala-de-imprensa/2013-agencia-de-noticias/releases/36371-pib-cresce-2-9-em-2022-e-fecha-o-ano-em-r-9-9-trilhoes
  18.  
  19. taxa_crescimento_do_pib = inflacao + taxa_crescimento_real_pib
  20. taxa_crescimento_do_1_porcento = inflacao + ganho_real_ipca
  21. taxa_crescimento_do_99_porcento = inflacao
  22.  
  23.  
  24.  
  25. riqueza_absoluta_original_1_porcento = pib_original * riqueza_percentual_original_do_1_porcento
  26. riqueza_absoluta_original_99_porcento = pib_original - riqueza_absoluta_original_1_porcento
  27.  
  28. #inicio dos vetores
  29. anos =[]
  30. riqueza_absoluta_1_porcento = []
  31. riqueza_absoluta_99_porcento = []
  32. pib = []
  33. pib_teorico = []
  34. riqueza_percentual_pib_1_porcento = []
  35. riqueza_percentual_pib_99_porcento = []
  36. populacao = []
  37. populacao_1_percento = []
  38. populacao_99_percento = []
  39. pib_per_capita = []
  40. pib_per_capita_1_percent = []
  41. pib_per_capita_99_percent = []
  42.  
  43. for a in range(ano_original, ano_original + qtd_anos):
  44.     #adicionando os anos ao vetor de anos para mostrar nos graficos
  45.     anos.append(a)
  46.    
  47.     #fazendo os calculo pertinentes ao problema
  48.     tempo = a - ano_original
  49.     r1 = riqueza_absoluta_original_1_porcento * (1 + taxa_crescimento_do_1_porcento) ** tempo
  50.     r99 = riqueza_absoluta_original_99_porcento * (1 + taxa_crescimento_do_99_porcento) ** tempo
  51.     pb = r1 + r99
  52.     pbt = pib_original * (1 + taxa_crescimento_do_pib) ** tempo
  53.     pp = populacao_original * (1 + taxa_crescimento_populacional) ** tempo
  54.     p1 = pp * 0.01
  55.     p99 = pp - p1
  56.     ppc = (pb * 1_000_000_000_000) / (pp * 1_000_000)/1000
  57.     ppc1 = (r1 * 1_000_000_000_000) / (p1 * 1_000_000)/1000
  58.     ppc99 = (r99 * 1_000_000_000_000) / (p99 * 1_000_000)/1000
  59.  
  60.     #adicionando os valores aos vetores
  61.     riqueza_absoluta_1_porcento.append(r1)
  62.     riqueza_absoluta_99_porcento.append(r99)
  63.     pib.append(pb)
  64.     pib_teorico.append(pbt)
  65.     riqueza_percentual_pib_1_porcento.append(r1/pb)
  66.     riqueza_percentual_pib_99_porcento.append(r99/pb)
  67.     populacao.append(pp)
  68.     populacao_1_percento.append(p1)
  69.     populacao_99_percento.append(p99)
  70.     pib_per_capita.append(ppc)
  71.     pib_per_capita_1_percent.append(ppc1)
  72.     pib_per_capita_99_percent.append(ppc99)
  73.  
  74.  
  75.  
  76. # Plotando gráfico de linha para crescimento absoluto da riqueza
  77. plt.figure(figsize=(12, 6))
  78. plt.plot(anos, pib, label='PIB', color='green', linestyle='--')
  79. plt.plot(anos, pib_teorico, label='PIB ({:.2f}%)'.format(taxa_crescimento_real_pib * 100), color='orange', linestyle='dotted')
  80. plt.plot(anos, riqueza_absoluta_1_porcento, label='1% mais rico ({:.2f}%)'.format(taxa_crescimento_do_1_porcento * 100), color='red')
  81. plt.plot(anos, riqueza_absoluta_99_porcento, label='99% menos ricos ({:.2f}%)'.format(taxa_crescimento_do_99_porcento * 100), color='blue')
  82. plt.xlabel('Anos')
  83. plt.ylabel('Riqueza em Trilhoes de R$')
  84. plt.title('Crescimento Absoluto Comparativo da Riqueza e PIB')
  85. plt.legend()
  86. plt.grid(True)
  87. plt.show()
  88.  
  89.  
  90. # Plotando gráfico de barras empilhadas para percentuais de riqueza
  91. plt.figure(figsize=(12, 6))
  92. plt.bar(anos, riqueza_percentual_pib_99_porcento, label='99% menos ricos ({:.2f}%)'.format(taxa_crescimento_do_99_porcento * 100), color='blue')
  93. plt.bar(anos, riqueza_percentual_pib_1_porcento, bottom=riqueza_percentual_pib_99_porcento, label='1% mais rico ({:.2f}%)'.format(taxa_crescimento_do_1_porcento * 100), color='red')
  94. plt.xlabel('Anos')
  95. plt.ylabel('Percentual da Riqueza / PIB')
  96. plt.title('Evolução Percentual da Distribuição de Riqueza ao Longo dos Anos')
  97. plt.legend()
  98. plt.grid(True)
  99. plt.ylim(0, 1)  # Define o limite do eixo y para 100%
  100. plt.show()
  101.  
  102.  
  103. # Plotando gráfico de linha para PIB per capita
  104. plt.figure(figsize=(12, 6))
  105. plt.plot(anos, pib_per_capita, label='PIB per capita total', color='green', linestyle='--')
  106. plt.plot(anos, pib_per_capita_1_percent, label='PIB per capita 1% mais rico', color='red')
  107. plt.plot(anos, pib_per_capita_99_percent, label='PIB per capita 99% menos ricos', color='blue')
  108. plt.xlabel('Anos')
  109. plt.ylabel('PIB per capita (mil R$)')
  110. plt.title('Evolução do PIB per capita Total e por Faixa de Riqueza')
  111. plt.legend()
  112. plt.grid(True)
  113. plt.show()
  114.  
Advertisement
Add Comment
Please, Sign In to add comment