Está en la página 1de 11

MODELIZACIÓN FINANCIERA CON EXCEL

SÁNCHEZ ALVAREZ, ISIDRO


LAFUENTE ROBLEDO, MANUEL
LÓPEZ ARES, SUSANA
Departamento de Economía Cuantitativa – Universidad de Oviedo

La enseñanza de la Matemática de las Operaciones Financieras ha experimentado


durante la década de los noventa una transformación profunda como consecuencia de la
progresiva introducción de los programas informáticos. Las hojas de cálculo, dada su gran
facilidad de uso, su flexibilidad y su utilización generalizada, han sido una de las herramientas
disponibles más potentes para el tratamiento de problemas financieros. De ahí que su
incorporación a los programas docentes de esta disciplina se hayan convertido en una norma
casi obligada para garantizar la calidad de la enseñanza en esta materia. No obstante, es preciso
tener en cuenta que para aplicaciones de alto nivel se requieren programas más especializados
(por ejemplo, para gestión de carteras) y que cada vez están más extendidas otras herrramientas
informáticas de cálculo avanzado como los programas de cálculo numérico (por ejemplo, las
aplicaciones financieras específicas de Matlab) o de cálculo simbólico (Mathematica, Maple,
Matlab, Derive, etc.). De ahí que la hoja de cálculo haya dejado de ser el único programa
informático de uso generalizado para el tratamiento de operaciones financieras, y que
progresivamente sea preciso incorporar las nuevas aplicaciones en los curricula del alumno.
La utilización de las hojas de cálculo en la modelización de problemas de matemática
financiera representa importantes ventajas didácticas:
• Dado el carácter eminentemente práctico de la misma, simplifica en gran medida la materia
a impartir, ya que con los principios y razonamientos elementales permite prescindir del
desarrollo de buen número de las fórmulas que la matemática financiera plantea para
realizar valoraciones.
• Como consecuencia se produce un gran ahorro de tiempo en cuanto a las necesidades de
clases magistrales, lo cual permite dedicar más tiempo a la explicación detallada y
pormenorizada de los conceptos fundamentales.
• Desde el punto de vista puramente didáctico facilita la comprensión y el estudio del alumno,
el cual se tiene que centrar en los aspectos básicos de la asignatura, reduciéndose de forma
muy importante la memorización de conceptos.
• Permite determinar de manera rápida y exacta los distintos valores que sea necesario
obtener y, consecuentemente, comparar entre distintas operaciones financieras planteadas al
alumno de forma inmediata.
• Operaciones con cálculos numéricos importantes, como la realización de cuadros de
amortización de préstamos y empréstitos, también se pueden realizar con gran rapidez, y
llevar a cabo un análisis de sensibilidad del mismo.
• En general, permite resolver el problema hasta la solución final y extraer las conclusiones
operativas, fase que en los cálculos manuales es muchas veces soslayada.
Consecuentemente, facilita la detección de posibles inconsistencias y datos erróneos en los
planteamientos y resultados.
• La utilización de herramientas informáticas ayuda por otra parte a motivar a los alumnos
como consecuencia del atractivo generalizado del soporte informático. No obstante, este
aspecto no se puede generalizar a todos los alumnos, y además tiene un efecto que se diluye
con el tiempo.
A continuación, se desarrollan una serie de modelos de matemática financiera con hoja
de cálculo con el objeto de ilustrar de forma clara y precisa como se pueden implementar dichos
problemas financieros en Excel. Los tres primeros casos corresponden a la matemática
financiera clásica y consideramos que deberían representar las aplicaciones informáticas
mínimas de cualquier curso de esta disciplina en la Facultades y Escuelas Universitarias de
Ciencias Empresariales.

I. VALORACIÓN DE RENTAS.
La función VNA(tasa; capitales) permite obtener el valor actual de cualquier renta, sean
cuales sean sus capitales, incluso si carecen decualquier tipo de periodicidad. Así pues, la teoría
de rentas, que constituye una de las partes básicas del cuerpo de la matemática financiera se
puede analizar con el planteamiento adecuado del problema con esta función. Las rentas en
progresión aritmética y geométrica, las rentas fraccionadas y las rentas plurianuales, que
normalmente solían plantear dificultades de comprensión para el alumno, se reducen así a una
estructura ssencilla en las hojas de cálculo.
Respecto al empleo de esta función es preciso señalar los siguientes aspectos
pedagógicos:
• La función VNA calcula el valor actual de la renta considerada como postpagable, con lo
cual es preciso indicar al alumno las posibles opciones para valorar las rentas prepagables, y
el cálculo de los valores finales.
• Al igual que en los cálculos manuales, el alumno tiene dificultades para aplicar
adecuadamente los tipos de interés, por lo cual éste deberá ser un aspecto a resaltar.
• En el caso de una renta que incluya tramos de periodicidad distinta en el pago o pagos de
cuantía o variabilidad diferente, lo más adecuado es plantear toda la renta como un solo
problema cuyo valor actual se desea calcular. Para ello será preciso imaginar que cada
celda representa el periodo de tiempo más pequeño de todos los considerados en la renta.
Las celdas que representen periodos donde no venzan capitales aparecerán con un cero
(algunas hojas de cálculo consideran la celda vacía como un cero; no es el caso de Excel).
Existen otras funciones predefinidas que permiten calcular valores actuales y finales de
rentas constantes (VA y VF, respectivamente). Para rentas en progresión aritmética y
geométrica se pueden definir mediante funciones en Visual Basic. No obstante, la función
VNA permite valorar de forma más genérica todas las rentas.
Por otra parte, la hoja Excel permite instalar más funciones de las que inicialmente
aparecen disponibles. En el menú de Herramientas se puede ejecutar la opción Complementos e
instalar las Herramientas para análisis. Con esta opción se dispone de un mayor número de
funciones, y entre ellas una que permite mejorar las utilidades de la función VNA. Se trata de la
función VNA.NO.PER(tasa;capitales;fechas) que permite calcular el valor actual de una renta
con capitales y vencimientos cualesquiera y no periódicos. En Capitales se introduce el rango
de celdas con los flujos y en Fechas el rango de celdas con los vencimientos asociados, tal
como se ilustra en el gráfico I. Con ello se evita construir los esquemas de rentas elaborados
que exige la función VAN.
N
Pi
La función implícita en VAN.NO.PER es ∑i =1
( d i − d1 )
donde d i es la i-ésima
(1 + tasa ) 365

fecha de pago, d 1 la fecha de pago 0 (del primer capital) y Pi el i-ésimo pago. La tasa deberá

ser por tanto un tipo de interés efectivo anual.


GRÁFICO I
II. TASAS INTERNAS DE RENTABILIDAD
Las tasas internas de rentabilidad se pueden obtener fácilmente con la función
TIR(capitales;estimar) donde Capitales recoge el rango de celdas donde se hallan los flujos de
caja y Estimar es un argumento opcional que indica el tipo de interés a partir del cual comienza
el método iterativo de aproximación. El método utilizado por Excel para aproximar las raíces es
el de Newton. En relación con los argumentos de la función hay tres aspectos sobre los cuales
es preciso insistir al alumno:
• El rango de capitales debe incluir al menos un capital de cada signo.
• Si no se indica ninguna estimación, el método parte del 10 por ciento. Normalmente, esta
estimación es suficiente para los tipos de interés anuales habituales. No obstante, se deberá
modificar cuando el resultado sea erróneo, debiendo introducirse un tipo de interés más
próximo al exacto (por ejemplo, cuando se trata de tipos mensuales bajos).
• El tipo de interés resultante no siempre es anual, sino que estará referido al periodo que
indica el salto de celda a celda.
• En el caso de que existan varias tasas internas de rentabilidad, la aproximación requiere
cambiar el argumento “Estimar” al valor preciso, normalmente valores cercanos a la raíz
que se desea conocer. Para sugerir la posibilidad de múltiples tasas internas de rentabilidad
es aconsejable representar o calcular el VAN para un intervalo amplio de valores del tipo de
interés y observar los cambios de signo.
GRÁFICO II

40,00

30,00

20,00

10,00

0,00
10%

12%

14%

16%
18%

20%

22%
24%
26%

28%

30%

32%
0%

2%

4%

6%

8%

-10,00

-20,00

-30,00

Ahora bien, cuando existen múltiples tasas de rentabilidad internas, la convergencia a


