14 votos

Modelo GARCH y predicción

Tengo una pregunta sobre la predicción de la volatilidad y los rendimientos de una serie temporal. Básicamente es una pregunta sobre predict en el fGarch paquete.

El siguiente código está extraído del libro Análisis de series temporales financieras y es un ejemplo de modelos AR/GARCH para los rendimientos logarítmicos del SP500

library(fGarch)
sp5=read.table("http://faculty.chicagobooth.edu/ruey.tsay/teaching/fts/sp500.dat")#Load data
plot(sp5,type="l")
m1=garchFit(formula=~arma(3,0)+garch(1,1),data=sp5,trace=F)
summary(m1)
m2=garchFit(formula=~garch(1,1),data=sp5,trace=F,cond.dist="std")
summary(m2)
stresi=residuals(m2,standardize=T)
plot(stresi,type="l")
Box.test(stresi,10,type="Ljung")
predict(m2,5)

En primer lugar, asumimos un modelo ARMA/GARCH. Sin embargo, vemos que todos los coeficientes del modelo AR no son significativos. Por lo tanto, modelamos una serie temporal GARCH pura. Mi pregunta es sobre el último comando. La ejecución de este comando da la siguiente salida:

    > predict(m2,5)
  meanForecast  meanError standardDeviation
1  0.008455044 0.05330089        0.05330089
2  0.008455044 0.05327886        0.05327886
3  0.008455044 0.05325781        0.05325781
4  0.008455044 0.05323769        0.05323769
5  0.008455044 0.05321847        0.05321847

¿Qué es aquí la mediaPrevisión y por qué es siempre el mismo número? ¿Hay alguna forma de obtener la n-ésima previsión de volatilidad así como la n-ésima previsión de rentabilidad, por ejemplo, la volatilidad prevista para el día siguiente así como la rentabilidad? En el caso del modelo m2 la previsión de la volatilidad será la previsión de la rentabilidad, ya que suponemos un modelo GARCH puro. Pero, ¿cómo podemos extraer ambas cosas en el m1 ¿caso?

Editar: como pidió user12348 aquí están mis salidas de summary(m1) y summary(m2) .

> summary(m1)

Title:
 GARCH Modelling 

Call:
 garchFit(formula = ~arma(3, 0) + garch(1, 1), data = sp5, trace = F) 

Mean and Variance Equation:
 data ~ arma(3, 0) + garch(1, 1)
<environment: 0x6ac79b0>
 [data = sp5]

Conditional Distribution:
 norm 

Coefficient(s):
         mu          ar1          ar2          ar3        omega  
 7.7077e-03   3.1968e-02  -3.0261e-02  -1.0649e-02   7.9746e-05  
     alpha1        beta1  
 1.2425e-01   8.5302e-01  

Std. Errors:
 based on Hessian 

Error Analysis:
         Estimate  Std. Error  t value Pr(>|t|)    
mu      7.708e-03   1.607e-03    4.798 1.61e-06 ***
ar1     3.197e-02   3.837e-02    0.833  0.40473    
ar2    -3.026e-02   3.841e-02   -0.788  0.43076    
ar3    -1.065e-02   3.756e-02   -0.284  0.77677    
omega   7.975e-05   2.810e-05    2.838  0.00454 ** 
alpha1  1.242e-01   2.247e-02    5.529 3.22e-08 ***
beta1   8.530e-01   2.183e-02   39.075  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Log Likelihood:
 1272.179    normalized:  1.606287 

Description:
 Wed Apr 23 18:07:32 2014 by user:  

Standardised Residuals Tests:
                                Statistic p-Value     
 Jarque-Bera Test   R    Chi^2  73.04843  1.110223e-16
 Shapiro-Wilk Test  R    W      0.9857968 5.961505e-07
 Ljung-Box Test     R    Q(10)  11.56744  0.3150483   
 Ljung-Box Test     R    Q(15)  17.78746  0.2740041   
 Ljung-Box Test     R    Q(20)  24.11916  0.2372259   
 Ljung-Box Test     R^2  Q(10)  10.31614  0.4132084   
 Ljung-Box Test     R^2  Q(15)  14.22819  0.5082978   
 Ljung-Box Test     R^2  Q(20)  16.79404  0.6663039   
 LM Arch Test       R    TR^2   13.34305  0.3446074   

Information Criterion Statistics:
      AIC       BIC       SIC      HQIC 
-3.194897 -3.153581 -3.195051 -3.179018 

> 

y para summary(m2) :

> summary(m2)

Title:
 GARCH Modelling 

Call:
 garchFit(formula = ~garch(1, 1), data = sp5, cond.dist = "std", 
    trace = F) 

Mean and Variance Equation:
 data ~ garch(1, 1)
<environment: 0x6b70f70>
 [data = sp5]

Conditional Distribution:
 std 

Coefficient(s):
        mu       omega      alpha1       beta1       shape  
0.00845504  0.00012485  0.11302582  0.84220210  7.00318063  

Std. Errors:
 based on Hessian 

Error Analysis:
        Estimate  Std. Error  t value Pr(>|t|)    
mu     8.455e-03   1.515e-03    5.581 2.39e-08 ***
omega  1.248e-04   4.519e-05    2.763  0.00573 ** 
alpha1 1.130e-01   2.693e-02    4.198 2.70e-05 ***
beta1  8.422e-01   3.186e-02   26.432  < 2e-16 ***
shape  7.003e+00   1.680e+00    4.169 3.06e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Log Likelihood:
 1283.417    normalized:  1.620476 

Description:
 Wed Apr 23 18:09:17 2014 by user:  

Standardised Residuals Tests:
                                Statistic p-Value    
 Jarque-Bera Test   R    Chi^2  99.61249  0          
 Shapiro-Wilk Test  R    W      0.9836345 9.72802e-08
 Ljung-Box Test     R    Q(10)  11.37961  0.3287173  
 Ljung-Box Test     R    Q(15)  18.2163   0.2514649  
 Ljung-Box Test     R    Q(20)  24.91842  0.2045699  
 Ljung-Box Test     R^2  Q(10)  10.52266  0.3958941  
 Ljung-Box Test     R^2  Q(15)  16.14586  0.3724248  
 Ljung-Box Test     R^2  Q(20)  18.93325  0.5261686  
 LM Arch Test       R    TR^2   14.88667  0.247693   

Information Criterion Statistics:
      AIC       BIC       SIC      HQIC 
-3.228325 -3.198814 -3.228404 -3.216983 

>

5voto

La media podría ser la varianza a largo plazo que es

sig2 = fit.Constant/(1-fit.GARCH{1}-fit.ARCH{1});

Espero que esto lo explique.

Si no es así, tenga en cuenta que corrí este modelo a través de Matlab, obtengo valores diferentes. puede pegar sus valores m1 y m2 y algunos otros resultados intermedios para que pueda ver por qué Matlab difiere.

EDIT: La pregunta se refiere a la previsión de los rendimientos. Utilizando el modelo AR-GARCH, $$r_t= μ+\epsilon_t$$ $$ z_t=\epsilon_t/σ_t $$ $z_t$ es ruido blanco o i.i.d, y puede tomar cualquier distribución. $$σ_t^2=w+\alpha \epsilon_{t-1}^2+\beta σ_{t-1}^2$$ La función predecir en R es la previsión $r_{t+k}$ donde k son los períodos en el futuro. También es posible prever la varianza futura, $σ_{t+k}^2$ como se muestra, utilizando la fórmula GARCH anterior.

0 votos

puedes encontrar mis resultados arriba. Si efectivamente es $\sigma^2$ Entonces me gustaría saber cómo puedo predecir la parte ARMA (en el primer caso) y por lo tanto predecir los rendimientos en absoluto.

0 votos

El pronóstico es la previsión de la serie de rendimientos. Puedes ver mu = 8.455e-03 que es lo que está prediciendo también. La razón por la que son todos iguales es que la volatilidad de los datos casi se ha extinguido, la varianza de Garch volverá a la media. En términos de obtener la varianza Garch predicha, Matlab tiene una función infer. Por favor, busque en el manual de R para ello. Hacerlo ayudará a profundizar la comprensión.

0 votos

gracias por su comentario. Sólo una pregunta adicional. Suponiendo que ARMA-GARCH significa un modelo de la forma: $r_t=\mu_t+\sigma_tZ_t$ , donde $\mu_t$ se modela mediante el proceso ARMA, $\sigma$ por el GARCH y $Z_t$ es ruido blanco estricto. En este caso, como $\sigma$ es tan pequeño que la previsión es más o menos $r_t$ pero si $\sigma$ no es tan pequeño, entonces sólo pronosticamos $\mu_t$ y no $r_t$ ¿verdad?

1voto

Nilo Puntos 6

Sin embargo, Vanguard me ha dicho que sólo un "residente permanente legal de Estados Unidos" puede invertir en los fondos. ¿Significa esto que no puedo ¿Puedo invertir en fondos de inversión en los EE.UU.?

No, significa que no puede invertir a través de Vanguard directamente. Abra una cuenta de corretaje e invierta en fondos disponibles al público. La respuesta en el sitio que has enlazado responde a tu pregunta con bastante claridad.

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