import pandas as pd
# Datos del problema
inversion_inicial = 105000
ingreso_anual = 30000
valor_salvataje = 5000
vida_util = 5
tasa_impuesto = 0.34
costo_capital = 0.09
# Depreciación lineal
depreciacion_anual = (inversion_inicial - valor_salvataje) / vida_util
# Cálculos anuales
data = []
flujo_caja_total = 0
for año in
range(1, vida_util
+ 1): # Ingreso antes de impuestos
ingreso_bruto = ingreso_anual
# Depreciación
dep = depreciacion_anual
# Utilidad antes de impuestos (UAII)
utilidad_antes_imp = ingreso_bruto - dep
# Impuesto
impuesto = utilidad_antes_imp * tasa_impuesto
# Utilidad neta
utilidad_neta = utilidad_antes_imp - impuesto
# Flujo de caja neto (Utilidad neta + depreciación)
flujo_caja_neto = utilidad_neta + dep
# Si es el último año, sumar valor de salvataje
if año == vida_util:
flujo_caja_neto += valor_salvataje
flujo_caja_total += flujo_caja_neto
data.append([año, ingreso_bruto, dep, utilidad_antes_imp, impuesto, utilidad_neta, flujo_caja_neto])
# Crear DataFrame
df = pd.DataFrame(data, columns=["Año", "Ingreso Bruto", "Depreciación", "UAII", "Impuesto", "Utilidad Neta", "Flujo de Caja Neto"])
# Calcular VAN
van = -inversion_inicial
for i, row in df.iterrows():
van += row["Flujo de Caja Neto"] / ((1 + costo_capital) ** row["Año"])
# Agregar flujo de caja acumulado
df["Flujo Caja Acumulado"] = df["Flujo de Caja Neto"].cumsum()
import caas_jupyter_tools
caas_jupyter_tools.display_dataframe_to_user(name="Evaluación Financiera del Equipo", dataframe=df)
van, flujo_caja_total
aW1wb3J0IHBhbmRhcyBhcyBwZAoKIyBEYXRvcyBkZWwgcHJvYmxlbWEKaW52ZXJzaW9uX2luaWNpYWwgPSAxMDUwMDAKaW5ncmVzb19hbnVhbCA9IDMwMDAwCnZhbG9yX3NhbHZhdGFqZSA9IDUwMDAKdmlkYV91dGlsID0gNQp0YXNhX2ltcHVlc3RvID0gMC4zNApjb3N0b19jYXBpdGFsID0gMC4wOQoKIyBEZXByZWNpYWNpw7NuIGxpbmVhbApkZXByZWNpYWNpb25fYW51YWwgPSAoaW52ZXJzaW9uX2luaWNpYWwgLSB2YWxvcl9zYWx2YXRhamUpIC8gdmlkYV91dGlsCgojIEPDoWxjdWxvcyBhbnVhbGVzCmRhdGEgPSBbXQpmbHVqb19jYWphX3RvdGFsID0gMAoKZm9yIGHDsW8gaW4gcmFuZ2UoMSwgdmlkYV91dGlsICsgMSk6CiAgICAjIEluZ3Jlc28gYW50ZXMgZGUgaW1wdWVzdG9zCiAgICBpbmdyZXNvX2JydXRvID0gaW5ncmVzb19hbnVhbAogICAgCiAgICAjIERlcHJlY2lhY2nDs24KICAgIGRlcCA9IGRlcHJlY2lhY2lvbl9hbnVhbAogICAgCiAgICAjIFV0aWxpZGFkIGFudGVzIGRlIGltcHVlc3RvcyAoVUFJSSkKICAgIHV0aWxpZGFkX2FudGVzX2ltcCA9IGluZ3Jlc29fYnJ1dG8gLSBkZXAKICAgIAogICAgIyBJbXB1ZXN0bwogICAgaW1wdWVzdG8gPSB1dGlsaWRhZF9hbnRlc19pbXAgKiB0YXNhX2ltcHVlc3RvCiAgICAKICAgICMgVXRpbGlkYWQgbmV0YQogICAgdXRpbGlkYWRfbmV0YSA9IHV0aWxpZGFkX2FudGVzX2ltcCAtIGltcHVlc3RvCiAgICAKICAgICMgRmx1am8gZGUgY2FqYSBuZXRvIChVdGlsaWRhZCBuZXRhICsgZGVwcmVjaWFjacOzbikKICAgIGZsdWpvX2NhamFfbmV0byA9IHV0aWxpZGFkX25ldGEgKyBkZXAKICAgIAogICAgIyBTaSBlcyBlbCDDumx0aW1vIGHDsW8sIHN1bWFyIHZhbG9yIGRlIHNhbHZhdGFqZQogICAgaWYgYcOxbyA9PSB2aWRhX3V0aWw6CiAgICAgICAgZmx1am9fY2FqYV9uZXRvICs9IHZhbG9yX3NhbHZhdGFqZQogICAgCiAgICBmbHVqb19jYWphX3RvdGFsICs9IGZsdWpvX2NhamFfbmV0bwogICAgCiAgICBkYXRhLmFwcGVuZChbYcOxbywgaW5ncmVzb19icnV0bywgZGVwLCB1dGlsaWRhZF9hbnRlc19pbXAsIGltcHVlc3RvLCB1dGlsaWRhZF9uZXRhLCBmbHVqb19jYWphX25ldG9dKQoKIyBDcmVhciBEYXRhRnJhbWUKZGYgPSBwZC5EYXRhRnJhbWUoZGF0YSwgY29sdW1ucz1bIkHDsW8iLCAiSW5ncmVzbyBCcnV0byIsICJEZXByZWNpYWNpw7NuIiwgIlVBSUkiLCAiSW1wdWVzdG8iLCAiVXRpbGlkYWQgTmV0YSIsICJGbHVqbyBkZSBDYWphIE5ldG8iXSkKCiMgQ2FsY3VsYXIgVkFOCnZhbiA9IC1pbnZlcnNpb25faW5pY2lhbApmb3IgaSwgcm93IGluIGRmLml0ZXJyb3dzKCk6CiAgICB2YW4gKz0gcm93WyJGbHVqbyBkZSBDYWphIE5ldG8iXSAvICgoMSArIGNvc3RvX2NhcGl0YWwpICoqIHJvd1siQcOxbyJdKQoKIyBBZ3JlZ2FyIGZsdWpvIGRlIGNhamEgYWN1bXVsYWRvCmRmWyJGbHVqbyBDYWphIEFjdW11bGFkbyJdID0gZGZbIkZsdWpvIGRlIENhamEgTmV0byJdLmN1bXN1bSgpCgppbXBvcnQgY2Fhc19qdXB5dGVyX3Rvb2xzCmNhYXNfanVweXRlcl90b29scy5kaXNwbGF5X2RhdGFmcmFtZV90b191c2VyKG5hbWU9IkV2YWx1YWNpw7NuIEZpbmFuY2llcmEgZGVsIEVxdWlwbyIsIGRhdGFmcmFtZT1kZikKCnZhbiwgZmx1am9fY2FqYV90b3RhbA==
import pandas as pd
# Datos del problema
inversion_inicial = 105000
ingreso_anual = 30000
valor_salvataje = 5000
vida_util = 5
tasa_impuesto = 0.34
costo_capital = 0.09
# Depreciación lineal
depreciacion_anual = (inversion_inicial - valor_salvataje) / vida_util
# Cálculos anuales
data = []
flujo_caja_total = 0
for año in range(1, vida_util + 1):
# Ingreso antes de impuestos
ingreso_bruto = ingreso_anual
# Depreciación
dep = depreciacion_anual
# Utilidad antes de impuestos (UAII)
utilidad_antes_imp = ingreso_bruto - dep
# Impuesto
impuesto = utilidad_antes_imp * tasa_impuesto
# Utilidad neta
utilidad_neta = utilidad_antes_imp - impuesto
# Flujo de caja neto (Utilidad neta + depreciación)
flujo_caja_neto = utilidad_neta + dep
# Si es el último año, sumar valor de salvataje
if año == vida_util:
flujo_caja_neto += valor_salvataje
flujo_caja_total += flujo_caja_neto
data.append([año, ingreso_bruto, dep, utilidad_antes_imp, impuesto, utilidad_neta, flujo_caja_neto])
# Crear DataFrame
df = pd.DataFrame(data, columns=["Año", "Ingreso Bruto", "Depreciación", "UAII", "Impuesto", "Utilidad Neta", "Flujo de Caja Neto"])
# Calcular VAN
van = -inversion_inicial
for i, row in df.iterrows():
van += row["Flujo de Caja Neto"] / ((1 + costo_capital) ** row["Año"])
# Agregar flujo de caja acumulado
df["Flujo Caja Acumulado"] = df["Flujo de Caja Neto"].cumsum()
import caas_jupyter_tools
caas_jupyter_tools.display_dataframe_to_user(name="Evaluación Financiera del Equipo", dataframe=df)
van, flujo_caja_total