Notas de clase sobre ingeniería economica avanzada usando Python
Juan David Velásquez Henao
jdvelasq@unal.edu.co
Universidad Nacional de Colombia, Sede Medellín
Facultad de Minas
Medellín, Colombia
Software utilizado
Este es un documento interactivo escrito como un notebook de Jupyter , en el cual se presenta un tutorial sobre finanzas corporativas usando Python. Los notebooks de Jupyter permiten incoporar simultáneamente código, texto, gráficos y ecuaciones. El código presentado en este notebook puede ejecutarse en los sistemas operativos Linux y OS X.
Haga click aquí para obtener instrucciones detalladas sobre como instalar Jupyter en Windows y Mac OS X.
Descargue la última versión de este documento a su disco duro; luego, carguelo y ejecutelo en línea en Try Jupyter!
>
Bibliografía
- [1] SAS/ETS 14.1 User's Guide, 2015.
- [2] hp 12c platinum financial calculator. User's guide.
- [3] HP Business Consultant II Owner's manual.
- [4] C.S. Park and G.P. Sharp-Bette. Advanced Engineering Economics. John Wiley & Sons, Inc., 1990.
In [1]:
import numpy.random as rdn
import cashflows as cf
In [12]:
## se construye una función que recibe la información relevante y retorn el npv
def project(marr,
costo,
inversion):
precio = rdn.triangular( 8, 10, 12, 11).tolist()
produccion = rdn.triangular( 80, 100, 120, 11).tolist()
ingre = cf.cashflow(const_value = 0, nper = 11, spec = [(t, precio[t] * produccion[t]) if t > 0 else (0,0) for t in range(11)])
opera = cf.cashflow(const_value = 0, nper = 11, spec = [(t, costo) if t > 0 else (0,0) for t in range(11)])
inver = cf.cashflow(const_value = 0, nper = 11, spec = (0, inversion))
asset = cf.cashflow(const_value=0, nper=11, spec=(0, inversion))
life = cf.cashflow(const_value=0, nper=11, spec=(0, 5))
dep = cf.depreciation_sl(costs = asset, life=life, noprint=True)
antes = ingre - opera - inver - dep
desp = cf.after_tax_cashflow(antes, cf.nominal_rate([30] * 11))
neto = antes + dep
npv = cf.timevalue(cflo=neto, marr=marr)
return npv
In [15]:
marr = cf.nominal_rate([10] * 11)
project(marr, 220, 2000)
Out[15]:
In [18]:
import matplotlib.pyplot as plt
%matplotlib inline
In [19]:
result = []
for sim in range(1000):
result.append(project(marr, 220, 2000))
result[1:10]
Out[19]:
In [20]:
plt.hist(result)
Out[20]:
Ejercicio.-- Incluya en la simulación a las variables costo e inversión.
In [ ]: