La idea principal es encontrar la estructura de la curva de rendimiento, de esta formar poder conocer su comportamiento y tener un pronostico confiable que ayude a saber como sera el impacto de las variaciones de esta curva dentro del valor de los activos que se esten administrandos y tomar poder tomar decisiones que generen mayores beneficios.
Es muy importante conocer las variaciones de las tasas de interes pues de esta manera se conoce tambien cuanto variaria los flujos que ofrece un bono o cuanto sera la deuda que se tiene con una entidad.
Entonces, un metodo para obtener la curva de rendimiento seria corriendo un modelo que a traves de los precios de los bonos pueda reflejar la curva de rendimiento y ante la variacion de los precios tambien muestre la dinamica de variacion de las tasas de interes.
Aquel modelo lograra mostrar la curva de rendimiento a partir de las tasas forward que se obtengan al descontar de varios bonos con distintos vencimientos, estas estimaciones de las tasas forwards se daran a partir de las tasas spot que se presenten en el mercado.
Con las tasas forwards hallada sera necesario utilizar una regresion polinomial para finalmente obtener la curva de las tasas forwards para distintos vencimientos y luego poder obtener los valores de los distintos activos del mercado, es decir como no se conoce la curva de rendimiento de los periodos futuros, se usara la curva de las tasas forwards para poder suplir esta restriccion.
Este trabajo solo abarcara la valorizacion de los bonos y el hallazgo de las tasas forwards, es decir, este trabajo seguira los siguientes puntos :
Donde:
Sin embargo, se puede sustutir la sumatoria de valor de cupones por una progresion geometrica y de esta forma tener una formula directa para tener el valor presente del bono, sin tener de estar desarrollando la sumatoria cada vez que se desee valorar el activo, para ello se sigue lo siguiente, se tiene primero:
Pero el arreglo se hara solo en la parte de la sumatoria del valor presente de los cupones, entonces se trabaja el lado de la sumatoria se parando un termino de ella y la constante que es el valor de cupon, quedando:
\[\sum_{t=0}^{Tm} \frac{\frac{c}{m}p}{(1+\frac{y}{m})^{t}}= \frac{\frac{c}{m}p}{(1+\frac{y}{m})} \sum_{t=0}^{Tm-1} \dfrac{1}{(1+\frac{y}{m})^{t}}\]
Entonces se trata de darle una forma a la nueva sumatoria que se tiene tal que quede como una progresion geometrica:
\[\sum_{i=0}^{I} r^{i} = \dfrac{1-r^{I+1}}{1-r}\]
Por lo que que la nueva sumatoria tendra la forma de:
\[\sum_{t=0}^{Tm} \frac{\frac{c}{m}p}{(1+\frac{y}{m})^{t}}=\frac{\frac{c}{m}p}{(1+\frac{y}{m})} \sum_{t=0}^{Tm-1}\left(\frac{1}{(1+\frac{y}{m})}\right)^t\] Reemplazando la nueva sumatoria con la forma de una progresion geometrica, se tiene:
\[\sum_{t=0}^{Tm-1}\left(\frac{1}{(1+\frac{y}{m})}\right)^t=\frac{1-\left(\frac{1}{(1+\frac{y}{m})}\right)^{Tm-1+1}}{1-\left(\frac{1}{(1+\frac{y}{m})}\right)}\]
Agregandolo a la ecuacion ya operado, se tiene:
\[\sum_{t=0}^{Tm} \frac{\frac{c}{m}p}{(1+\frac{y}{m})^{t}}=\frac{\frac{c}{m}p}{(1+\frac{y}{m})}\left(\dfrac{1-(1+\frac{y}{m})^{-Tm}}{1-(1+\frac{y}{m})^{-1}}\right)\]
Por lo que operando se tiene: \[\sum_{t=0}^{Tm} \frac{\frac{c}{m}p}{(1+\frac{y}{m})^{t}}=\frac{c}{m}p\left(\frac{(1-(1+\frac{y}{m})^{-Tm})}{(\frac{y}{m})}\right)\]
Operando un poco mas se tiene:
\[\frac{c}{m}p\left(\dfrac{1}{(\frac{y}{m})}-\dfrac{1}{(\frac{y}{m})(1+\frac{y}{m})^{Tm}}\right)\]
Finalmente, sumando el arreglo obteniedo con el valor presente del principal del bono, se tendra que el valor presente de un bono se obtiene con la siguiente formula:
Con esta nueva formual para hallar el valor de un bono se puede crear una funcion que arroje el valor presente del bono luego de ingresar lo valores necesarios.
Por lo que se utilizara la siguiente funcion, la cual nos dara el valor del bono al ingresar los datos correctos.
vp.bono <- function(c, p, y, m, t){
vp.cupones <- ((c/m) * p) * ((1 / (y / m)) - (1 / ((y / m) * (1 + (y / m))^(t * m))))
valor.nominal <- p / ((1 + (y / m))^(t * m))
valor <- vp.cupones + valor.nominal
return(valor)
}Para comprobar que la nueva ecuacion dara el mismo resultado que iterar el valor presente de los flujos del bono con una sumatoria, se generara la siguiente funcion:
vp.total <- function(c, p, y, m,t){
flujos <- numeric()
l <- (m * t)
for(i in 1:l){
flujos[i] <- ((c/m) * p) / ((1 + (y / m)) ^ (i))
flujos[m*t + 1] <- p / (1 + (y / m)) ^ (m* t)
}
vp.total <- sum(flujos)
return(vp.total)
}Donde:
Por lo tanto, si se quiere saber el valor de un bono que paga semetralmente cupones con una tasa de \(5\%\) del valor nominal. Dicho bono tiene una maduracion de \(10\) años. Obtener el valor del bono para tres YMT distintos (\(4\%\), \(5\%\), \(6\%\)).
Entonces el valor de los bonos sera:
Para comprobar que la ecuacion hallada obtiene el mismo resultado que con la ecuacion incial, entonces como se muestra el resultado son los mismos resultados usando cualquier formula.
## [1] 108.18 100.00 92.56
## [1] 108.18 100.00 92.56
ALGUNOS APUNTES:Existen ciertos casos donde los emisores colocan sus activos de renta fija con tasas negativas, como por ejemplo \(-2\%\) o \(-1\%\), incluso con tasa igual a cero.
Entonces, como se observa a pesear de tener tasas de interes negativa el precio del bono es superior al valor nominal. Esto responde a la idea que tienen los inversionestas, sobre sin importar que un emisor coloque bonos con tasas negativas estas igual son una buena oportunidad de inversion pues las tasas pueden variar de tal modo que se se vuelvan positivas y asi mas rentables.
Por otro lado, al tener una tasa de cero porciento el valor del bono sera nulo ya que una division con un cero siempre sera cero, anulando toda la formula.
## [1] 177.9 163.3 NaN 138.0 127.1
Para llegar a utilizar un factor exponencial para obtener el valor de un bono, se parte de la siguiente idea.
Suponga que se tiene un zero con maduracion de un año, el cual pagara el 100% del valor facil, entonces se necesita saber el valor de este bono.
Entonces para hallar el precio del bono utilizando expresion discreta sera:
Donde, el valor del zero dependera de una tasa discreta anual (\(y_{T}^{d}\)), en caso el cupon tenga una maduracion menor a un año entonces la tasa que descontara el principal del bono tendra que ser su equivalen al tiempo de maduracion.
Ahora se sabe que la ganancia total que otorgar el bono es el pago inicial mas un interes, por lo que para el ejemplo que estamos utilizando la ganancia sera \(P + Py\), sin embargo para simplificar asumamos que la ganancias sera solo el interes ganado y supondremos que la ganancia sera de \(1\$\), entonces se tendra la siguiente igualdad:
\[P + Py = P(1+y) = 1\]
Si despejamos el precio, tendremos lo siguiente: \[P = \frac{1}{(1+y)}\]
Esta claro que este descuento tiene grado 1, pues el zero tiene una maduracion de un año; por lo que de manera general el valor de descuento tendra el grado \(m\), siendo \(m\) el año de maduracion que presente el zero.
Sin embargo que sudece si genera intereses semestrales,pero continua con su tiempo de maduracion de un año, entonces en la primera mitad del año se estara ganando:
\[P\left(1+\frac{y}{2}\right)\]
Sin embargo, como aun el zero no vence, este interes ganado sera recapitalizado hasta el siguiente periodo de ganancia que seria para este caso 6 meses mas, por que se estaria ganando para los dos periodos:
\[P\left(1+\frac{y}{2}\right) + \frac{y}{2}\left[P\left(1+\frac{y}{2}\right)\right] = 1\]
Si operamos la parte izquirda de la ecuacion
\[P\left(1+\frac{y}{2}\right)\left(1+\frac{y}{2}\right) = 1\]
Es decir, para una capitalizacion semestral, la ganancia total que va ha generar el zera sera:
\[P\left(1+\frac{y}{2}\right)^2=1\]
Si despejamos el precio del zero, se tendra.:
\[P = \frac{1}{\left(1+\frac{y}{2}\right)^2}\]Es decir, para un caso general donde un zero pague un nominal de \(1\$\) y se capitalice en m periodos al año, se puede tener las siguiente ecuacion:
Por otra lado, luego de tener esta idea general sobre hallar el valor de un zero, podemos suponesr ahora que se tiene un zero que paga un valor facial de \(1\$\), pero que la ganancias ofrecida se capitaliza minuto a minuto. Ademas supongamos que la tasa de descuento es \(100\%\).
Entonces se tendra que:
Entonces la ecuacion quedara como:
\[P = \frac{1}{\left(1+\frac{1}{525600}\right)^{525600}}\]
Aplicando esta ecuacion nos dara:
## [1] 0.3679
Por lo tanto, esta capitalizacion de minuto a minuto se puede traducir en utilizar una ecuacion en tiempo continuo, quedando el valor de un zero como:
\[P_T = VN * exp(-y_{T}*T).\]
Es decir para un bono cupon cero, su valor estara dado por el producto entre el VN que el activo pague y la exponencial de la tasa de interes por el periodo en negativo.
Otra forma de demostrar que mientras mas pequeño sea el periodo de capitalzacion, sera mejor utilizar un metodo continuo.
Primero, se tiene que el numero de euler tiene la siguiente forma:
Como se sabe el valor de un bono de manera discreta tiene la siguiente forma, donde V es el valor del bono, VN es el valor nominal, y es la tasa de interes, m es el perido de capitalizacion del bono y T es el perido en el que se vence el bono:
LLevando \((1+ \frac{y}{m})^{m}\) al numerador, el valor del bono tendra la siguiente forma:
Entonces utilizando la ecuacion anterior, si hallamos el valor del bono cuando su periodo de capitalizacion tiene al infinito y como este esta en el denominador hara que la tasa de interes se haga cada vez mas pequeña:
Al se P una constante se puede color este multiplicando al limite del periodo de capitalizacion cuando este tiende al infinito y tambien se multipica \((\frac{y}{y})\) por \(m\), de tal forma que agregar ese factor no afectara en el resultado del valor del bono, por lo que se tiene:
Entonces, el exponente \({-mT (\frac{y}{y})}\) se puede tranformar de la siguiente forma:
A partir de la ecuacion anterior podemos hacer algunos arreglos como simplificar ciertos valores, tal como se muestra a continuacion:
Entonces al reemplazar \(m/y\) por una variable simplificada que es \(n\), la forma del limite tendra tambien que cambiar por:
Entonces reemplanzado los arreglos anteriores dentro de la ecuacion del valor de un bono de manera continua, es decir cuand \(n\) tiende al infinito, la ecuacion quedaria como:
Y la ecuacion anterior tienen la forma del nuemero de Euler, de tal forma que se reemplazara \((\lim_{n \to \infty} (1+ \dfrac{1}{n})^{n})=e\), quedando el valor del bono en tiempo continuo de la siguiene forma:
Que es el mismo resultado solo que con una explicacion matematica como es que desde una valorizacion a tiempo discreto de llega a la forma de valorizar a tiempo continuo mientras el periodo de capitalizacion se hace mas pequeño.
ALGUNOS APUNTES: Entonces, la ecuacion diferencial ayudara a obtener la capitalizacion de un activo en tiempo continuo, es decir ya sea que este capitalizando de minuto a minuto o de segundo a segundo, se podra obtener la valorizacion correcta del bono. A diferencia de la ecuacion que utiliza la capitalizacion discreta, en la ecuacion diferencial no sera necesario hacer la transformacion del tiempo y la tasa en minuto o en segundos. Otra diferencia cuando un bono capitalizara en tiempo continuo sera necesario utilizar una valorizacion que tengan en cuenta esos miniperiodos de ganancia, para poder dar con una valorizacion real y rapida.
Por otro lado, que sucede si el bono si tiene cupones, entonces el procedimiento sera tomar cada flujo como un cupon cero y obtener su valor presente utilizando la ecuacion exponencial y sumar todos los valores obtenidos. Tal como se muestra en la siguiente ecuacion:
Se puede aclarar que para esta ecuacion, se tiene entendido que los cupones deben de estar de acuerdo a los periodos de pagos y de igual forma la tasa de interes; es decir, si se dan cupones anuales pero el bono pague semestral entonces los cupones tendran que transformarce a semestrales.
Una parte importante de hallar el valor de un bono sera tener claro a que tasa se tiene que descontar los flujos, para eso como no se conoce las tasas a futuro se pueden utilizar las tasas forward para estimar el valor de las tasas de interes para los siguientes periodos.
Se puede conocer las tasas forward a partir de las tasas spot y utilizando las funcion de la tasas forward en tiempo continuo se pueden determinar las tasas que sean necesarias para valorizar un bono para el siguiente periodo.
La funcion de la tasa de interes forward sera denotada por \(r(t)\), donde t sera el tiempo donde se analiza.Por ejemplo, se puede estimar que la curva de la tasa forward estara determinada por:
Entonces, dado que se considera la tasa de interes como el promedio de las tasas forward que se tienen hasta el vencimiento del bono, hallando la integral de la funcion de la tasa de interes forward, que ira desde el periodo \(0\) hasta \(T\) que es el periodo de vencimiento, se obtendra la suma acumulada de las tasas forward presentes en ese intervalo. Por lo que, de manera general la integral quedaria como:
Continuando con la idea para obtener el promedio se divira la suma acumula sobre \(T\) que es el perido de maduracion. Por lo tanto, la tasa de interes que se usa para descontar los zero y dar con su valor, tendra la siguiente formula:
Por lo tanto, cada zero sera descontado a una tasa de interes halla a partir del promedio de tasas forwards que se encuentren dentro del intervalo de vida del zero.
Para este caso Una curva es una funcion, la cual construye pieza a pieza una curva a partir de una funcion polinomial. Por lo que cada parte del polinomio esta influenciado por el precio y vencimiento de un activo.
Es importante resaltar que mientras mas nodos, que son los diferentes pares de precio y el tiempo de maduracion de cada activo, va a mejorar la estimacion de la curva de rendimiento. Entonces el modelo polinomial generara una curva que cruce por cada par de datos.
En general un modelo molinomial seguira la siguiente expresion:
Donde \(a\) es un coeficientes que se obtiene al desarrollar el modelo, tambien se sabe que:
Por lo tanto, al utilizar un modelo polinomial se podra encontrar la funcion que grafique la curva de rendimineto, para ello se puede utiliza como datos iniciales los zero emitidos por un Estado.
A continuacion, se generara una curva de rendimiento a partir del valor de un conjunto de zeros con diferente maduracion, se aclara que los cinco zeros tendran un valor facil de \(100\$\).
Entonces, se crea dos vectores el primero, llamado maduraciones, sera para guardar los años de maduracion que dendra cada bono y en el segundo, llamado precios, se guardaran los precios que presenta cada zero.
Luego, asumiremos que la tasa forward esta dada por: \[r(t)=-\frac{log(P(T_{i}))-log(P(T_{i-1}))}{T_{i}-T_{i-1}}\]
Entonces, las tasas forwards a partir de los precios y maduraciones seran:
## [1] 0.002538 0.004124 0.003175 0.004396
Como es de esperar mientras aumenta la maduracion del bono aumentara la tasa forward, esto sucede por la prima de liquidez, los inversores querran compensar el no tener liquidez en presente por obtenerlo en un futuro.Con esta curva de forwards, se puede hallar la curva de rendimiento.
Para ello, la tasa con la que iniciara nuestra cuerva sera el rendimiento que presenta el primer zero. Luego, a partir de este primer rendimiento se obtendran las siguientes tasas para cada maduracion.
El modo en que se hallan las tasas de interes para cada vencimiento, es cumulando la suma de las tasas forward hasta su vencimiento, es decir mientras presente un vencimiento alto se estaran acumulando la sumas de mas tasas forward, esto se logra con la funcion cumsum()
Esto se hace ya que como se dijo en la seccion anterior, la tasas de interes son el premido de las tasas forward que se encuentran dentro del intervalo de vida del bono.
# Se obtiene la primera tasa de interes de la curva de rendimiento.
(forward.initial <- -log(precios[1]/100))## [1] 0.01005
# Se obtienen los diferentes intereses para cada maduracion.
(forward.integrate <- c(forward.initial,
forward.initial + cumsum(forwards *
diff(maduraciones))))## [1] 0.01005 0.02020 0.04082 0.07257 0.11653
Por lo que nuestra curva de rendimiento sera: Entonces como se muestra en el grafico, la curva de rendimiento tiene una pendiento positiva, lo cual es normal pues los bonos con mayor duracion tienen que cubrir la prima de liquidez y si fuera una la curva de rendimiento de bonos cupon cero emitidos por un Estado la curva mostrada señalaria un buen rendimiento macroeconomico de aquel Estado emisor.
A partir de esta curva se pueden hallar los valores de los bonos para cada vencimiento, como se muestra el la siguiente funcion. Claro que usando la idea de capitalizacion continua.
## [1] 99 98 96 93 89
Y como la evaluacion logica arroja, los valores obtenido al usar los datos de la curva coinciden con los precios de los bonos utilizados inicialmente.
## [1] TRUE
Por otro lado, otra forma de halla la curva de rendimiento a partir de los bonos cupon cero es hallando la diferencia de logaritmo del ratio de cada precio entre su valor facial, tal como se observa en el siguiente codigo:
## [1] 0.01015 0.02062 0.03175 0.04396
Estas tasas son identicas a las que se hallaron para la curva de rendimiento pues son la version continua del crecimeinto o cambio porcentual del valor de un bono.
Ahora se hara el siguiente calculo:
## [1] 0.01010 0.02041 0.03125 0.04301
Estas tasa de interes son la version discreta y son similares a las tasas de interes continuas, sin embargo, no son iguales.
Por lo tanto, se puede reforzar la idea que las tasas de intereses son simplemente ratios de cambio del valor presente de un bono con relacion al tiempo que pasa desde su emision hasta su vencimiento.
Se sabe que el precio de un bono zero que capitaliza de manera discreta sigue la siguiente ecuacion:
Tambien para un bono zero que capitaliza de manera continua se tiene la siguiente ecuacion:
Entonce, igualando ambas ecuaciones se tiene:
Haciendo que la variable del valor nominal pase dividiendo a la otra parte de la ecuacion se simplifican ambos valores. Tambien como el exponencual es negativo se pasa al denominador haciendo que la ecuacion quede:
Haciendo que los denominadores pasen multiplicando hacia la parte opuesta la ecuacion queda:
Multiplicando ambas partes por \(1^{-T}\) y aplicando logartimo a cada parte, se tiene:
Entonces, una tasa anual discreta de \(0.2499\), veremos a cuanto equivale dicha tasa utilzando las formulas para tiempo continuo y discreto.
Por lo que la tasa discreta sera 0.2231 y la tasa continua sera 0.2839, se comprueba que la tasa de interes continua siempre sera menor a la tasa de interes discreta, pues la version continua computa intervalor de periodicidad pequeños a comparacion de los que computa la versicon discreta
Se puede entender que la tasa forward depen de dos factores, del tiempo t y de un parametro que absorve toda la informacion que sea necesaria para obtener la tasa forward \(\theta\). Entonces, la funcion de la tasa forward tendria las siguiente forma:
Es decir, la tasa forward esta compuesta por un termino constante de largo plazo (\(\theta_{0}\)), con una pendiente \(\theta_{1}\) y asi cuanto mas factores .
Sin embargo, la funcion expuesta se puede analizar en un momento en el tiempo dado, pero que pasa si quisieramos saber la tasa forward acumulada de durante el intervalo de vida del bono. Entonces al integrar la funcion desde cero hasta el tiempo de vencimiento se tendra:
Entonces nosotros podemos hallar la tasa de interes para distintos bonos con diferentes vencimientos, de tal modo que se obtienen la curva de rendimineto para bonos cupon cero. El modo de hallar la tasa de interes sera dividiento sobre el año de maduracion, de tal modo que cumplimos con la idea que la tasa de interes es la tasa forward promedio que existe entre el intervalo de vida del bono.
Por lo tanto, al dividir la intetral sobre el año de vencimiento del bono se tiene la siguien formula general:
Por lo tanto, si tuvieramos el conjutno de valores que toma los distintos parametos \(\theta_{p}\) y el periodo tiempo de vencimiento de un bono cero, podriamos hallar la tasa de interes que forma parte de la curva de rendimiento para el vencimiento que presenta dicho bono.
Para este trabajo se utilizaran los datos de bonos cupon cero emitido por los Estados Unidos. El cunjunto de 117 datos muestra el precio de distintos cupon cero con distintos vencimientos.
Entonces, como se muestra en el codigo se obtienen los datos y se guardan en el objeto data y mostramos los 6 primeros datos.
# Se otienen los datos.
data <- read.table("https://turing.manhattan.edu/~wfoote01/finalytics/RMD/data/strips_dec95.txt", header = TRUE)
# Mostramos los 6 primeros datos.
head(data) ## T price
## 1 0.1260 99.39
## 2 0.6219 96.92
## 3 1.1260 94.51
## 4 1.6219 92.07
## 5 2.1260 89.64
## 6 2.6219 87.30
Entonces, como se dijo los datos muestran el precio y vencimiento de los distintos bonos cupon cero, pero los datos originales los nombres de las variables son T y price por lo que para vacilitar el analisis se cambiaran por Vencimiento y Precio.
## [1] "T" "price"
## [1] 117
# Cambiamos el nombre de las variables por Vencimiento y Precio.
names(data) = c("Vencimiento", "Precio")
# OBservamos los nuemos nombres de las variables.
names(data)## [1] "Vencimiento" "Precio"
## [1] 117
Antes de exponer todo los datos primero nos aseguramos que estan ordenados de manera ascendente segunnd el vencmiento de los distintos bonos, luego de ordenar los datos obtenemos la siguiente grafica.
De manera empirica podemos usar la siguiente funcion para hallar la curva de tasas forward:
Donde \(P\) es el precio del bono en el momento \(T_i\) que es su moento de maduracion.
Entonces, plantearlo en el progrmaa tendra la siguiente estructura:
# Establecemos un obejto T, donde guardaremos los diferentes periodos.
t <- seq(0, 30, length = 100)
# En el bojeto f.empirica, planteamos la ecuacion expuesta previamente.
f.empirica <- -(diff(log(data$Precio)) / diff(data$Vencimiento))El metodo que se guarda en el objeto f.empirica, sigue la idea de la ecuacion expuesta, es decir con la funcion diff estaremos haciendo la difernecia de los logaritmos natural de los precios y de los vencimientos.
Por lo que de manera empirica se tendra la siguiente curva de tasa forwards:
Entonces, para encontrar la curva de rendimiento, podemos utilizar dos funciones para logar la curva pero la aplicacion de estas funciones seran una despues de la otra. Es decir, la primera curva sera para hallar la tasas forward y la segunda para hallar las tasa de interes para cada vencimiento.
sea:
Entonces, determinaremos un nodo \(k=15\) para evaluar los siguientes casos, si:
Entonces evaluamos estos casos en la integral que teniamos, quedando:
Ahora para hallar la tasa de interes se divide sobre el periodo de vencimiento del bono. Pero para hallar los parametros de \(\theta\) sera mejor establecer una ecuacion que der el precio del bono, siendo:
Y a partir de esta ecuacion hallaremos los valores de los distintos \(\theta\). Por esa razon, tendremos que hallar estos parametros minimizando la siguiente funcion:
Como se muestra, se hallaran los valores de \(\theta\) minimizando esta funcion, la cual esta compuesta por la diferencia entre el precio de los bonos que se encuentran en la data y el precio de un bono estimado, el cual falta determinar el parametro de \(\theta\) que nos ayudara luego a determinar la curva de rendimiento.
Entonces, para hallar los parametros deseado, se utiliza la siguiente regresion no lineal.
fit.spline<-nls(
Precio ~ 100 * exp(-theta_0 * Vencimiento - (theta_1 * Vencimiento ^ 2) / 2 - (theta_2 * Vencimiento ^ 3) / 3 - (Vencimiento > 15) * (theta_3 * (Vencimiento - 15) ^ 3) / 3), data=data, start=list(theta_0=0.047, theta_1 = 0.0024, theta_2 = 0, theta_3 = -7e-05)
)Entonces, como se muestra la variable dependiente es el precio de los bonos mientra que la variable independiente sera toda la estructura dentro de la exponencial (exp()), esta exponencial esta compuesta por los vencimiento de los zeros y por los parametros \(\theta\).
Otra idea a exponer, es que el parametro \(\theta_3\) evalua el movimiento de los distintos vencimientos al rededor de nuestro nodo (\(k=15\)), de tal modo que este parametro medira la sensibilidad de la tasa forward de dicho nodo.
| Estimate | Std. Error | t value | Pr(>|t|) | |
|---|---|---|---|---|
| theta_0 | 0.0495 | 0.0001 | 536.52 | 0 |
| theta_1 | 0.0016 | 0.0000 | 51.51 | 0 |
| theta_2 | 0.0000 | 0.0000 | -13.62 | 0 |
| theta_3 | -0.0002 | 0.0000 | -30.64 | 0 |
## [1] 0.2583
Como se muestra en la tabla, los parametros independientes son significativos al \(95\%\) de confianza. Tambien que dichos parametros tienen un error estandar de 0.2583.
Finalmente, ya podemos graficar la curva de rendimiento estimada. Graficaremos esta curva para los distintos vencimientos que estan guardados en la variable Vencimiento.
Entonces para poder construir la curva tendremos que usar los coeficientes que resultaron al aplicar la regresion no lineal anterior, para ello se utiliza el siguiente codigo:
k <- 15
coef.spline <- summary(fit.spline)$coef[, 1]
forward.spline <- coef.spline[1] + (coef.spline[2] * t) + (coef.spline[3] * t^2) + (t > k) * (coef.spline[4] * (t - 15)^2)Luego de obtener nuestra curva de rendimiento, se puede graficar y como se muestra en el siguiente grafico la curva hallada de manera empirica se tiene una forma similar a la estimada a partir del proceso expuesto en esa seccion.
Finalmente, se puede decir que cada parametro \(\theta\) cumple con los tres componentes que se observa en la curva forward, que son los siguientes:
Constante: este componente lo cumple el parametro \(\theta_0\), pues este parametro es independiente a la maduracion del bono que se valoriza por eso se tomar como la tasa forward promedio a largo plazo.
Pendiente: este componente lo cumple el parametro \(\theta_1\), pues esta medida muestra la sensibilidad promedio de la tasa forward antes un cambio de la maduracion de un bono.
Curvatura: este componente lo cumple el parametro \(\theta_2\), pues este mide el riesgo que presenta el bono segun se acerque mas al periodo de su vencimiento.