1 votos

Pregunta sobre el ajuste de la curva de rendimiento con la función Nelson.Siegel del paquete YieldCurve en R

Tengo los siguientes datos:

mat <- c(88.96438,21.20548,53.06301,76.89863,112.99726,83.96712,119.80274,53.06301 ,112.99726,53.06301)
ytm <- c(0.09380442,0.07378878,0.08823629,0.09428388,0.10381418,0.09652231 ,0.10485382,0.08865775,0.10345890,0.09040975)

Dónde $mat$ son los vencimientos de los bonos (en meses, como requiere la función) y $ytm$ son los rendimientos correspondientes (en años).

Sin embargo, al realizar la estimación obtengo el siguiente error:

Nelson.Siegel(rate=ytm, maturity = mat)
Error in seq.default(maturity[1], maturity[pillars.number], by = 0.5) : 
  wrong sign in 'by' argument

¿Puede alguien decirme por qué?

Gracias

1voto

BigCanOfTuna Puntos 210

Si quieres que la gente te ayude, deberías proporcionar un ejemplo reproducible. En particular, debería mencionar dónde está el Nelson.Siegel de la función viene. Pero como una conjetura, los vencimientos ( mat ) muy probablemente tienen que ser ordenados en orden creciente.

0 votos

La organización en orden creciente ha funcionado. ¡Gracias! Y creo que no he podido ser más explícito sobre el origen de la función Nelson.Siegel, por favor, lee el título.

0 votos

Sí, en efecto. Pero para la gente (como yo) que copia/pega código en las sesiones de R, añadir una llamada a require / library habría ayudado ;-) En cualquier caso, me alegro de que haya funcionado.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X