2 votos

¿Varianza negativa?

Utilizando la fórmula w*Cov*t(w) puedo generar una varianza negativa de la cartera. ¿Cuáles son las implicaciones de una varianza negativa? ¿Debo asumir que es cero? Una varianza negativa es problemática porque no se puede sacar root cuadrada (para estimar la desviación estándar) de un número negativo sin recurrir a números imaginarios. Tampoco parece coherente con la fórmula de la varianza, que es la media de las desviaciones al cuadrado de la media, ya que el cuadrado siempre produce un número positivo.

La varianza negativa es la punta del iceberg de mi verdadero problema. Tengo una matriz de covarianza que representa las expectativas (ex-ante). No tengo ni deseo utilizar los rendimientos históricos. Tengo 23 clases de activos. He estado jugando con un poco de optimización de la cartera (no la varianza media). Tengo un conjunto de ponderaciones (w) para una cartera óptima. También tengo un conjunto de ponderaciones para mi índice de referencia (b). Calculo el tracking error. El cuadrado del error de seguimiento debería ser (w-b) * cov * t(w-b). Esto es lo que es negativo.

Además, mis ponderaciones son lo suficientemente diferentes de mi punto de referencia como para que la inspección y la intuición me digan que el cero es la respuesta equivocada. Para probar esto, generé 1000 retornos aleatorios (usando mis suposiciones para el retorno y la matriz de covarianza) para las clases de activos y calculé 1000 retornos para w y para b. Luego calculé la diferencia y luego tomé la varianza. Y como tengo un ordenador repetí esto 1000 veces. El menor error de seguimiento (root cuadrada de la varianza de las diferencias) fue del 2,7%. Así que estoy seguro de que la varianza debe ser positiva.

Por cierto, tengo una matriz de covarianza de 23x23. La mayor parte proviene de una fuente pública ( Afiliados a la investigación ). Agrego bonos municipales. Estoy bastante contento con la matriz de covarianza en el sentido de que otros usos para ella - por ejemplo, la varianza de la cartera de w y de b parecen ser grandes.

Se agradecería cualquier idea sobre lo que podría estar haciendo mal, ya sea computacionalmente o por interpretación. Todo mi trabajo está en R y podría compartir algunos datos y código.

3voto

scottishwildcat Puntos 146

Como han señalado otros usuarios aquí, su matriz de covarianza diseñada aparentemente no es positiva-definida y por lo tanto obtiene este extraño comportamiento.

Tenga en cuenta que no se trata sólo de un problema matemático, sino económico.

Como ejemplo de juguete, mire esto: Si A y B están fuertemente correlacionados negativamente (digamos -1) entonces no pueden ambos estar correlacionada negativamente (de nuevo -1) con una tercera C. Se puede diseñar (=escribir) una matriz de este tipo, pero es algo que no se puede encontrar en las matemáticas correctas ni en la vida real.

Lo que puedes hacer:

  1. Elija varianzas no negativas para cada activo $V = diag(v_1,v_2,\ldots, v_n)$
  2. elegir una matriz positiva-definida para las correlaciones $C$
  3. Calcular $Cov = \sqrt{V} C \sqrt{V}$ donde root cuadrada es de componente.

El cálculo en el tercer paso se discute en desbordamiento de la pila . El paquete corpcor ofrece formas de reducir las covarianzas a los objetivos elegidos y ofrece comprobaciones de la definición positiva.

La función make.positive.definite que encuentra la matriz positiva-definida más cercana (en un sentido elegido) a una matriz dada.

1voto

BigCanOfTuna Puntos 210

Como Iván señaló en su comentario, su matriz no es una matriz de covarianza válida. Dicho de otro modo, no existe existe un conjunto de datos (con observaciones completas) de de los que se podría haber estimado dicha matriz de covarianza de covarianza.

La forma más sencilla de reparar una matriz de este tipo es sustituir los valores propios negativos de la matriz por ceros. Este método se implementa en la función repairMatrix en el paquete R paquete NMOF que yo mantengo.

0voto

Dorky Engineer Puntos 184

El comentario de Iván es una buena respuesta. Estoy añadiendo algo, pero principalmente creando una respuesta en lugar de un comentario para asegurarse de que los resultados de la búsqueda muestran que hay una respuesta. Mi matriz de covarianza debe ser semidefinida positiva. Como yo lo entiendo, esto se traduce aproximadamente a ser como un número no negativo. Cuando se multiplica por ella, se obtiene cero o algo con el mismo signo. Aquí hay un enlace a una breve explicación de semidefinida positiva y definida positiva que me ha resultado útil. Gracias Ivan.

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