unas u otras raíces no se produce en intervalos definidos del parámetro “Estimar”. Ilustremos
este hecho con un ejemplo. Supongamos que se desea calcular la TIR de un proyecto de
inversión con los siguientes flujos de caja: en 0 de –365; de 1 a 5 de 200; de 6 a 10 de –200; de
11 a 19 de 0; en 20 de 400. Si se representa gráficamente el VAN, se observa que la ecuación
financiera de la TIR tiene tres raíces reales (gráfico II).
Aplicando la función TIR(capitales; estimar) para tres valores de estimar diferentes y
cercanos visualmente a las raíces, la hoja de cálculo proporciona las tres TIRs: 1,54%; 16,79% y
26%. Sin embargo, si se analiza el cuadro siguiente se observa que, para valores muy próximos
del punto de inicio de las iteraciones, la raíz hacia la que converge puede ser distinta. Incluso
converge hacia cualquiera de las tres con muy ligeras modificaciones de la estimación inicial.
Por tanto, iniciar el proceso en un punto cercano a la posible raíz no siempre permite converger
hacia dicha raíz, sino que el método sigue un comportamiento caótico que impide asegurarlo.
No obstante, la regla general para hallar tales aproximaciones debe ser la de iniciar el proceso
en puntos próximos a la raíz que se desea aproximar.

Estimar TIR Estimar TIR Estimar TIR Estimar TIR


0% 1,54% 5,0% 1,54% 5,70% 16,79% 5,740% 16,79%
1% 1,54% 5,1% 1,54% 5,71% 16,79% 5,741% 16,79%
2% 1,54% 5,2% 1,54% 5,72% 16,79% 5,742% 16,79%
3% 1,54% 5,3% 1,54% 5,73% 16,79% 5,743% 16,79%
4% 1,54% 5,4% 1,54% 5,74% 16,79% 5,744% 1,54%
5% 1,54% 5,5% 1,54% 5,75% 1,54% 5,745% 16,79%
6% 16,79% 5,6% 16,79% 5,76% 16,79% 5,746% 16,79%
7% 26,00% 5,7% 16,79% 5,77% 16,79% 5,747% 16,79%
8% 16,79% 5,8% 26,00% 5,78% 26,00% 5,748% 1,54%
9% 16,79% 5,9% #¡DIV/0! 5,79% 26,00% 5,749% 1,54%
10% 16,79% 6,0% 16,79% 5,80% 26,00% 5,750% 1,54%

De forma similar a lo que ocurre con la función VNA, existe la posibilidad de calcular
la TIR sin necesidad de que los pagos sean periódicos, relacionando directamente los capitales y
sus vencimientos con la función TIR.NO.PER(capitales; fechas). Esta función también debe ser
activada incorporando las Herramientas de análisis. Esta opción es especialmente útil para
calcular los rendimientos al vencimiento de los bonos cuyo primer vencimiento no coincide con
un periodo de devengo completo.

III. OPERACIONES DE CONSTITUCIÓN Y AMORTIZACIÓN


Dado que las operaciones de constitución y amortización constituyen un bloque
temático de la matemática financiera con aplicaciones empresariales muy relevantes, la mayor
parte de los modelos desarrollados desde los inicios han sido dirigidos a cubrir estos aspectos.
Un conjunto de aplicaciones dirigidas a modelizar y automatizar no sólo este tipo de tareas sino
también otros amplios campos de la matemática financiera se pueden consultar en
Medina(1993). Desde el punto de vista docente, el cálculo de términos amortizativos de
préstamos y operaciones de leasing, el cálculo de imposiciones para planes de ahorro y la
elaboración de cuadros de amortización y constitución son contenidos mínimos a considerar en
cualquier programación docente.
Las hojas de cálculo disponen siempre de funciones predefinidas para la obtención de
términos amortizativos por el método francés, pero cuando los términos son variables es
preciso crear una función en Visual Basic o bien utilizar la macro «buscar objetivo» sobre un
modelo de renta predefinido. La función básica para el cálculo de términos constantes –tanto en
préstamos como leasing y constitución - es PAGO(tasa;nper;va;vf;tipo). Su manejo requiere la
consideración de varios aspectos:
• La hoja Excel considera con signo contrario los capitales de la prestación y de la
contraprestación, lo cual implica que se cambie el signo del valor obtenido o de «va» si se
desea manejar cifras positivas.
• Al igual que el resto de funciones financieras, es preciso tener en cuenta que los tipos de
interés y los plazos deben ser coherentes.

IV. SIMULACIÓN DE PRECIOS DE TÍTULOS


Una de las estrategias más recomendables para explicar al alumno el comportamiento de
los precios de los títulos es la construcción de una representación gráfica que simule su
evolución. Dado que una de las hipótesis centrales del modelo de Black-Scholes es que los
precios se distribuyen según una lognormal, su simulación gráfica permite al alumno intuir el
carácter de esta hipótesis.
Si se representa por S t el precio de un título en el momento t, la distribución lognormal

