Problem with garch (tseries)
As I mentioned to Joe off list I am dealing with natural Gas prices at houston ship channel. While I could assemble a longer price series it seems that nat gas has entered into a new price/volatility regime in the last two years which I think makes using older data somewhat problematic. If garch does not like "small" samples what would be a robust way to estimate the volatility? thanks for your input michael
--- Patrick Burns <patrick at burns-stat.com> wrote:
These are good points. But probably a key aspect is that garch thinks 800 data points is a small sample, and 400 points (at least for daily data) is likely to yield parameter estimates that are exceptionally variable. Patrick Burns patrick at burns-stat.com +44 (0)20 8525 0696 http://www.burns-stat.com (home of S Poetry and "A Guide for the Unwilling S User") Joe W. Byers wrote:
Micheal, Physical natural daily prices are a problem with time series models especially if the physical asset is storable. Storable assets means
that the prices are not an easy single model time series process but
a
multi-variate model ie Supply and Demand. Another problem is the returns of these prices are not normally distributed especially over
short times series. Other things to think about are how liquid are
these
asset prices, the breath and depth of the markets, are is there a
well
developed forward market? These do not mean that your model is not going to work, it may just
not
be robust next time you estimate it. I would suggest running some outlier tests for spikes in the prices, looking at volatility
clustering
around these outliers. Also consider using a GED GARCH model that
is
normal distribution under restrictions on the parameters and a
negative
exponential on others. My collegues and I and U Tulsa have found
this
works well for some Power prices and Weather Temps. I am working on
it
for other prices series as well. Good Luck Joe michael mathews wrote:
Hi folks, I have been playing with garch models to model the volatility in physical natural prices. Here is the issue I have a dataset of 801 daily returns (attached). If I run garchall<-garch(hsc) ***** ESTIMATION WITH ANALYTICAL GRADIENT *****
summary(garchall)
Call:
garch(x = hsc)
Model:
GARCH(1,1)
Residuals:
Min 1Q Median 3Q Max
-4.3424 -0.5734 0.0000 0.6037 4.0501
Coefficient(s):
Estimate Std. Error t value Pr(>|t|)
a0 2.507e-05 9.200e-06 2.726 0.00642 **
a1 1.218e-01 2.085e-02 5.840 5.21e-09 ***
b1 8.759e-01 1.937e-02 45.212 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Diagnostic Tests:
Jarque Bera Test
data: Residuals
X-squared = 62.7291, df = 2, p-value = 2.387e-14
Box-Ljung test
data: Squared.Residuals
X-squared = 0.0384, df = 1, p-value = 0.8447
Now if we run the same model on a subset say the last 351 days we
get
garch351<-garch(tail(hsc,351))
***** ESTIMATION WITH ANALYTICAL GRADIENT *****
summary(garch351)
Call:
garch(x = tail(hsc, 351))
Model:
GARCH(1,1)
Residuals:
Min 1Q Median 3Q Max
-4.171521 -0.424628 0.008727 0.532158 3.962116
Coefficient(s):
Estimate Std. Error t value Pr(>|t|)
a0 2.511e-05 1.589e-05 1.580 0.114167
a1 1.043e-01 2.950e-02 3.536 0.000406 ***
b1 8.957e-01 2.567e-02 34.896 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Diagnostic Tests:
Jarque Bera Test
data: Residuals
X-squared = 76.3704, df = 2, p-value < 2.2e-16
Box-Ljung test
data: Squared.Residuals
X-squared = 1.2806, df = 1, p-value = 0.2578
still ok. Now finally we get t the point of this email lets look at
352
days of data: garch352<-garch(tail(hsc,352)) ***** ESTIMATION WITH ANALYTICAL GRADIENT ***** Warning message: NaNs produced in: sqrt(pred$e)
summary(garch352)
Call:
garch(x = tail(hsc, 352))
Model:
GARCH(1,1)
Residuals:
Min 1Q Median 3Q Max
-4.16377 -0.58155 0.01454 0.70886 12.41242
Coefficient(s):
Estimate Std. Error t value Pr(>|t|)
a0 2.428e-05 1.556e-05 1.561 0.118632
a1 1.043e-01 2.947e-02 3.540 0.000400 ***
b1 8.962e-01 2.556e-02 35.058 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Diagnostic Tests:
Jarque Bera Test
data: Residuals
X-squared = 10993.57, df = 2, p-value < 2.2e-16
Box-Ljung test
data: Squared.Residuals
X-squared = 0.1831, df = 1, p-value = 0.6687
whats up? Any Ideas.
I have also tried using garchFit from the fSeries package but it
locks
up completely left it running last night and it was still spinning
this
morning when I got back to the office. thanks in advance michael
=== message truncated ===