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.