1 votos

Distribución gaussiana inversa normal: ¿hay consenso sobre una función cuantílica precisa?

Estoy haciendo uso de la Normal Inversa Gaussiana en mi trabajo para modelar los impulsores del riesgo de volatilidad implícita de los tipos de interés. Lo que es particularmente bueno de esta distribución para mi propósito es el hecho de que es mucho más parsimonioso que otras alternativas, y cerrado bajo convolución.

Dicho esto, no he sido capaz de encontrar una implementación de la función cuantil razonablemente "verificable". No parece haber ninguna en Excel, en R tenemos la función qnig del paquete fBasics que no estoy seguro de la precisión, y en MatLab hay este paquete que menciona tener problemas con la CDF inversa debido al cálculo numérico.

Mi pregunta es si existe una función cuantílica razonablemente precisa para mis fines. Estoy codificando en C# y he intentado implementar mi propia función gaussiana inversa normal, sin embargo, comparando con la función de R qnig Sólo tengo constantemente alrededor de 5 dígitos de precisión. Sin embargo, ni siquiera estoy seguro de que se pueda confiar en la implementación de R como línea de base para muchos dígitos de precisión.

3voto

Kyle Cronin Puntos 554

Cuando es posible, miro las implementaciones en IMSL y el GSL para una buena precisión. Ninguno de ellos parece implementar la función Wald (gaussiana inversa) o su función cuantil.

Matlab dispone de la distribución (como inversegaussiana), por lo que podrías hacerla tú mismo con fzero() u otro buscador de raíces basado en eso si no está satisfecho con la precisión, o para probar qnig .

Dado que no existe una fórmula de forma cerrada para la función cuantílica, esencialmente cada implementación ejecutará un buscador de raíces. Es simplemente una cuestión de la configuración de los criterios de parada para el buscador de raíces en cuestión.

Por otro lado, me cuesta pensar en un proyecto de investigación cuantitativa en el que la precisión de más de 5 dígitos (significativos) sea importante. ¿Quizás sólo necesitas escalar tus variables?

0 votos

Muy útil, gracias. Lo de los sigdigs es más bien una cuestión de normativa de gestión cuestionable.

0 votos

<3 Bibliotecas IMSL y GSL

2voto

kathleen Puntos 21

También podrías mirar el paquete boost que debería (no soy experto en esto) ser utilizable dentro de C#. Viene con una implementación de la distribución normal inversa que se explica en la documentación en línea http://www.boost.org/doc/libs/master/libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html

Aquí afirman una precisión numérica bastante alta, de más de 10 dígitos.

0 votos

Esa distribución no es lo suficientemente generalizada para la pesadez de la cola y la asimetría para mi propósito, pero aun así no sabía que existía, ¡así que podría ser útil para otros!

1voto

btelles Puntos 153

Paquete R GeneralizedHyperbolic tiene una función cuantil precisa para distribución hiperbólica generalizada que incluyen a NIG como un caso especial.

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