<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Tasa atractiva mínima (MARR)
Juan David Velásquez Henao
jdvelasq@unal.edu.co 
Universidad Nacional de Colombia, Sede Medellín
Facultad de Minas
Medellín, Colombia
Haga click aquí para acceder a la última versión online
Haga click aquí para ver la última versión online en nbviewer.
Preparación
Step1:  Problema del costo de capital
A medida que se invierte más capital los rendimientos obtenidos son menores (es más dificil acceder a inversiones con rentabilidades altas).
A medida que se presta más capital los interses son más altos (es más dificil acceder a créditos baratos)
Si se tiene un proyecto cuyos fondos provienen del aporte de los socios y de diferentes esquemas de financiación, ¿cómo se calculá el costo de dichos fondos?.
<img src="images/wacc-explain.png" width="750">
Caso práctico
Una compañía eléctrica tiene las siguientes fuentes de financiamiento
Step2:  En la modelación de créditos con cashflow se consideran dos tipos de costos
<ASSISTANT_TASK:>
Python Code:
# Importa la librería financiera.
# Solo es necesario ejecutar la importación una sola vez.
import cashflows as cf
Explanation: Tasa atractiva mínima (MARR)
Juan David Velásquez Henao
jdvelasq@unal.edu.co 
Universidad Nacional de Colombia, Sede Medellín
Facultad de Minas
Medellín, Colombia
Haga click aquí para acceder a la última versión online
Haga click aquí para ver la última versión online en nbviewer.
Preparación
End of explanation
import cashflows as cf
##
## Se tienen cuatro fuentes de capital con diferentes costos
## sus datos se almacenarar en las siguientes listas:
##
monto   = [0] * 4
interes = [0] * 4
## emision de acciones
## --------------------------------------
monto[0]   = 4000
interes[0] = 25.0 / 1.0  # tasa de descueto de la acción
## préstamo 1.
## -------------------------------------------------------
## 
nrate = cf.interest_rate(const_value=[20]*5, start=2018)
credito1 = cf.fixed_ppal_loan(amount    = 2000,     # monto
                              nrate     = nrate,    # tasa de interés
                              orgpoints = 50/2000)  # costos de originación
credito1           
Explanation: Problema del costo de capital
A medida que se invierte más capital los rendimientos obtenidos son menores (es más dificil acceder a inversiones con rentabilidades altas).
A medida que se presta más capital los interses son más altos (es más dificil acceder a créditos baratos)
Si se tiene un proyecto cuyos fondos provienen del aporte de los socios y de diferentes esquemas de financiación, ¿cómo se calculá el costo de dichos fondos?.
<img src="images/wacc-explain.png" width="750">
Caso práctico
Una compañía eléctrica tiene las siguientes fuentes de financiamiento:
Un total de $ 4000 por la emisión de 4.000 acciones. Se espera un dividendo de $ 0.25 por acción para los próximos años.
Un préstamo bancario (Préstamo 1) de $ 2.000. El préstamo se paga en 4 cuotas iguales a capital más intereses sobre el saldo total de deuda liquidados a una tasa efectiva de interés del 20%. En el momento del desembolso se cobró una comisión bancaria de $ 50.
Un préstamo bancario (Préstamo 2) de $ 1.000 con descuento de 24 puntos. El préstamo se paga en 4 cuotas totales iguales que incluyen intereses más capital. La tasa de interés es del 20%.
La venta de un bono con pago principal de $ 5.000, el cual fue vendido por $ 4.000. El capital se dedimirá en 4 períodos y se pagarán intereses a una tasa del 7%. El bono tiene un costo de venta de $ 50.
El impuesto de renta es del 30%.
Solución
End of explanation
## flujo de caja para el crédito antes de impuestos
tax_rate = cf.interest_rate(const_value=[30]*5, start=2018)
credito1.tocashflow(tax_rate=tax_rate)
## la tasa efectiva pagada por el crédito es 
## aquella que hace el valor presente cero para
## el flujo de caja anterior (antes o después de 
## impuestos)
credito1.true_rate(tax_rate = tax_rate)
## se almacenan los datos para este credito
monto[1]   = 2000
interes[1] = credito1.true_rate(tax_rate = tax_rate)
## préstamo 2.
## -------------------------------------------------------
## 
credito2 = cf.fixed_rate_loan(amount    = 1000,     # monto
                              nrate     =   20,     # tasa de interés
                              start     = 2018,
                              grace     =    0,
                              life      =    4,     # número de cuotas
                              dispoints =    0.24)  # costos de constitución
credito2 
credito2.tocashflow(tax_rate = tax_rate)
credito2.true_rate(tax_rate = tax_rate)
## se almacenan los datos para este credito
monto[2]   = 1000
interes[2] = credito2.true_rate(tax_rate = tax_rate)
## préstamo 3.
## -------------------------------------------------------
## 
nrate = cf.interest_rate(const_value=[7]*5, start=2018)
credito3 = cf.bullet_loan(amount     = 5000,     # monto
                          nrate      =   nrate,  # tasa de interés
                          orgpoints  =    0.01,  # costos de originación
                          dispoints  =    0.20)  # puntos de descuento
credito3 
credito3.tocashflow(tax_rate=tax_rate)
credito3.true_rate(tax_rate=tax_rate)
## se almacenan los datos de este crédito
monto[3]   = 5000
interes[3] = credito3.true_rate(tax_rate=tax_rate)
## montos
monto
## tasas
interes
## Costo ponderado del capital (WACC)
## -------------------------------------------------------------
## es el promdio ponderado de las tasas por 
## el porcentaje de capital correspondiente a cada fuente
##
s    = sum(monto)           # capital total
wacc = sum([x*r/s for x, r in zip(monto, interes)])
wacc
Explanation: En la modelación de créditos con cashflow se consideran dos tipos de costos:
Los puntos de descuento (dispoints) como porcentaje sobre el monto de la deuda. Estos son una forma de pago de intereses por anticipado con el fin de bajar la tasa de interés del crédito. 
Los puntos de constitución (orgpoints) como porcentaje del monto de deuda. Son los costos de constitución del crédito y no son considerados como intereses.
Ya que los intereses de los créditos pueden descontarse como costos financieros, estos disminuyen el pago del impuesto de renta. Por consiguiente, en el análisis de los créditos debe tenerse en cuenta el beneficio por pago de intereses el cual equivale a los impuestos pagados por período multiplicados por la tasa del impuesto de renta. Ya que los puntos de descuento son intereses, estos se tienen en cuenta en el cálculo de este beneficio.
End of explanation
<END_TASK>