Importando as bibliotecas

In [2]:
from IPython.display import Markdown
from tabulate import tabulate
import pandas as pd
import matplotlib.pyplot as plt

Definindo as variáveis

In [3]:
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)

In [4]:
receita = [receita if i >=2 else 0 for i in range(anos)]
receita
Out[4]:
[0, 0, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000]
In [5]:
despesa = [despesas_vista if i >=2 else 0 for i in range(anos)]
despesa
Out[5]:
[0, 0, -4000, -4000, -4000, -4000, -4000, -4000, -4000, -4000, -4000, -4000]
In [6]:
depreciation = -(equipamentos_ano_1)/(anos-2)
desp_depr = [depreciation if i >=2 else 0 for i in range(anos)]
desp_depr
Out[6]:
[0,
 0,
 -100.0,
 -100.0,
 -100.0,
 -100.0,
 -100.0,
 -100.0,
 -100.0,
 -100.0,
 -100.0,
 -100.0]
In [7]:
equipamentos = [0]
for i in range(1, anos):
    equipamentos.append(equipamentos_ano_1)
In [8]:
depreciation_y0 = [0,0]
for i in range(2, anos):
    depreciation_y0.append(depreciation_y0[-1]+ depreciation)
In [9]:
# | 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

In [10]:
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
Out[10]:
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

In [11]:
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
In [14]:
lucros_acumulados = [0,0]

for i in range(2,anos):
    lucros_acumulados.append(lucros_acumulados[-1] + lucro_liquido[i])

lucros_acumulados
Out[14]:
[0,
 0,
 900.0,
 1800.0,
 2700.0,
 3600.0,
 4500.0,
 5400.0,
 6300.0,
 7200.0,
 8100.0,
 9000.0]
In [15]:
capital_social = [caixa for i in range(anos)]
capital_social
Out[15]:
[1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000]
In [16]:
total_ativo = [caixa_final[i] + equipamentos[i] + depreciation_y0[i] for i in range(anos)]
total_ativo
Out[16]:
[1000,
 1000,
 1900.0,
 2800.0,
 3700.0,
 4600.0,
 5500.0,
 6400.0,
 7300.0,
 8200.0,
 9100.0,
 10000.0]
In [17]:
total_passivo = [capital_social[i] + lucros_acumulados[i] for i in range(anos)]
total_passivo
Out[17]:
[1000,
 1000,
 1900.0,
 2800.0,
 3700.0,
 4600.0,
 5500.0,
 6400.0,
 7300.0,
 8200.0,
 9100.0,
 10000.0]
In [19]:
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
Out[19]:
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