2 votos

¿Cómo combinar las marginales gaussianas con la cópula gaussiana para obtener las normales multivariantes?

En el libro "Numerical Methods and Optimization in Finance" redigo lo siguiente: "La combinación de la cópula gaussiana con el marginal gaussiano da una forma elegante de expresar las normales multivariantes. Sin embargo, la cópula gaussiana también puede combinarse con otros marginales, y los marginales gaussianos pueden vincularse a través de cualquier cópula".

Me gustaría combinar la cópula gaussiana con los marginales gaussianos, para obtener normales multivariantes para mis 7 clases de activos. Además, me gustaría combinar los marginales t con la cópula t, para obtener una distribución t multivariante. ¿Alguien sabe cómo hacer esto en MatLab? Estoy luchando con esto desde hace tiempo.

Así es como abordé el problema para los marginales t y la cópula t:


%% Definir el proceso univariado por la distribución t

para i = 1:nActivos

marginal{i} = fitdist(returns(:,i),'tlocationscale');

fin

%% Calibración de la cópula

para i = 1:nActivos

U(:,i) = marginal{i}.cdf(returns(:,i)); % transforma el margen en uniforme

fin

[rhoT, DoF] = copulafit('t', U, 'Method', 'ApproximateML');

%% Transformación inversa en cada índice

U = copularnd('t', rhoT, DoF, NumObs * NumSim);

para j = 1:nActivos

ExpReturns(:,:,j) = reshape(marginal{j}.icdf(U(:,j), DoF), NumObs, NumSim);

fin


¿Tiene sentido mi enfoque? ¡¡¡Cualquier ayuda es muy apreciada, especialmente en el código MatLab!!!

Saludos cordiales

0 votos

No estoy seguro de lo que quieres hacer exactamente con este código, ¿quieres simular datos de una distribución estimada?

0 votos

Sí, tienes toda la razón. Después de haber equipado la cópula a través de copulafit , I simular rendimientos a través de copularnd y luego invertir la transformación en el último paso, ya que no quiero márgenes uniformes. En primer lugar, no estoy seguro de si el tlocationScale se ajusta a una distribución t. En segundo lugar, no estoy seguro de si obtengo una distribución t multivariante con mi enfoque. Por último, estoy bastante inseguro de si todo el enfoque tiene sentido ...

3voto

Andrey Puntos 137

Se puede expresar la distribución normal mediante Teorema de Sklar en términos de Marginales Gaussianos y Cópula Gaussiana como sigue:

$$F(x_1,...,x_n)=C(F(x_1),...,F(x_n))=C^{Gau}(N(x_1),...,N(x_n))$$

Así, la distribución es igual a la función cópula con los respectivos marginales inversos como argumentos.

También puede combinar cualquier tipo de cópula y diferentes márgenes (continuos) para formar nuevas distribuciones mediante esta fórmula:

$$F(x_1,...,x_n)=C(F(x_1),...,F(x_n))$$

Así que para Student-t-Copula:

$$F(x_1,...,x_n)=C_t(F_t(x_1),...,F_t(x_n))$$

Observación: También se pueden combinar diferentes tipos de marginales y cópulas, por ejemplo, la cópula de Gauss con los marginales t.

La función de MATLAB para generar los valores de la cópula se puede encontrar aquí :

Y = copulacdf('Gaussian',U,rho)

Y = copulacdf('t',U,rho,NU)

1voto

scottishwildcat Puntos 146

Sólo hay que tener en cuenta que los marginales gaussianos con cópula gaussiana no es más que la distribución gaussiana multivariante ( detalles, por ejemplo, aquí ). Para los marginales t con cópula t (con el mismo grado de libertad) se obtiene la distribución t multivariante .

Ambas distribuciones multivariantes se caracterizan por su matriz de covarianza. La distribución t tiene el parámetro adicional de grados de libertad y, por lo tanto, producirá una dependencia de la cola.

En definitiva, no es necesario el concepto de cópula en estos casos. La única ventaja sería utilizar diferentes grados de libertad para los marginales y la cópula en el caso de la distribución t.

0 votos

Gracias por su respuesta. Entiendo que obtengo una distribución normal multivariante combinando marginales gaussianos con cópulas gaussianas. Sin embargo, me cuesta implementarlo MatLab. Y de hecho tengo que hacerlo con cópulas. En el otro comentario expuse mi enfoque, pero estoy bastante inseguro de si es el camino correcto ...

0 votos

Ya veo, te centras en la implementación de Matlab y yo más bien he intentado dejar claras las matemáticas. En este caso emcor es de más ayuda supongo.

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