Ahorros

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


In [1]:
# Importa la librería financiera.
# Solo es necesario ejecutar la importación una sola vez.
import cashflows as cf

Ejercicio.-- Usando Microsoft Excel u otra herramienta solucione el siguiente problema: Se abre una cuenta de ahorro que paga el 24% nominal, y durante 12 meses se hacen depósitos de $ 100 al principio del mes. A partir del mes 12 (final del mes) realiza retiros mensuales de $ 60 hasta que no quede dinero en la cuenta. ¿Cuánto es la suma aritmética de los intereses recibidos?

savings(deposits, nrate, initbal=0)

Permite modelar cuentas de ahorro.

  • deposits-- flujo de efectivo que representa los depósitos/retiros.
  • nrate -- tasa nominal de interés.
  • initbal -- balance inicial de la cuenta.

Ejemplo.-- Se abre una cuenta de ahorro que paga el 24% nominal, y durante 12 meses se hacen depósitos de $ 100 al principio del mes. ¿Cuánto es la suma aritmética de los intereses recibidos?


In [2]:
cflo = cf.cashflow(const_value=[100] * 11 + [0], start='2016-1', freq='M')
cflo


Out[2]:
2016-01    100.0
2016-02    100.0
2016-03    100.0
2016-04    100.0
2016-05    100.0
2016-06    100.0
2016-07    100.0
2016-08    100.0
2016-09    100.0
2016-10    100.0
2016-11    100.0
2016-12      0.0
Freq: M, dtype: float64

In [3]:
nrate = cf.interest_rate([24] * 12, start='2016-1', freq='M')
nrate


Out[3]:
2016-01    24.0
2016-02    24.0
2016-03    24.0
2016-04    24.0
2016-05    24.0
2016-06    24.0
2016-07    24.0
2016-08    24.0
2016-09    24.0
2016-10    24.0
2016-11    24.0
2016-12    24.0
Freq: M, dtype: float64

In [4]:
cf.savings(deposits =  cflo,      # depósito periodico     
           initbal  =   100,      # balance inicial
           nrate    = nrate)      # tasa de interés nominal


Out[4]:
Beginning_Balance Deposits Earned_Interest Ending_Balance Nominal_Rate
2016-01 100.000000 100.0 2.000000 202.000000 24.0
2016-02 202.000000 100.0 4.040000 306.040000 24.0
2016-03 306.040000 100.0 6.120800 412.160800 24.0
2016-04 412.160800 100.0 8.243216 520.404016 24.0
2016-05 520.404016 100.0 10.408080 630.812096 24.0
2016-06 630.812096 100.0 12.616242 743.428338 24.0
2016-07 743.428338 100.0 14.868567 858.296905 24.0
2016-08 858.296905 100.0 17.165938 975.462843 24.0
2016-09 975.462843 100.0 19.509257 1094.972100 24.0
2016-10 1094.972100 100.0 21.899442 1216.871542 24.0
2016-11 1216.871542 100.0 24.337431 1341.208973 24.0
2016-12 1341.208973 0.0 26.824179 1368.033152 24.0

In [5]:
x = cf.savings(deposits =  cflo,  # depósito períodico     
               initbal  =   100,  # balance inicial
               nrate    = nrate)  # tasa de interés nominal

In [6]:
x.Earned_Interest


Out[6]:
2016-01     2.000000
2016-02     4.040000
2016-03     6.120800
2016-04     8.243216
2016-05    10.408080
2016-06    12.616242
2016-07    14.868567
2016-08    17.165938
2016-09    19.509257
2016-10    21.899442
2016-11    24.337431
2016-12    26.824179
Freq: M, Name: Earned_Interest, dtype: float64

In [7]:
## intereses como lista 
x.Earned_Interest.tolist()


Out[7]:
[2.0,
 4.04,
 6.1208,
 8.243215999999999,
 10.408080319999998,
 12.616241926399999,
 14.868566764927998,
 17.16593810022656,
 19.509256862231087,
 21.89944199947571,
 24.337430839465224,
 26.824179456254527]

In [8]:
## suma aritmética de los intereses
sum(x.Earned_Interest)


Out[8]:
168.0331522689811

In [9]:
# balance final
x.Ending_Balance[-1]


Out[9]:
1368.033152268981

Ejemplo.-- Realice el mismo ejemplo anterior, pero considerando que la tasa de interés es del 16% nominal a partir de 2016-06.


In [10]:
## tasa de interés
nrate = cf.interest_rate([24] * 12, start='2016-1', freq='M', chgpts={5:16})

## depósitos
cflo = cf.cashflow(const_value=[100]*11 + [0], start='2016-1', freq='M')

## modelado
x = cf.savings(deposits =  cflo,  # deposito periodico     
               initbal  =   100,  # balance inicial
               nrate    = nrate)  # tasa de interes mensual    
x


