49 votos

¿Cuál es la mejor manera de "arreglar" una matriz de covarianza que no es semi-definida positiva?

Tengo una matriz de covarianza de muestra de los retornos de seguridad del S&P 500 donde los k-ésimos valores propios más pequeños son negativos y bastante pequeños (reflejando ruido y algunas correlaciones altas en la matriz).

Estoy realizando algunas operaciones en la matriz de covarianza y esta matriz debe ser definida positiva. ¿Cuál es la mejor manera de "arreglar" la matriz de covarianza? (Por lo que vale, tengo la intención de tomar la inversa de la matriz de covarianza.)

Un enfoque propuesto por Rebonato (1999) es descomponer la matriz de covarianza en sus autovectores y autovalores, establecer los autovalores negativos en 0 o (0+epsilon), y luego reconstruir la matriz de covarianza. El problema que tengo con este método es que:

  1. la traza de la matriz original no se conserva, y

  2. el método ignora la idea de repulsión de nivel en matrices aleatorias (es decir, que los autovalores no están cerca entre sí).

Higham (2001) utiliza un procedimiento de optimización para encontrar la matriz de correlación más cercana que sea semi-definida positiva. Grubisic y Pietersz (2003) tienen un método geométrico que afirman supera la técnica de Higham. Por cierto, algunas variaciones más recientes del artículo de Rebonato son Kercheval (2009) y Rapisardo (2006) que se basan en el enfoque geométrico de Rebonato.

Un punto crítico es que la matriz resultante puede no ser singular (lo cual puede ser el caso al usar métodos de optimización).

¿Cuál es la mejor manera de transformar una matriz de covarianza en una matriz de covarianza definida positiva?

ACTUALIZACIÓN: Tal vez otro enfoque sea probar si una seguridad es linealmente dependiente de una combinación de seguridades y eliminar al infractor.

7 votos

Dado que los valores propios negativos implican varianzas imaginarias, ¿realmente necesita que se preserve la traza? En un entorno financiero, todavía no he encontrado un escenario en el que la diferencia entre la matriz semidefinida positiva verdaderamente más cercana a la norma de Frobenius y una generada a partir de la truncación espectral fuera lo suficientemente grande como para justificar el esfuerzo adicional.

23voto

Kyle Cronin Puntos 554

La especialidad de Nick Higham son los algoritmos para encontrar la matriz de correlación más cercana. Su trabajo anterior implicaba mejorar el rendimiento (en términos de orden de convergencia) de técnicas que proyectaban sucesivamente una matriz casi semidefinida positiva en el espacio semidefinido positivo.

Tal vez aún más interesante, desde el punto de vista del practicante, es su extensión al caso de matrices de correlación con estructuras de modelos de factores. El mejor lugar para buscar este trabajo es probablemente el documento de tesis doctoral de su estudiante de doctorado Ruediger Borsdorf.

La entrada en el blog de Higham cubre bastante bien su trabajo hasta 2013.

1 votos

Gran hallazgo. La charla de Higham se basa en un documento reciente, Computing a Nearest Correlation Matrix with Factor Structure. Este hecho es un poco difícil de encontrar dentro de la charla, que cubre también muchas otras áreas.

0 votos

El enlace parece estar roto.

8voto

henrikpp Puntos 340

En Oracle Crystal Ball, utilizamos un antiguo algoritmo que funciona bastante bien y converge rápidamente. Es de Iman-Conovar. Aquí está la referencia:

Iman, R.L., Conover, W.J. 1982. Un enfoque libre de distribución para inducir correlación de rango entre variables de entrada. Commun. Statist.-Simula. Computa. 11, 311-334.

Dicho esto, el método del Prof. Higham basado en optimización también funciona bastante bien. Parece tener métodos actualizados que originalmente fueron presentados por Lurie y Goldberg, disponible en este enlace.

7voto

tenfour Puntos 118

La respuesta corta es que no lo sé, pero tu pregunta da algunas pistas sobre cómo averiguarlo. Lo más importante para mí es que quieres una cartera de mínima varianza. No creo que debas pensar en una operación matemática abstracta que sea "la mejor", sino más bien revisar algunas operaciones matemáticas y ver cuál parece funcionar mejor para tu aplicación.

Si puedes aproximar el problema que tienes ahora con datos del pasado, entonces puedes probar diferentes métodos a lo largo del tiempo.

Algunas observaciones:

  • si tienes una cartera solo a largo plazo, entonces eso ya te ayuda mucho.

  • Si tienes muchos activos en relación con los puntos temporales, entonces es más difícil: quieres utilizar (si es posible) el encogimiento de Ledoit-Wolf o un modelo de factores para estimar la matriz de varianza.

  • No quieres que el optimizador vea carteras que tengan riesgo cero (o negativo). Esa es la versión financiera de los eigenvalores positivos, quieres que tu epsilon sea no trivial.

  • No dices por qué comienzas con una matriz no definida positiva. Si se debe a valores faltantes y tienes los retornos originales, entonces hay código para realizar el encogimiento de Ledoit-Wolf en tal caso.

1 votos

Estoy actualmente probando qué métodos de limpieza de teoría de matrices aleatorias y métodos de reducción de covarianza (correlación constante, etc.) producen la matriz de covarianza más estable (medida por el rendimiento fuera de muestra de la cartera minVar). La forma en que estoy haciendo esto es encontrando los pesos de la matriz limpiada/reducida correspondientes a una cartera de varianza mínima, y luego midiendo la varianza de esta cartera fuera de muestra.

0 votos

Por favor, ten en cuenta que actualicé la pregunta y eliminé la referencia a la varianza mínima, centrándome en la inversión de la matriz en sí misma.

0 votos

También, he actualizado la fuente de la matriz de covarianza. Los autovalores negativos resultan de la propia matriz de covarianza muestral. Di un voto positivo especialmente por la perspicacia de tu tercer punto clave.

2voto

Aquí está: "Rebonato, R., Jackel, P. La metodología más general para crear una matriz de correlación válida para gestión de riesgos y propósitos de fijación de precios de opciones."

Recuerda: una matriz de covarianza será igual a una matriz de correlación si se elimina la escala. Utilicé este método para garantizar que las matrices de correlaciones sean definidas positivas.

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