Estoy investigando la clase ExponentialSplinesFitting en QuantLib. He utilizado esta técnica de ajuste con diversos sistemas en el pasado (¡incluso a mano!). La forma es $$df(t) = \sum_{n=1}^{N}(\beta(n)\exp(-n \cdot \alpha \cdot t))$$ es decir, hay un alfa (que QuantLib llama "kappa") y de 1 a N betas.
QuantLib parece estar codificado con 9 Betas (que se reducen a 8 Betas independientes si df(0) constrained = 1):
Size ExponentialSplinesFitting::size() const {
return constrainAtZero_ ? 9 : 10;
}
Mi pregunta es: ¿Por qué 9?
Cuando he utilizado este método en el pasado, he usado un máximo de 6 en la práctica. He comprobado que el "mejor" número está influenciado por la densidad de los enlaces en la estructura temporal. Añadir más parámetros aumenta la calidad del ajuste en el extremo corto, pero puede tener el efecto secundario de producir perturbaciones injustificadas en el extremo largo. Por lo tanto, a menos que tenga muchos bonos en el rango de 0 a 1 año, el uso de menos parámetros puede dar un mejor ajuste a largo plazo. Conclusión: ¿debería modificar la implementación de QL para tener un número variable de parámetros?