Out[10]:
Beginning_Balance Deposits Earned_Interest Ending_Balance Nominal_Rate
2016-01 100.000000 100.0 2.000000 202.000000 24.0
2016-02 202.000000 100.0 4.040000 306.040000 24.0
2016-03 306.040000 100.0 6.120800 412.160800 24.0
2016-04 412.160800 100.0 8.243216 520.404016 24.0
2016-05 520.404016 100.0 10.408080 630.812096 24.0
2016-06 630.812096 100.0 8.410828 739.222924 16.0
2016-07 739.222924 100.0 9.856306 849.079230 16.0
2016-08 849.079230 100.0 11.321056 960.400286 16.0
2016-09 960.400286 100.0 12.805337 1073.205623 16.0
2016-10 1073.205623 100.0 14.309408 1187.515032 16.0
2016-11 1187.515032 100.0 15.833534 1303.348566 16.0
2016-12 1303.348566 0.0 17.377981 1320.726546 16.0

Ejemplo.-- Se tiene una cuenta con un saldo inicial de $ 100. Se hacen depósitos al final de cada trimestre por $ 50 (se hará el primer depósito en 3 meses). La tasa nominal es del 36% con capitalización mensual y cambiará a 24% a partir del 13avo mes (incluido). ¿Cuál será el saldo al final de mes 24?.


In [11]:
nrate = cf.interest_rate(const_value=[36]*24, start='2000-01', freq='M', chgpts={'2001-01':24})
nrate


Out[11]:
2000-01    36.0
2000-02    36.0
2000-03    36.0
2000-04    36.0
2000-05    36.0
2000-06    36.0
2000-07    36.0
2000-08    36.0
2000-09    36.0
2000-10    36.0
2000-11    36.0
2000-12    36.0
2001-01    24.0
2001-02    24.0
2001-03    24.0
2001-04    24.0
2001-05    24.0
2001-06    24.0
2001-07    24.0
2001-08    24.0
2001-09    24.0
2001-10    24.0
2001-11    24.0
2001-12    24.0
Freq: M, dtype: float64

In [12]:
cflo = cf.cashflow(const_value=0, periods=24, start='2000-01', freq='M') 
cflo[[3*t-1 for t in range(1, 9)]] = 50                   
cflo


Out[12]:
2000-01     0.0
2000-02     0.0
2000-03    50.0
2000-04     0.0
2000-05     0.0
2000-06    50.0
2000-07     0.0
2000-08     0.0
2000-09    50.0
2000-10     0.0
2000-11     0.0
2000-12    50.0
2001-01     0.0
2001-02     0.0
2001-03    50.0
2001-04     0.0
2001-05     0.0
2001-06    50.0
2001-07     0.0
2001-08     0.0
2001-09    50.0
2001-10     0.0
2001-11     0.0
2001-12    50.0
Freq: M, dtype: float64

In [13]:
x = cf.savings(deposits =  cflo, # depósito períodico     
               initbal  =   100, # balance inicial
               nrate    = nrate) # tasa de interés mensual
x


Out[13]:
Beginning_Balance Deposits Earned_Interest Ending_Balance Nominal_Rate
2000-01 100.000000 0.0 3.000000 103.000000 36.0
2000-02 103.000000 0.0 3.090000 106.090000 36.0
2000-03 106.090000 50.0 3.182700 159.272700 36.0
2000-04 159.272700 0.0 4.778181 164.050881 36.0
2000-05 164.050881 0.0 4.921526 168.972407 36.0
2000-06 168.972407 50.0 5.069172 224.041580 36.0
2000-07 224.041580 0.0 6.721247 230.762827 36.0
2000-08 230.762827 0.0 6.922885 237.685712 36.0
2000-09 237.685712 50.0 7.130571 294.816283 36.0
2000-10 294.816283 0.0 8.844488 303.660772 36.0
2000-11 303.660772 0.0 9.109823 312.770595 36.0
2000-12 312.770595 50.0 9.383118 372.153713 36.0
2001-01 372.153713 0.0 7.443074 379.596787 24.0
2001-02 379.596787 0.0 7.591936 387.188723 24.0
2001-03 387.188723 50.0 7.743774 444.932497 24.0
2001-04 444.932497 0.0 8.898650 453.831147 24.0
2001-05 453.831147 0.0 9.076623 462.907770 24.0
2001-06 462.907770 50.0 9.258155 522.165925 24.0
2001-07 522.165925 0.0 10.443319 532.609244 24.0
2001-08 532.609244 0.0 10.652185 543.261429 24.0
2001-09 543.261429 50.0 10.865229 604.126657 24.0
2001-10 604.126657 0.0 12.082533 616.209191 24.0
2001-11 616.209191 0.0 12.324184 628.533374 24.0
2001-12 628.533374 50.0 12.570667 691.104042 24.0

Ejercicio.-- Tesorería realiza el siguiente programa de inversión para los próximos 24 meses con el fin de invertir los excedentes de capital de las ventas de electricidad. El programa inicia en enero de 2018. Todos los depósitos se realizan al final de cada periodo.

  • Una cuenta de ahorro que paga el 18% nominal, con depósitos de $ 100 mensuales al principio de cada mes. La tasa cambia el 19.5% en 2019-01.
  • Una cuenta de ahorro que paga el 23% nominal y capitalización mensual, con depósitos trimestrales de 300 al inicio de cada trimestre, iniciando en enero. La tasa cambia al 22% en 2018-06, y al 21% en 2019-01.

Grafique el saldo total por trimestre.

Ahorros

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.


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.