asume que el logaritmo natural de uno más el interés de mantener el título entre t y t+∆t se
distribuye según una normal de media µ y desviación estándar σ. Como consecuencia, el precio
del activo S ∆t en el momento ∆t se puede describir a través de la expresión:

S ∆t = S 0 ⋅ exp( µ∆t + σZ ∆t )
donde Z es una variable normal estándar. A modo de ejemplo, supongamos el precio simulado
en la celda E7 con los datos de entrada del rango B6:B9. Para simular el precio en el momento
1 se toma un número aleatorio distribuido según una normal (celda D7) y se sustituye en la

expresión anterior: 5000 * exp(0,12 * 0,004 + 0,2 * (-0,409697805) * 0,004) = 4.976,5436.

El proceso de simulación y representación gráfica se presenta en el gráfico III. Para generar los
números aleatorios según una distribución normal se deberá ejecutar la opción
Herramientas/Análisis de datos/Generación de números aleatorios. Esta opción sólo está
disponible si se han incorporado las Herramientas de análisis. En el ejemplo citado se generan
los precios durante un periodo de 250 días, que representa aproximadamente el número de días
anuales de cotización. De ahí que al tomar ∆t=1/250=0,004 se esté simulando el precio diario
del título a lo largo de un año.
GRÁFICO III
A B C D E F G H I J
1
2 SIMULACIÓN LOGNORMAL
3
4 Tiempo Desviaciones Precio del
5 normales título
=B9
6 Media 12% 0 5000,0000
7 Sigma 20% 1 -0,409697805 4976,5436 =E6*EXP($B$6*$B$8+$B$7*D7*RAIZ($B$8))
8 Deltat 0,004 2 0,368684141 5002,2066
=E7*EXP($B$6*$B$8+$B$7*D8*RAIZ($B$8))
9 Precio del título 5.000 3 -0,69769726 4960,6356
10 4 0,063421339 4967,0003
7000
11 5 -1,095859261 4900,9764
6500 Simulación
12 6 -0,425641247 4877,0009

precio del título


13 7 1,359026101 4963,9458 6000
14 8 -0,395594952 4941,5400 5500
15 9 2,191954991 5082,9068 5000
16 10 -0,171777401 5074,3096 4500
17 11 1,645253178 5183,5049 4000
18 12 -0,063498646 5181,8299 3500
19 13 -0,776192337 5133,6665 3000
20 14 1,096555025 5207,8680 0 50 100 150 200 250
21 15 -0,515390184 5176,5113 día
22 16 -0,393279151 5153,2970

V. VALORACIÓN DE OPCIONES
GRÁFICO IV
La fórmula de Black-Scholes es fácil de automatizar en una hoja de cálculo. En el
gráfico IV se presenta un ejemplo de valoración de una opción de compra europea. De forma
similar se pueden automatizar aproximaciones a los valores put y call de opciones americanas.
En algunos casos interesará disponer de una función predeterminada para calcular el
valor de la opción directamente. Para ello se puede crear un módulo en Visual Basic como el
que se presenta a continuación.
Function Call(Precio, Ejercicio, Tiempo, Interes, sigma)
Call= Precio * Application.NormSDist(d1(Precio, Ejercicio, _
Tiempo, Interes, sigma)) - Ejercicio * Exp(-Tiempo * Interes) * _
Application.NormSDist(d1(Precio, Ejercicio, Tiempo, Interes, sigma) _
- sigma * Sqr(Tiempo))
End Function
'La opción de compra se valora a través de la paridad put-call
Function Put(Precio, Ejercicio, Tiempo, Interes, sigma)
Put= Call(Precio, Ejercicio, Tiempo, Interes, sigma) _
+ Ejercicio * Exp(-Interes * Tiempo) - Precio
End Function
Function d1(Precio, Ejercicio, Tiempo, Interes, sigma)
d1= (Log(Precio / Ejercicio) + Interes * Tiempo) / (sigma * Sqr(Tiempo)) _
+ 0.5 * sigma * Sqr(Tiempo)
End Function

VI. VALORACIÓN DE UNA OPCIÓN ASIÁTICA MEDIANTE SIMULACIÓN


