4 votos

Problema de simulación HJM

Estoy tratando de simular un modelo HJM de 3 factores. Obtuve los algoritmos del libro de Glasserman. En mi caso, tengo $3$ madurez: $ 0.25y, 0.5y, 0.75y$ . Así que mi cuadrícula de tiempo es: $t_0=0,t_1=0.25,t_2=0.5,t_3=0.75$ .

Estoy tratando de fijar el precio de los bonos de cupón cero con:

$B(0,t_j)=\exp(-\sum_{i=0}^{j-1}r(t_i)h_i),\quad \text{where}\quad h_i=t_i-t_{i-1}$

fórmula. $h_i=\frac{3}{12} \forall i$

$D(t_j)=B(0,t_j)$ y el valor inicial de $D$ es $1$ como está escrito en el algoritmo.

En el primer ciclo "para" el índice va sólo hasta $M-1$ que es $2$ para que no se multiplique con $r(t_2)$ .

En otras palabras:

$i=1$ $\rightarrow$ $D=D*\exp(-r(t_0)\frac{3}{12} )$ ,

$i=2$ $\rightarrow$ $D=D*\exp(-r(t_1)\frac{3}{12} ). $

Después de eso, el algoritmo se detiene, por lo que tengo que cambiar el max indext a $M$ o simplemente múltiples con $\exp(-r(t_2))$ al final, pero no creo que estas sean las buenas soluciones. O si en el $i=1$ caso, mi primera actualización del precio del bono sería $r(t_1)$ Eso sería bueno también, pero entonces no sé dónde $\exp(-r(0))$ está en el algoritmo.

2voto

eduffy Puntos 17061

No estoy seguro de esta implementación algorítmica específica, pero estoy un poco confundido por sus índices y sospecho que usted también podría estarlo (por ejemplo $M$ no definidos, está mostrando casos de $i$ bucle cuando parece que quiere decir $j$ ). Creo que sería útil revisar los fundamentos:

Dejemos que $D_t \in (0,1]$ sea el factor de valor actual de un flujo de caja en el momento $t$ . Por construcción, $D_0 = 1$ .

A menudo, $B(0,t_j) = \text{exp}\{\int_0^{t_j} r(t) \ dt\}$ denota una cuenta del mercado monetario como numerario. El equivalente discreto, como en su implementación, es $B(0,t_j) = \text{exp}\{\sum_{i=0}^{j} r(t_i) \Delta t_i\}$ .

Si está construyendo sus tarifas a partir de datos de ceros, tomaría el recíproco $B(0,t_j)^{-1}$ y lo equiparamos con el precio del cero con vencimiento $t_j$ (ajustando las comillas multiplicando por 100). Parece que esto es lo que su $B(0,t_j)$ denota, desde el $-1$ en el exponencial. Esto tiene sentido (ya que Bond comienza con una "b"), pero podría ser inicialmente confuso si se leen documentos con la otra notación. De todos modos, utilizaré su notación en lo sucesivo.


De todos modos, en su aplicación: Ya que su $\Delta t$ es constante, $$ B(0,t_j) = \text{exp}\left(-\Delta t \sum_{i=0}^{j} r(t_i)\right) \\ $$ donde $r(0) = 0$ y $r$ es la tasa anualizada.

Para mayor claridad, la primera iteración, $j=1$ , rinde: $$ B(0,t_1) = \text{exp}\{-0.25(0+r(t_1))\} \\ $$ y la segunda iteración, $j=2$ , rinde: $$ B(0,t_1) = \text{exp}\{-0.25(0+r(t_1)+r(t_2))\} \\ $$ Iterando esto para todos sus $t$ valores deberían darle lo que está buscando.

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