1 @c English version: 2011-03-27
3 * Introducción a finance::
4 * Funciones y Variables para finance::
7 @node Introducción a finance, Funciones y Variables para finance, finance, finance
8 @section Introducción a finance
10 Este es el Paquete "Finance" (Ver 0.1).
12 En todas las funciones, @var{rate} es la tasa de interés
13 compuesto, @var{num} es el número de periodos y debe ser
14 positivo, y @var{flow} se refiere al flujo de caja; entonces,
15 si se tiene un egreso el flujo es negativo y para un
16 ingreso un valor positivo.
18 Note que antes de usar las funciones definidas en este
19 paquete, debe cargarla escribiendo @code{load("finance")$}.
21 Autor: Nicolás Guarin Zapata.
23 @node Funciones y Variables para finance, , Introducción a finance, finance
24 @section Funciones y Variables para finance
27 @deffn {Function} days360 (@var{año1},@var{mes1},@var{dia1},@var{año2},@var{mes2},@var{dia2})
29 Calcula la distancia entre 2 fechas, asumiendo años de 360 dias y meses de 30 días.
34 (%i1) load("finance")$
35 (%i2) days360(2008,12,16,2007,3,25);
41 @deffn {Function} fv (@var{rate},@var{PV},@var{num})
43 Calcular el Valor Futuro a partir de uno en el Presente para una tasa de interés dada.
44 @var{rate} es la tasa de interés, @var{PV} es el valor prestente y @var{num} es el número
50 (%i1) load("finance")$
51 (%i2) fv(0.12,1000,3);
57 @deffn {Function} pv (@var{rate},@var{FV},@var{num})
59 Calcula el valor actual de un valor futuro dada la tasa de interés. @var{rate} es
60 la tasa de interés, @var{FV} es el valor futuro y @var{num} es el número
66 (%i1) load("finance")$
67 (%i2) pv(0.12,1000,3);
68 (%o2) 711.7802478134108
73 @deffn {Function} graph_flow (@var{val})
75 Grafica el flujo de caja en una línea de tiempo, los valores positivos
76 están en azul y hacia arriba; los negativos están en rojo y hacia
78 La dirección del flujo está dada por el signo de los valores.
79 @var{val} es una lista de los valores del flujo de caja.
84 (%i1) load("finance")$
85 (%i2) graph_flow([-5000,-3000,800,1300,1500,2000])$
90 @deffn {Function} annuity_pv (@var{rate},@var{PV},@var{num})
92 Calcula una anualidad conociendo el valor presente (tipo deuda),
93 para unos pagos periódicos y constantes. @var{rate} es la tasa
94 de interés, @var{PV} es el valor presente y @var{num} es el
100 (%i1) load("finance")$
101 (%i2) annuity_pv(0.12,5000,10);
102 (%o2) 884.9208207992202
107 @deffn {Function} annuity_fv (@var{rate},@var{FV},@var{num})
109 Calcula una anualidad conociendo el valor deseado (valor futuro),
110 para una serie de pagos periódicos y constantes. @var{rate} es la tasa
111 de interés, @var{FV} es el valor futuroe y @var{num} es el
117 (%i1) load("finance")$
118 (%i2) annuity_fv(0.12,65000,10);
119 (%o2) 3703.970670389863
124 @deffn {Function} geo_annuity_pv (@var{rate},@var{growing_rate},@var{PV},@var{num})
126 Calcula una anualidad conociendo el valor presente (tipo deuda)
127 en una serie de pagos periodicos crecientes. @var{rate} es la tasa de interés, @var{growing_rate}
128 es el crecimiento de los pagos, @var{PV} es el valor presente, y @var{num} es el número de periodos.
133 (%i1) load("finance")$
134 (%i2) geo_annuity_pv(0.14,0.05,5000,10);
135 (%o2) 802.6888176505123
140 @deffn {Function} geo_annuity_fv (@var{rate},@var{growing_rate},@var{FV},@var{num})
143 Calcular una anualidad conociendo el valor deseado (valor futuro)
144 en una serie de pagos periodicos crecientes. @var{rate} es la tasa de interés, @var{growing_rate}
145 es el crecimiento de los pagos, @var{FV} es el valor futuro, y @var{num} es el número de periodos.
150 (%i1) load("finance")$
151 (%i2) geo_annuity_fv(0.14,0.05,5000,10);
152 (%o2) 216.5203395312695
156 @deffn {Function} amortization (@var{rate},@var{amount},@var{num})
158 La tabla de amortización determinada por una tasa.
159 Siendo @var{rate} es la tasa de interés, @var{amount} es el valor de la deuda,
160 and @var{num} es el número de periodos.
165 (%i1) load("finance")$
166 (%i2) amortization(0.05,56000,12)$
167 "n" "Balance" "Interest" "Amortization" "Payment"
168 0.000 56000.000 0.000 0.000 0.000
169 1.000 52481.777 2800.000 3518.223 6318.223
170 2.000 48787.643 2624.089 3694.134 6318.223
171 3.000 44908.802 2439.382 3878.841 6318.223
172 4.000 40836.019 2245.440 4072.783 6318.223
173 5.000 36559.597 2041.801 4276.422 6318.223
174 6.000 32069.354 1827.980 4490.243 6318.223
175 7.000 27354.599 1603.468 4714.755 6318.223
176 8.000 22404.106 1367.730 4950.493 6318.223
177 9.000 17206.088 1120.205 5198.018 6318.223
178 10.000 11748.170 860.304 5457.919 6318.223
179 11.000 6017.355 587.408 5730.814 6318.223
180 12.000 0.000 300.868 6017.355 6318.223
185 @deffn {Function} arit_amortization (@var{rate},@var{increment},@var{amount},@var{num})
187 La tabla de amortización determinada por una tasa específica y unos pagos crecientes
188 se puede hallar con @code{arit_amortization}.
189 Nótese que los pagos no son constantes, estos presentan
190 un crecimiento aritmético, el incremento es la diferencia entre dos
191 filas consecutivas en la columna "Payment".
192 @var{rate} es la tasa de interés, @var{increment} es el incremento, @var{amount}
193 es el valor de la deuda, and @var{num} es el número de periodos.
198 (%i1) load("finance")$
199 (%i2) arit_amortization(0.05,1000,56000,12)$
200 "n" "Balance" "Interest" "Amortization" "Payment"
201 0.000 56000.000 0.000 0.000 0.000
202 1.000 57403.679 2800.000 -1403.679 1396.321
203 2.000 57877.541 2870.184 -473.863 2396.321
204 3.000 57375.097 2893.877 502.444 3396.321
205 4.000 55847.530 2868.755 1527.567 4396.321
206 5.000 53243.586 2792.377 2603.945 5396.321
207 6.000 49509.443 2662.179 3734.142 6396.321
208 7.000 44588.594 2475.472 4920.849 7396.321
209 8.000 38421.703 2229.430 6166.892 8396.321
210 9.000 30946.466 1921.085 7475.236 9396.321
211 10.000 22097.468 1547.323 8848.998 10396.321
212 11.000 11806.020 1104.873 10291.448 11396.321
213 12.000 -0.000 590.301 11806.020 12396.321
218 @deffn {Function} geo_amortization (@var{rate},@var{growing_rate},@var{amount},@var{num})
220 La tabla de amortización determinada por la tasa, el valor de la deuda,
221 y el número de periodos se puede hallar con @code{geo_amortization}.
222 Nótese que los pagos no son constantes, estos presentan un
223 crecimiento geométrico, growin_rate es entonces el cociente entre
224 dos filas consecutivas de la columna "Payment".
225 @var{rate} es la tasa de interés, @var{growing_rate} es el crecimeinto de los pagos, @var{amount}
226 es el valor de la deuda, y @var{num} es el numero de periodos.
231 (%i1) load("finance")$
232 (%i2) geo_amortization(0.05,0.03,56000,12)$
233 "n" "Balance" "Interest" "Amortization" "Payment"
234 0.000 56000.000 0.000 0.000 0.000
235 1.000 53365.296 2800.000 2634.704 5434.704
236 2.000 50435.816 2668.265 2929.480 5597.745
237 3.000 47191.930 2521.791 3243.886 5765.677
238 4.000 43612.879 2359.596 3579.051 5938.648
239 5.000 39676.716 2180.644 3936.163 6116.807
240 6.000 35360.240 1983.836 4316.475 6300.311
241 7.000 30638.932 1768.012 4721.309 6489.321
242 8.000 25486.878 1531.947 5152.054 6684.000
243 9.000 19876.702 1274.344 5610.176 6884.520
244 10.000 13779.481 993.835 6097.221 7091.056
245 11.000 7164.668 688.974 6614.813 7303.787
246 12.000 0.000 358.233 7164.668 7522.901
251 @deffn {Function} saving (@var{rate},@var{amount},@var{num})
253 La tabla que presenta los valores para un ahorro constante y
254 periódico se pueden hallar con @code{saving}.
255 @var{amount} representa la cantidad deseada y @var{num} el número de
256 periodos durante los que se ahorrará.
261 (%i1) load("finance")$
262 (%i2) saving(0.15,12000,15)$
263 "n" "Balance" "Interest" "Payment"
264 0.000 0.000 0.000 0.000
265 1.000 252.205 0.000 252.205
266 2.000 542.240 37.831 252.205
267 3.000 875.781 81.336 252.205
268 4.000 1259.352 131.367 252.205
269 5.000 1700.460 188.903 252.205
270 6.000 2207.733 255.069 252.205
271 7.000 2791.098 331.160 252.205
272 8.000 3461.967 418.665 252.205
273 9.000 4233.467 519.295 252.205
274 10.000 5120.692 635.020 252.205
275 11.000 6141.000 768.104 252.205
276 12.000 7314.355 921.150 252.205
277 13.000 8663.713 1097.153 252.205
278 14.000 10215.474 1299.557 252.205
279 15.000 12000.000 1532.321 252.205
284 @deffn {Function} npv (@var{rate},@var{val})
286 Calcular el valor presente neto de una serie de valores para evaluar la
287 viabilidad de un proyecto.
288 @var{flowValues} es una lista con los valores para cada periodo.
293 (%i1) load("finance")$
294 (%i2) npv(0.25,[100,500,323,124,300]);
295 (%o2) 714.4703999999999
300 @deffn {Function} irr (@var{val},@var{IO})
302 Tasa interna de retorno (en inglés Internal Rate of Return - IRR), es el
303 valor de tasa que hace que el Valor Presente Neto (NPV) sea cero.
304 @var{flowValues} los valores para cada periodo (para periodos mayores a 0) y
305 @var{I0} el valor para el periodo cero.
310 (%i1) load("finance")$
311 (%i2) res:irr([-5000,0,800,1300,1500,2000],0)$
312 (%i3) rhs(res[1][1]);
313 (%o3) .03009250374237132
318 @deffn {Function} benefit_cost (@var{rate},@var{input},@var{output})
320 Calcular la relación Beneficio/Costo, Beneficio es el Valor Presente Neto (NPV)
321 de los flujos de caja positivos (inputs), y Costo es el Valor Presente Neto
322 de los flujos de caja negativos (outputs).
323 Nótese que si se desea tener un valor de cero para un periodo especifico,
324 esta entrada/salida debe indicarse como cero para ese periodo.
325 @var{rate} es la tasa de interés, @var{input} es una lista con los ingresos,
326 y @var{output} es una lista con los egresos.
331 (%i1) load("finance")$
332 (%i2) benefit_cost(0.24,[0,300,500,150],[100,320,0,180]);
333 (%o2) 1.427249324905784