Como combinación de los problemas planteados en los dos epígrafes anteriores, se
puede ilustrar la valoración de una asiática mediante simulación. En este tipo de opciones, el
payoff no depende del precio del activo subyacente al expirar el plazo, sino del precio medio del
activo a lo largo del periodo de vida de la opción. En este ejemplo se obtiene el precio de una
opción de compra asiática como el valor descontado esperado del payoff de la opción, para lo
cual es necesario aproximar este valor esperado previamente mediante simulación.
En la celda E6 (gráfico V) se introduce la expresión:
=E5*EXP(($B$8-0,5*$B$7^2)*(1/52)+$B$7*gen_normal(0;1)*RAIZ(1/52))
que permite simular el precio semanal del título a lo largo del año al copiarlo en el rango
correspondiente. En esta expresión se ha introducido la función “gen_normal(0;1)” definida por
el usuario, que genera un número aleatorio normal.
En la celda B12 se ha introducido la expresión: =PROMEDIO(E5:E57) que calcula el
precio semanal medio. A partir de este resultado, en B13 se calcula el cash flow final:
=MAX(B12-B5;0) y en la celda B14 el valor descontado del mismo: =EXP(-B9*B8)*B13.
Los resultados medios de la simulación se recogen en el rango A52:B54 , y se obtienen
a partir de los resultados de las simulaciones realizadas (columnas G y H) a través del módulo
que se recoge a continuación.
GRÁFICO V

Function Simular()
'Borrar rango de salida
Filas = 0
For i = 1 To 65536
Contenido = Worksheets("Opciones_2").Cells(i + 2, "G").Value
If Contenido = 0 Then
Exit For
Else
Filas = Filas + 1
End If
Next i
Set RangoOcupado = Worksheets("Opciones_2").Range("G3",
Worksheets("Opciones_2").Cells(Filas + 2, "H"))
RangoOcupado.ClearContents
'Simulaciones
Simulaciones = InputBox("Número de simulaciones: ")
For i = 1 To Simulaciones
Worksheets("Opciones_2").Calculate
Worksheets("Opciones_2").Cells(i + 2, "G").Value = i
Worksheets("Opciones_2").Cells(i + 2, "H").Value =
Worksheets("Opciones_2").Range("B14").Value
Next i
Worksheets("Opciones_2").Range("B52").Value = Simulaciones
Set rango = Worksheets("Opciones_2").Range("H3",
Worksheets("Opciones_2").Cells(Simulaciones + 2, "H"))
Worksheets("Opciones_2").Range("B53").Value = Application.Average(rango)
Worksheets("Opciones_2").Range("B54").Value = Application.StDevP(rango)

End Function
VII. ANÁLISIS DE DURACIÓN
Dentro de las herramientas de análisis, se pueden incorporar también dos funciones para
realizar el análisis de duración:
• DURACION(liq; vto; cupón; rto; frec; base)
Devuelve la duración de Macauley de un bono de valor nominal supuesto de 100
unidades monetarias. Cada uno de los argumentos de la función representan los siguientes
parámetros del bono:
Liq es la fecha de liquidación o adquisición del bono.
Vto es la fecha de vencimiento del bono.
Cupón es la tasa de interés nominal anual del bono.
Rto es el rendimiento al vencimiento del bono (interés noiminal).
Frec es el número de cupones que se pagan por año.
Base determina el cálculo de días: 0 u omitida (USA 30/360); 1 (Actual/Actual); 2 (Actual/360);
3 (Actual/365); 4 (Europea 30/360).
• DURACION.MODIF(liq; vto; cupón; rto; frec; base)
Devuelve la duración modificada de un valor bursátil, a través de la expresión:
Duración
Duración modificada =
Rendimient o al vencimien to
1+
Número de cupones anuales
Los argumentos y funcionamiento son similares a los de la función DURACION.
Dado que ambas funciones son relativamente complejas de manejar, puede ser
recomendable la creación de una función definida por el usuario que calcule la duración con los
siguientes argumentos: pagos, cupón, rendimiento al vencimiento y tiempo hasta el primer pago.

Otras aplicaciones clásicas de problemas financieros como la gestión de carteras,


también desarrollados desde los primeros pasos de la hoja de cálculo pueden analizarse en
Medina(1993) y en la mayoría de los textos de programación no lineal de los últimos años.
Destacar por último el gran número de funciones financieras que las Herramientas de análisis
hacen disponibles, y que en muchos caso resultan opacas al usuario.

REFERENCIAS BIBLIOGRÁFICAS
FERNÁNDEZ, P. (1996): Opciones, futuros e instrumentos derivados. Deusto. Bilbao.
MEDINA, A.(1993): 50 Modelos financieros con Excel. Anaya Multimedia. Madrid.
LÓPEZ, S. y SÁNCHEZ, I.(1997): “Modelización financiera con Maple V”, en
Byana, A. y otros: Matemática de las Operaciones Financieras 97, Universitat de Barcelona.