Académique Documents
Professionnel Documents
Culture Documents
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á
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
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.
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
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
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
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.
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.