Importando as bibliotecas
from IPython.display import Markdown
from tabulate import tabulate
import pandas as pd
import matplotlib.pyplot as plt
Definindo as variáveis
anos = 10
anos = anos + 2
caixa = 1000
equipamentos_ano_1 = caixa
receita = 5000
despesas_vista = -4000
capital_social = caixa
List comprehension percorrendo e preenchendo os valores das receitas e despesas dado a compra do equipamento no ano 1 (Despesas e receitas surgirão na DRE a partir do ano 2)
receita = [receita if i >=2 else 0 for i in range(anos)]
receita
[0, 0, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000]
despesa = [despesas_vista if i >=2 else 0 for i in range(anos)]
despesa
[0, 0, -4000, -4000, -4000, -4000, -4000, -4000, -4000, -4000, -4000, -4000]
depreciation = -(equipamentos_ano_1)/(anos-2)
desp_depr = [depreciation if i >=2 else 0 for i in range(anos)]
desp_depr
[0, 0, -100.0, -100.0, -100.0, -100.0, -100.0, -100.0, -100.0, -100.0, -100.0, -100.0]
equipamentos = [0]
for i in range(1, anos):
equipamentos.append(equipamentos_ano_1)
depreciation_y0 = [0,0]
for i in range(2, anos):
depreciation_y0.append(depreciation_y0[-1]+ depreciation)
# | layout: '[100]'
valor_liquido_equipamentos = [equipamentos[i] + depreciation_y0[i] for i in range(anos)]
bp_valor_liquido = pd.DataFrame({"Valor líquido": valor_liquido_equipamentos})
bp_valor_liquido_transposto = bp_valor_liquido.T
cores = ["black", "purple"]
ax = bp_valor_liquido_transposto.plot(
kind="bar", figsize=(4, 4), width=0.8, color=cores, legend=False
)
ax.set_title("Valor Líquido dos Equipamentos ao Longo do Tempo", fontsize=16)
ax.set_xlabel("Ano", fontsize=10)
ax.set_ylabel("Valor (R$)", fontsize=10)
ax.set_xticklabels(bp_valor_liquido_transposto.index, rotation=0, fontsize=10)
plt.grid(True)
plt.tight_layout()
plt.show()
Elaboração da DRE para cálculo do lucro líquido
lucro_liquido = [receita[i] + despesa[i] + desp_depr[i] for i in range(anos)]
dre = {"Receitas à vista": receita,
"Despesas à vista": despesa,
"Despesa de depreciação": desp_depr,
"Lucro líquido": lucro_liquido
}
dre = pd.DataFrame(dre).T
dre
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Receitas à vista | 0.0 | 0.0 | 5000.0 | 5000.0 | 5000.0 | 5000.0 | 5000.0 | 5000.0 | 5000.0 | 5000.0 | 5000.0 | 5000.0 |
Despesas à vista | 0.0 | 0.0 | -4000.0 | -4000.0 | -4000.0 | -4000.0 | -4000.0 | -4000.0 | -4000.0 | -4000.0 | -4000.0 | -4000.0 |
Despesa de depreciação | 0.0 | 0.0 | -100.0 | -100.0 | -100.0 | -100.0 | -100.0 | -100.0 | -100.0 | -100.0 | -100.0 | -100.0 |
Lucro líquido | 0.0 | 0.0 | 900.0 | 900.0 | 900.0 | 900.0 | 900.0 | 900.0 | 900.0 | 900.0 | 900.0 | 900.0 |
Conseguiu extrair alguma informação dos dados acima? Observe que temos um lucro líquido do ano 2 ano ano 11 (10 anos) de 9.000 (900 * 10) que somado ao saldo inicial do investimento em imobilizado de 1000 nos leva a um total de 10.000 - Valor igual ao caixa no último ano que será exposto no Balanço Patrimonial
caixa_final = [lucro_liquido[0]]
for i in range(1, anos):
caixa_final.append(receita[i] + despesa[i] + caixa_final[i - 1])
caixa_final[0] = 1000
lucros_acumulados = [0,0]
for i in range(2,anos):
lucros_acumulados.append(lucros_acumulados[-1] + lucro_liquido[i])
lucros_acumulados
[0, 0, 900.0, 1800.0, 2700.0, 3600.0, 4500.0, 5400.0, 6300.0, 7200.0, 8100.0, 9000.0]
capital_social = [caixa for i in range(anos)]
capital_social
[1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000]
total_ativo = [caixa_final[i] + equipamentos[i] + depreciation_y0[i] for i in range(anos)]
total_ativo
[1000, 1000, 1900.0, 2800.0, 3700.0, 4600.0, 5500.0, 6400.0, 7300.0, 8200.0, 9100.0, 10000.0]
total_passivo = [capital_social[i] + lucros_acumulados[i] for i in range(anos)]
total_passivo
[1000, 1000, 1900.0, 2800.0, 3700.0, 4600.0, 5500.0, 6400.0, 7300.0, 8200.0, 9100.0, 10000.0]
bp = {
"Caixa": caixa_final,
"Equipamentos": equipamentos,
"Depreciação": depreciation_y0,
"Total ativo": total_ativo,
"Capital social": capital_social,
"Lucros acumulados": lucros_acumulados,
"Total passivo": total_passivo,
}
bp = pd.DataFrame(bp).T
bp
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Caixa | 1000.0 | 0.0 | 1000.0 | 2000.0 | 3000.0 | 4000.0 | 5000.0 | 6000.0 | 7000.0 | 8000.0 | 9000.0 | 10000.0 |
Equipamentos | 0.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 |
Depreciação | 0.0 | 0.0 | -100.0 | -200.0 | -300.0 | -400.0 | -500.0 | -600.0 | -700.0 | -800.0 | -900.0 | -1000.0 |
Total ativo | 1000.0 | 1000.0 | 1900.0 | 2800.0 | 3700.0 | 4600.0 | 5500.0 | 6400.0 | 7300.0 | 8200.0 | 9100.0 | 10000.0 |
Capital social | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 | 1000.0 |
Lucros acumulados | 0.0 | 0.0 | 900.0 | 1800.0 | 2700.0 | 3600.0 | 4500.0 | 5400.0 | 6300.0 | 7200.0 | 8100.0 | 9000.0 |
Total passivo | 1000.0 | 1000.0 | 1900.0 | 2800.0 | 3700.0 | 4600.0 | 5500.0 | 6400.0 | 7300.0 | 8200.0 | 9100.0 | 10000.0 |