"Fossies" - the Fresh Open Source Software Archive

Member "gretl-2019c/doc/tex_it/timeseries.tex" (2 Oct 2015, 35651 Bytes) of package /linux/misc/gretl-2019c.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) TeX and LaTeX source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 \chapter{Modelli per serie storiche}
    2 \label{chap:timeser}
    3 
    4 \section{Introduzione}
    5 \label{sec:tsintro}
    6 
    7 Questo capitolo e il successivo discutono i modelli per serie storiche.
    8 Questo capitolo si concentra sui modelli ARIMA, i test per radici unitarie
    9 e i modelli GARCH, mentre il successivo tratta la cointegrazione e i modelli
   10 a correzione d'errore.
   11 
   12 \section{Modelli ARIMA}
   13 \label{arma-estimation}
   14 
   15 \subsection{Rappresentazione e sintassi}
   16 \label{arma-repr}
   17 
   18 Il comando \cmd{arma} effettua la stima di modelli autoregressivi integrati a media mobile
   19 (ARIMA). Questi modelli possono essere scritti come
   20 \begin{equation}
   21   \label{eq:plain-0-arma}
   22   \phi(L) y_t = \theta(L) \epsilon_t
   23 \end{equation}
   24 dove $\phi(L)$ e $\theta(L)$ sono polinomi nell'operatore ritardo, $L$, definito
   25 in modo che $L^n x_t = x_{t-n}$, e $\epsilon_t$ è un processo di rumore bianco.
   26 Il contenuto esatto di $y_t$, del polinomio AR $\phi()$ e del polinomio MA $\theta()$
   27 verrà spiegato in seguito.
   28 
   29 \subsection{Media del processo}
   30 \label{sec:arma-nonzeromean}
   31 
   32 Il processo $y_t$ mostrato nell'equazione (\ref{eq:plain-0-arma}) ha
   33 media zero, se non si danno altre indicazioni. Se il modello deve essere
   34 applicato a dati reali, è necessario includere un termine per gestire la
   35 possibilità che $y_t$ abbia una media diversa da zero.
   36 Ci sono due modi possibili per rappresentare processi con media nulla: uno
   37 consiste nel definire $\mu_t$ come la media \emph{non condizionale} di $y_t$,
   38 ossia il valore centrale della sua distribuzione marginale.
   39 Quindi, la serie $\tilde{y}_t = y_t - \mu_t$ ha media 0, e il modello
   40 (\ref{eq:plain-0-arma}) si applica a $\tilde{y}_t$. In pratica, assumendo che
   41 $\mu_t$ sia una funzione lineare di alcune variabili osservabili $x_t$,
   42 il modello diventa
   43 \begin{equation}
   44   \label{eq:arma-with-x}
   45   \phi(L) (y_t - x_t \beta) = \theta(L) \epsilon_t
   46 \end{equation}
   47 Questo viene talvolta chiamato un ``modello di regressione con errori ARMA'';
   48 la sua struttura può risultare più chiara se lo rappresentiamo usando due
   49 equazioni:
   50 \begin{eqnarray*}
   51   y_t & = & x_t \beta + u_t \\
   52   \phi(L) u_t & = & \theta(L) \epsilon_t
   53 \end{eqnarray*}
   54 
   55 Il modello appena presentato viene talvolta chiamato ``ARMAX'' (ARMA + variabili
   56 esogene), anche se questo nome sembra più appropriato per un altro tipo di
   57 modello: un altro modo per includere un termine di media nella
   58 (\ref{eq:plain-0-arma}) consiste nel basare la rappresentazione sulla media
   59 \emph{condizionale} di $y_t$, ossia il valore centrale della distribuzione di
   60 $y_t$ \emph{dato il proprio passato}. Assumendo, ancora, che questa possa essere
   61 rappresentata come combinazione lineare di qualche variabile osservabile
   62 $z_t$, il modello diventerebbe
   63 \begin{equation}
   64   \label{eq:arma-with-z}
   65   \phi(L) y_t = z_t \gamma + \theta(L) \epsilon_t
   66 \end{equation}
   67 La formulazione (\ref{eq:arma-with-z}) ha il vantaggio che $\gamma$
   68 può essere immediatamente interpretato come il vettore degli effetti marginali
   69 delle variabili $z_t$ sulla media condizionale di $y_t$.  E aggiungendo i
   70 ritardi di $z_t$ a questa specificazione è possibile stimare dei \emph{modelli
   71 di funzione di trasferimento} (che generalizzano gli ARMA aggiungendo gli effetti
   72 delle variabili esogene distribuiti nel tempo).
   73 
   74 \app{Gretl} fornisce un modo per stimare entrambe le forme. I modelli scritti
   75 come nella (\ref{eq:arma-with-x}) vengono stimati con la massima
   76 verosimiglianza; i modelli scritti come nella (\ref{eq:arma-with-z}) vengono
   77 stimati con la massima verosimiglianza condizionale (per maggiori informazioni
   78 su queste opzioni, si veda la sezione ``Stima'' in seguito).
   79 
   80 Nel caso speciale in cui $x_t = z_t = 1$ (ossia il modello include una costante
   81 ma nessuna variabile esogena) le due specificazioni discusse finora diventano
   82 \begin{equation}
   83   \phi(L) (y_t - \mu) = \theta(L) \epsilon_t
   84   \label{eq:arma-with-xconst} 
   85 \end{equation}
   86 e
   87 \begin{equation}
   88   \phi(L) y_t = \alpha + \theta(L) \epsilon_t
   89   \label{eq:arma-with-zconst}
   90 \end{equation}
   91 rispettivamente. Queste formulazioni sono essenzialmente equivalenti, ma se
   92 rappresentano lo stesso processo, ovviamente $\mu$ e $\alpha$ non sono
   93 numericamente identici; piuttosto:
   94 \[
   95 \alpha = \left(1 - \phi_1 - \ldots - \phi_p\right) \mu
   96 \]
   97 
   98 La sintassi di \app{gretl} per stimare la (\ref{eq:arma-with-xconst}) è
   99 semplicemente
  100 \begin{code}
  101 arma p q ; y
  102 \end{code}
  103 Gli ordini di ritardo AR e MA, \verb|p| e \verb|q|, possono essere indicati come
  104 numeri o come scalari definiti in precedenza. Il parametro $\mu$ può essere
  105 omesso se necessario, aggiungendo l'opzione \cmd{--nc} (``no constant'') al
  106 comando. Se occorre stimare la (\ref{eq:arma-with-zconst}), bisogna aggiungere
  107 al comando l'opzione \texttt{--conditional}, come in
  108 \begin{code}
  109 arma p q ; y --conditional
  110 \end{code}
  111 
  112 Generalizzando questo principio alla stima della
  113 (\ref{eq:arma-with-x}) o della (\ref{eq:arma-with-z}), si ottiene che
  114 \begin{code}
  115 arma p q ; y const x1 x2
  116 \end{code}
  117 stimerebbe il modello seguente:
  118 \[
  119   y_t - x_t \beta = \phi_1 \left(y_{t-1} - x_{t-1} \beta \right) + \ldots + 
  120    \phi_p \left( y_{t-p} - x_{t-p} \beta \right) + 
  121   \epsilon_t + \theta_1 \epsilon_{t-1} + \ldots + \theta_q \epsilon_{t-q}
  122 \]
  123 dove in questo caso $x_t \beta = \beta_0 + x_{t,1} \beta_1 +
  124 x_{t,2} \beta_2$. 
  125 
  126 Usando l'opzione \texttt{--conditional}, come in
  127 \begin{code}
  128 arma p q ; y const x1 x2 --conditional
  129 \end{code}
  130 si stimerebbe il modello seguente:
  131 \[
  132   y_t = x_t \gamma + \phi_1 y_{t-1} + \ldots +  \phi_p y_{t-p} + 
  133   \epsilon_t + \theta_1 \epsilon_{t-1} + \ldots + \theta_q \epsilon_{t-q}
  134 \]
  135 
  136 Idealmente, la situazione descritta finora potrebbe essere sistematizzata
  137 scrivendo una specificazione più generale che comprende tutte le alternative,
  138 ossia
  139 \begin{equation}
  140  \label{armax-general}
  141   \phi(L) \left(y_t - x_t \beta\right) = z_t \gamma  + \theta(L) \epsilon_t ;
  142 \end{equation}
  143 Una possibile generalizzazione del comando \cmd{arma} permetterebbe all'utente di
  144 specificare se, per ogni metodo di stima, certe variabili
  145 esogene vanno trattate come $x_t$ o come $z_t$, ma non siamo ancora a questo
  146 livello (né lo è la maggior parte degli altri pacchetti software).
  147 
  148 \subsection{Modelli stagionali}
  149 
  150 Quando si analizzano serie storiche che mostrano un marcato andamento
  151 stagionale, è opportuno usare una struttura di ritardi più flessibile.
  152 Il modello (\ref{eq:plain-0-arma}) può essere espanso nel seguente
  153 \begin{equation}
  154   \label{eq:seasonal-arma}
  155   \phi(L) \Phi(L^s) y_t = \theta(L) \Theta(L^s) \epsilon_t .
  156 \end{equation}
  157 In questi casi, è disponibile una versione ampliata della sintassi, ossia:
  158 \begin{code}
  159 arma p q ; P Q ; y
  160 \end{code}
  161 dove \texttt{p} e \texttt{q} rappresentano gli ordini AR e MA non stagionali,
  162 mentre \texttt{P} e \texttt{Q} gli ordini stagionali. Ad esempio
  163 \begin{code}
  164 arma 1 1 ; 1 1 ; y
  165 \end{code}
  166 stima il modello seguente:
  167 \[
  168   (1 -\phi L)(1 -\Phi L^s) (y_t - \mu) = (1 + \theta L)(1 + \Theta L^s) \epsilon_t
  169 \]
  170 Se $y_t$ è una serie trimestrale (e quindi $s=4$), l'equazione precedente può
  171 essere scritta in modo più esplicito come
  172 \[
  173 y_t - \mu = \phi (y_{t-1} - \mu) + \Phi (y_{t-4} - \mu) - (\phi
  174   \cdot \Phi) (y_{t-5} - \mu) + \epsilon_t + \theta \epsilon_{t-1} + \Theta
  175   \epsilon_{t-4} + (\theta \cdot \Theta) \epsilon_{t-5}
  176 \]
  177 Un tale modello è noto come ``modello ARMA stagionale moltiplicativo''.
  178 
  179 \subsection{Buchi nella struttura dei ritardi}
  180 
  181 Il modo standard di specificare un modello ARMA in \app{gretl} è usando
  182 gli ordini AR e MA, ossia rispettivamente $p$ e $q$. In questo caso vengono
  183 inclusi tutti i ritardi a partire dall'ordine 1 fino all'ordine specificato.
  184 In alcuni casi, occorre includere solo alcuni specifici ritardi AR e/o MA; questo
  185 risultato può essere ottenuto in due modi.
  186 %
  187 \begin{itemize}
  188 \item È possibile costruire una matrice che contiene i ritardi desiderati
  189   (numeri interi positivi) e fornire il nome della matrice al posto di
  190   $p$ o $q$.
  191 \item È possibile fornire una lista di ritardi separati da spazi e racchiusi
  192   tra parentesi graffe, al posto di $p$ o $q$.
  193 \end{itemize}
  194 %
  195 Gli esempi seguenti illustrano le due possibilità:
  196 %
  197 \begin{code}
  198 matrix pvec = {1, 4}
  199 arma pvec 1 ; y
  200 arma {1 4} 1 ; y
  201 \end{code}
  202 %
  203 Entrambi i comandi specificano un modello ARMA in cui vengono usati i ritardi AR
  204 1 e 4, ma non i 2 e 3.
  205 
  206 Questo meccanismo è disponibile solo per la componente non stagionale della
  207 specificazione ARMA.
  208 
  209 \subsection{Differenziazione e ARIMA}
  210 
  211 La discussione svolta finora presuppone che la serie storica $y_t$ sia già stata
  212 soggetta a tutte le trasformazioni ritenute necessarie per assicurarne la
  213 stazionarietà (si veda anche la sezione \ref{sec:uroot}). La differenziazione è
  214 la più comune tra queste trasformazioni, e \app{gretl} fornisce un meccanismo
  215 per includere questo passo nel comando \cmd{arma}: la sintassi
  216 \begin{code}
  217 arma p d q ; y 
  218 \end{code}
  219 stima un modello ARMA$(p,q)$ su $\Delta^d y_t$. È funzionalmente equivalente a
  220 \begin{code}
  221 series tmp = y
  222 loop for i=1..d
  223   tmp = diff(tmp)
  224 end loop
  225 arma p q ; tmp 
  226 \end{code}
  227 tranne che per quanto riguarda la previsione dopo la stima (si veda oltre).
  228 
  229 Quando la serie $y_t$ viene differenziata prima di effettuare l'analisi, il
  230 modello viene chiamato ARIMA (la ``I'' sta per ``Integrato''); per questo
  231 motivo, \app{gretl} fornisce anche il comando \cmd{arima} come alias per
  232 \cmd{arma}.
  233 
  234 La differenziazione stagionale è trattata in modo simile, con la sintassi
  235 \begin{code}
  236 arma p d q ; P D Q ; y 
  237 \end{code}
  238 dove \texttt{D} è l'ordine di differenziazione stagionale. Così, il comando
  239 \begin{code}
  240 arma 1 0 0 ; 1 1 1 ; y 
  241 \end{code}
  242 produrrebbe le stesse stime dei parametri date da
  243 \begin{code}
  244 genr dsy = sdiff(y)
  245 arma 1 0 ; 1 1 ; dsy 
  246 \end{code}
  247 dove usiamo la funzione \texttt{sdiff} per creare una differenza stagionale (ad
  248 esempio per dati trimestrali: $y_t - y_{t-4}$).
  249 
  250 \subsection{Stima}
  251 \label{arma-est}
  252 
  253 Il metodo di stima predefinito per i modelli ARMA è quello della massima
  254 verosimiglianza esatta (sotto l'ipotesi che il termine di errore sia distribuito
  255 normalmente), usando il filtro di Kalman insieme all'algoritmo di
  256 massimizzazione BFGS. Il gradiente della log-verosimiglianza rispetto alle stime
  257 dei parametri è approssimato numericamente. Questo metodo produce risultati che
  258 sono direttamente confrontabili con quelli di molti altri pacchetti software.
  259 La costante ed eventuali altre variabili esogene sono trattate come mostrato
  260 nell'equazione (\ref{eq:arma-with-x}). La matrice di covarianza per i parametri
  261 è calcolata usando un'approssimazione numerica dell'Hessiana alla convergenza.
  262 
  263 Il metodo alternativo, utilizzabile con l'opzione \verb|--conditional|, è quello
  264 della massima verosimiglianza condizionale (CML), noto anche come ``somma dei
  265 quadrati condizionale'' (si veda Hamilton 1994, p.\ 132). Questo metodo è stato
  266 esemplificato nello script~\ref{jack-arma} e ne verrà qui data solo una breve
  267 descrizione. Data un'ampiezza campionaria $T$, il metodo CML minimizza
  268 la somma dei quadrati degli errori di previsione ``one-step-ahead'' (per il
  269 periodo successivo) generata dal modello per le osservazioni $t_0, \ldots,
  270 T$. Il punto di partenza $t_0$ dipende dall'ordine dei polinomi AR nel
  271 modello. Il metodo numerico di massimizzazione usato è il BHHH, e la
  272 matrice di covarianza è calcolata usando una regressione di Gauss--Newton.
  273 
  274 Il metodo CML è quasi equivalente a quello della massima verosimiglianza in
  275 ipotesi di normalità; la differenza sta nel fatto che le prime $(t_0 - 1)$
  276 osservazioni sono considerate fisse ed entrano nella funzione di verosimiglianza
  277 solo come variabili condizionanti. Di conseguenza, i due metodi sono
  278 asintoticamente equivalenti sotto le consuete ipotesi, tranne per il fatto,
  279 discusso sopra, che la nostra implementazione CML tratta la costante e le
  280 variabili esogene come mostrato nell'equazione (\ref{eq:arma-with-z}).
  281 
  282 I due metodi possono essere confrontati nell'esempio seguente
  283 \begin{code}
  284 open data10-1
  285 arma 1 1 ; r
  286 arma 1 1 ; r --conditional
  287 \end{code}
  288 che produce le stime mostrate nella Tabella~\ref{tab:ml-cml}. Come si può
  289 vedere, le stime di $\phi$ e $\theta$ sono abbastanza simili. Le costanti
  290 riportate sono molto diverse, come ci si può aspettare; in proposito,
  291 si veda la discussione delle equazioni (\ref{eq:arma-with-xconst}) e
  292 (\ref{eq:arma-with-zconst}). In ogni caso, dividendo la costante CML per
  293 $1-\phi$ si ottiene 7.38, che non è molto distante dalla stima ML di 6.93.
  294 
  295 \begin{table}[htbp]
  296 \caption{Stime ML e CML}
  297 \label{tab:ml-cml}
  298 \begin{center}
  299   \begin{tabular}{crrrr}
  300     \hline
  301     Parametro & \multicolumn{2}{c}{ML} &
  302     \multicolumn{2}{c}{CML} \\
  303     \hline
  304     $\mu$ & 6.93042 & (0.923882) & 1.07322 & (0.488661) \\
  305     $\phi$ & 0.855360 & (0.0511842) & 0.852772 & (0.0450252) \\
  306     $\theta$ & 0.588056 & (0.0986096) & 0.591838 & (0.0456662) \\
  307     \hline
  308   \end{tabular}
  309 \end{center}
  310 \end{table}
  311 
  312 \subsection{Convergenza e inizializzazione}
  313 
  314 I metodi numerici usati per massimizzare la verosimiglianza per i modelli ARMA
  315 non sempre convergono. I valori iniziali dei parametri possono influire sul
  316 raggiungimento della convergenza e sul raggiungimento del vero massimo della
  317 funzione di verosimiglianza. \app{Gretl} utilizza uno dei due seguenti
  318 meccanismi per inizializzare i parametri, a seconda della specificazione del
  319 modello e del metodo di stima scelto.
  320 
  321 \begin{enumerate}
  322 \item Stima di un un modello AR puro usando i minimi quadrati (non lineari, se
  323   il modello lo richiede, altrimenti OLS). Impostazione del parametro AR secondo
  324   i risultati di questa regressione e impostazione dei parametri MA a un valore
  325   positivo ma piccolo (0.0001).
  326 \item Il metodo di Hannan--Rissanen: per prima cosa, stima di un modello
  327   autoregressivo usando OLS e salvataggio dei residui. Quindi stima di un
  328   secondo modello OLS, aggiungendo appropriati ritardi dei residui della prima
  329   regressione, per ottenere le stime dei parametri MA.
  330 \end{enumerate}
  331 
  332 Per vedere i dettagli della procedura di stima ARMA, basta aggiungere l'opzione
  333 \verb|--verbose| al comando. Verrà mostrato un messaggio sul metodo di
  334 inizializzazione scelto, oltre che i valori dei parametri e della
  335 log-verosimiglianza ad ogni iterazione.
  336 
  337 Oltre a questi meccanismi automatici di inizializzazione, l'utente può
  338 specificare manualmente un insieme di valori di partenza, attraverso il comando
  339 \cmd{set}: il primo argomento deve essere la parola chiave
  340 \texttt{initvals}, mentre il secondo dev'essere il nome di una matrice
  341 pre-specificata che contiene i valori iniziali. Ad esempio
  342 \begin{code}
  343 matrix start = { 0, 0.85, 0.34 }
  344 set initvals start
  345 arma 1 1 ; y
  346 \end{code}
  347 La matrice specificata deve avere un numero di parametri pari a quello del
  348 modello: nell'esempio precedente ci sono tre parametri, visto che il modello
  349 contiene implicitamente una costante. La costante, se presente, è sempre
  350 indicata per prima, altrimenti, l'ordine in cui vanno indicati i parametri è lo
  351 stesso della specificazione nel comando \cmd{arma} o \cmd{arima}. Nell'esempio,
  352 la costante è impostata a zero, $\phi_1$ a 0.85 e $\theta_1$ a 0.34.
  353 
  354 Per far tornare \app{gretl} ad usare l'inizializzazione automatica, basta
  355 eseguire il comando \cmd{set initvals auto}.
  356 
  357 \subsection{Stima con X-12-ARIMA}
  358 
  359 In alternativa alla stima di modelli ARMA usando le proprie funzionalità
  360 interne, \app{gretl} offre l'opzione di usare il programma esterno
  361 \app{X-12-ARIMA} per l'aggiustamento stagionale, curato dallo U.S. Census
  362 Bureau.
  363 
  364 \app{Gretl} include un modulo che si interfaccia con \app{X-12-ARIMA}:
  365 traduce i comandi \cmd{arma} dalla sintassi vista sopra in una forma riconosciuta
  366 da \app{X-12-ARIMA}, esegue il programma e recupera i risultati per ulteriori
  367 analisi in \app{gretl}. Per usare questa funzionalità, occore installare
  368 \app{X-12-ARIMA} separatamente: sul sito di \app{gretl},
  369 \url{http://gretl.sourceforge.net/}, sono disponibili pacchetti per MS Windows e
  370 GNU/Linux.
  371 
  372 Per invocare \app{X-12-ARIMA} come motore di stima, basta usare l'opzione
  373 \verb|--x-12-arima|, come in questo esempio:
  374 \begin{code}
  375 arma p q ; y --x-12-arima
  376 \end{code}
  377 Come accade con le stime effettuate da \app{gretl}, per impostazione predefinita
  378 viene usata la massima verosimiglianza esatta, ma è possibile usare la
  379 massima verosimiglianza condizionale con l'opzione \verb|--conditional|.
  380 Comunque, occorre notare che quando si usa \app{X-12-ARIMA} in modalità di
  381 massima verosimiglianza condizionale, quanto detto sopra a proposito dei
  382 diversi modi di trattare la media del processo $y_t$ \textit{non si applica}.
  383 Ossia, quando si usa \app{X-12-ARIMA} l'equazione stimata è la
  384 (\ref{eq:arma-with-x}), a prescindere dal fatto che la stima sia condotta con la
  385 massima verosimiglianza esatta o condizionale.
  386 
  387 
  388 \subsection{Previsione}
  389 \label{arma-fcast}
  390 
  391 I modelli ARMA sono spesso usati a scopo previsionale. La componente
  392 autoregressiva, in particolare, offre la possibilità di prevedere l'andamento
  393 del processo ``fuori dal campione'' su un certo orizzonte temporale.
  394 
  395 \app{Gretl} supporta le previsioni basate su modelli ARMA usando il metodo
  396 illustrato da Box e Jenkins (1976)\footnote{Si veda in particolare il loro
  397 ``Programma 4'' alle pagine 505 e seguenti.}. L'algoritmo di Box e Jenkins
  398 produce un insieme di coefficienti AR integrati che tiene conto delle operazioni
  399 di differenziazione (stagionale e/o non stagionale) sulla variabile dipendente
  400 in un contesto ARIMA, rendendo così possibile una previsione per il livello
  401 della variabile originale. Per contrasto, se si differenzia una serie
  402 manualmente e poi si applica ARMA alla serie differenziata, le previsioni
  403 saranno riferite alla serie differenziata, non al suo livello. Questo punto è
  404 illustrato dall'Esempio~\ref{arima-fcast-script}. Le stime dei parametri sono
  405 identiche per i due modelli; le previsioni sono diverse ma coerenti tra loro: la
  406 variabile \texttt{fcdiff} emula la previsione ARMA (statica, per il periodo
  407 successivo all'interno del campione, e dinamica, fuori dal campione).
  408 
  409 \begin{script}[htbp]
  410   \caption{Previsione ARIMA}
  411   \label{arima-fcast-script}
  412 \begin{scode}
  413 open greene18_2.gdt
  414 # Logaritmo del PIL nominale trimestrale degli USA, da 1950:1 a 1983:4
  415 genr y = log(Y)
  416 # La sua differenza prima
  417 genr dy = diff(y)
  418 # Teniamo 2 anni per la previsione fuori dal campione
  419 smpl ; 1981:4
  420 # Stima con ARIMA
  421 arima 1 1 1 ; y 
  422 # Previsione su tutto il periodo
  423 smpl --full
  424 fcast fc1
  425 # Torniamo al campione ristretto ed eseguiamo ARMA sulla differenza prima di y
  426 smpl ; 1981:4
  427 arma 1 1 ; dy
  428 smpl --full
  429 fcast fc2
  430 genr fcdiff = (t<=1982:1)*(fc1 - y(-1)) + (t>1982:1)*(fc1 - fc1(-1))
  431 # Confronto delle previsioni sull'ultimo periodo
  432 smpl 1981:1 1983:4
  433 print y fc1 fc2 fcdiff --byobs
  434 \end{scode}
  435 
  436 Il risultato dell'ultimo comando è:
  437 %
  438 \begin{code}
  439                   y          fc1          fc2       fcdiff
  440 1981:1      7.964086     7.940930      0.02668      0.02668
  441 1981:2      7.978654     7.997576      0.03349      0.03349
  442 1981:3      8.009463     7.997503      0.01885      0.01885
  443 1981:4      8.015625     8.033695      0.02423      0.02423
  444 1982:1      8.014997     8.029698      0.01407      0.01407
  445 1982:2      8.026562     8.046037      0.01634      0.01634
  446 1982:3      8.032717     8.063636      0.01760      0.01760
  447 1982:4      8.042249     8.081935      0.01830      0.01830
  448 1983:1      8.062685     8.100623      0.01869      0.01869
  449 1983:2      8.091627     8.119528      0.01891      0.01891
  450 1983:3      8.115700     8.138554      0.01903      0.01903
  451 1983:4      8.140811     8.157646      0.01909      0.01909
  452 \end{code}
  453 \end{script}
  454 
  455 
  456 \section{Test per radici unitarie}
  457 \label{sec:uroot}
  458 
  459 \subsection{Il test ADF}
  460 \label{sec:ADFtest}
  461 
  462 Il test ADF (Augmented Dickey--Fuller) è implementato in \app{gretl} sotto forma
  463 della statistica $t$ su $\varphi$ nella regressione seguente:
  464 \begin{equation}
  465   \label{eq:ADFtest}
  466   \Delta y_t = \mu_t + \varphi y_{t-1} + \sum_{i=1}^p \gamma_i \Delta
  467   y_{t-i} + \epsilon_t .
  468 \end{equation}
  469 
  470 Questa statistica test è probabilmente il più famoso e utilizzato test per
  471 radici unitarie. È un test a una coda la cui ipotesi nulla è
  472 $\varphi = 0$, mentre quella alternativa è $\varphi < 0$. Sotto l'ipotesi nulla,
  473 $y_t$ deve essere differenziata almeno una volta per raggiungere la
  474 stazionarietà. Sotto l'ipotesi alternativa, $y_t$ è già stazionaria e non
  475 richiede differenziazione. Quindi, grandi valori negativi della statistica test
  476 portano a rifiutare l'ipotesi nulla.
  477 
  478 Un aspetto peculiare di questo test è che la sua distribuzione limite non è
  479 standard sotto l'ipotesi nulla: inoltre, la forma della distribuzione, e quindi
  480 i valori critici per il test, dipendono dalla forma del termine
  481 $\mu_t$. Un'eccellente analisi di tutti i casi possibili è contenuta in
  482 Hamilton (1994), ma il soggetto è trattato anche in qualsiasi testo recente
  483 sulle serie storiche. Per quanto riguarda \app{gretl}, esso permette all'utente
  484 di scegliere la specificazione di $\mu_t$ tra quattro alternative:
  485 
  486 \begin{center}
  487   \begin{tabular}{cc}
  488     \hline
  489     $\mu_t$ & Opzione del comando \\
  490     \hline
  491     0 & \verb|--nc| \\
  492     $\mu_0$ &  \verb|--c| \\
  493     $\mu_0 + \mu_1 t$ &  \verb|--ct| \\
  494     $\mu_0 + \mu_1 t + \mu_1 t^2$ &  \verb|--ctt| \\
  495     \hline
  496   \end{tabular}
  497 \end{center}
  498 
  499 Queste opzioni non sono mutualmente esclusive e possono essere usate insieme; in
  500 questo caso, la statistica verrà calcolata separatamente per ognuno dei casi.
  501 La scelta predefinita in \app{gretl} è quella di usare la combinazione
  502 \verb|--c --ct --ctt|. Per ognuno dei casi, vengono calcolati p-value
  503 approssimativi usando l'algoritmo descritto in MacKinnon 1996.
  504 
  505 Il comando di \app{gretl} da usare per eseguire il test è \cmd{adf}; ad esempio
  506 \begin{code}
  507 adf 4 x1 --c --ct
  508 \end{code}
  509 calcola la statistica test come statistica-t per $\varphi$ nell'equazione
  510 \ref{eq:ADFtest} con $p=4$ nei due casi $\mu_t = \mu_0$ e
  511 $\mu_t = \mu_0 + \mu_1 t$.
  512 
  513 Il numero di ritardi ($p$ nell'equazione \ref{eq:ADFtest}) deve essere scelto
  514 per assicurarsi che la (\ref{eq:ADFtest}) sia una parametrizzazione abbastanza
  515 flessibile per rappresentare adeguatamente la persistenza di breve termine di
  516 $\Delta y_t$. Scegliere un $p$ troppo basso può portare a distorsioni di
  517 dimensione nel test, mentre sceglierlo troppo alto porta a una perdita di
  518 potenza del test. Per comodità dell'utente, il parametro $p$ può essere
  519 determinato automaticamente. Impostando $p$ a un numero negativo viene attivata
  520 una procedura sequenziale che parte da $p$ ritardi e decrementa $p$ fino a quando la statistica $t$
  521 per il parametro $\gamma_p$ supera 1.645 in valore assoluto.
  522 
  523 \subsection{Il test KPSS}
  524 \label{sec:KPSStest}
  525 
  526 Il test KPSS (Kwiatkowski, Phillips, Schmidt e Shin, 1992) è un test per radici
  527 unitarie in cui l'ipotesi nulla è l'opposto di quella del test ADF: l'ipotesi
  528 nulla è che la serie sia stazionaria, mentre l'ipotesi alternativa è che la serie
  529 sia $I(1)$.
  530  
  531 L'intuizione alla base di questa statistica test è molto semplice: se $y_t$ può
  532 essere scritta come $y_t = \mu + u_t$, dove $u_t$ è un qualche processo
  533 stazionario a media nulla, non solo la media campionaria di $y_t$ fornisce uno
  534 stimatore consistente di $\mu$, ma la varianza di lungo periodo di $u_t$ è un
  535 numero finito. Nessuna di queste proprietà è valida nel caso dell'ipotesi
  536 alternativa.
  537  
  538 Il test si basa sulla seguente statistica:
  539 
  540 \begin{equation}
  541   \label{eq:KPSStest}
  542   \eta = \frac{\sum_{i=1}^T S_t^2 }{ T^2 \bar{\sigma}^2 }
  543 \end{equation}
  544 dove $S_t = \sum_{s=1}^t e_s$ e $\bar{\sigma}^2$ è una stima della varianza di
  545 lungo periodo di $e_t = (y_t - \bar{y})$. Sotto l'ipotesi nulla, questa
  546 statistica ha una distribuzione asintotica ben definita (non standard), che non
  547 dipende da parametri di disturbo ed è stata tabulata con metodi di simulazione.
  548 Sotto l'ipotesi alternativa, la statistica diverge.
  549 
  550 Di conseguenza, è possibile costruire un test a una coda basato su
  551 $\eta$, dove $H_0$ è rifiutata se $\eta$ è maggiore del valore critico
  552 desiderato; \app{gretl} fornisce i quantili del 90\%, 95\%,
  553 97.5\% e 99\%.
  554 
  555 Esempio di uso:
  556 \begin{code}
  557 kpss m y
  558 \end{code}
  559 dove \verb|m| è un intero che rappresenta la larghezza di banda, o la dimensione
  560 della finestra usata nella formula per stimare la varianza di lungo periodo:
  561 \[
  562   \bar{\sigma}^2 = \sum_{i=-m}^m \left( 1 - \frac{|i|}{m+1} \right) \hat{\gamma}_i
  563 \]
  564 I termini $\hat{\gamma}_i$ denotano le autocovarianze empiriche di $e_t$
  565 dall'ordine $-m$ fino al $m$.  Affinché questo stimatore sia consistente, $m$
  566 deve essere abbastanza grande da accomodare la persistenza di breve periodo di
  567 $e_t$, ma non troppo grande se paragonato all'ampiezza campionaria $T$.
  568 Nell'interfaccia grafica di \app{gretl}, il valore predefinito è pari alla parte
  569 intera di $4 \left( \frac{T}{100} \right)^{1/4}$.
  570 
  571 Il concetto visto sopra può essere generalizzato al caso in cui $y_t$ è
  572 stazionario attorno a un trend deterministico. In questo caso, la
  573 formula (\ref{eq:KPSStest}) rimane invariata, ma la serie $e_t$ è definita come
  574 residui della regressione OLS di $y_t$ su una costante e un trend lineare.
  575 Questa seconda forma del test si ottiene aggiungendo l'opzione
  576 \verb|--trend| al comando \cmd{kpss}:
  577 \begin{code}
  578 kpss n y --trend
  579 \end{code}
  580 Si noti che in questo caso la distribuzione asintotica del test è diversa, e i
  581 valori critici riportati da \app{gretl} sono corretti di conseguenza.
  582 
  583 \subsection{I test di cointegrazione}
  584 \label{sec:coint-test}
  585 
  586 FIXME discuss Engle---Granger here, and refer forward to
  587 the next chapter for the Johansen tests.
  588 
  589 \section{ARCH e GARCH}
  590 \label{sec:arch-garch}
  591 
  592 Il fenomeno dell'eteroschedasticità rappresenta la varianza non costante del
  593 termine di errore in un modello di regressione. L'eteroschedasticità
  594 condizionale autoregressiva (ARCH) è un fenomeno specifico dei modelli per serie
  595 storiche, in cui la varianza del termine di errore presenta un comportamento
  596 autoregressivo, ad esempio, la serie presenta periodi in cui la varianza
  597 dell'errore è relativamente ampia e periodi in cui è relativamente piccola.
  598 Questo tipo di comportamento si verifica spesso sui mercati finanziari: una
  599 notizia inaspettata può provocare periodi di maggior volatilità del mercato.
  600 
  601 Un processo di errore ARCH di ordine $q$ può essere rappresentato come
  602 \[
  603 u_t = \sigma_t \varepsilon_t; \qquad
  604 \sigma^2_t \equiv {\rm E}(u^2_t|\Omega_{t-1}) = 
  605 \alpha_0 + \sum_{i=1}^q \alpha_i u^2_{t-i}
  606 \]
  607 dove le $\varepsilon_t$ sono indipendenti e identicamente distribuite (iid)
  608 con media zero e varianza uno, e dove $\sigma_t$ è la radice quadrata di
  609 $\sigma^2_t$. $\Omega_{t-1}$ denota il set informativo al tempo $t-1$ e
  610 $\sigma^2_t$ è la varianza condizionale: ossia, la varianza condizionata
  611 all'informazione che risale al tempo $t-1$ e precedente.
  612 
  613 È importante notare la differenza tra un processo ARCH e un normale processo di
  614 errore autoregressivo. Quest'ultimo, nel caso più semplice (del primo ordine),
  615 può essere scritto come
  616 \[
  617 u_t = \rho u_{t-1} + \varepsilon_t; \qquad -1 < \rho < 1
  618 \]
  619 dove le $\varepsilon_t$ sono iid con media zero e varianza costante $\sigma^2$.
  620 Con un errore AR(1), se $\rho$ è positivo un valore positivo di $u_t$ tenderà ad
  621 essere seguito, con probabilità maggiore di 0.5, da un valore positivo
  622 $u_{t+1}$.  Con un processo di errore ARCH, un errore $u_t$ dal valore assoluto
  623 elevato tenderà ad essere seguito da valori a loro volta elevati, ma senza
  624 assumere che i valori successivi siano dello stesso segno. La presenza di
  625 processi ARCH nelle serie finanziarie è un ``fatto stilizzato'' ed è coerente
  626 con l'ipotesi di efficienza dei mercati; d'altra parte, un comportamento
  627 autoregressivo dei prezzi dei titoli violerebbe l'efficienza del mercato.
  628 
  629 È possibile testare per l'esistenza di un ARCH di ordine $q$ nel modo seguente:
  630 \begin{enumerate}
  631 \item Stimare il modello in esame con OLS e salvare i quadrati dei residui,
  632   $\hat{u}^2_t$.
  633 \item Eseguire una regressione ausiliaria in cui i quadrati dei residui sono
  634   regrediti su una costante e su $q$ ritardi propri.
  635 \item Trovare il valore $TR^2$ (ampiezza campionaria moltiplicata per $R^2$ non
  636   corretto) per la regressione ausiliaria.
  637 \item Confrontare il valore $TR^2$ con la distribuzione $\chi^2$ con $q$ gradi
  638   di libertà, e se il p-value è ``abbastanza piccolo'' rifiutare l'ipotesi nulla
  639   di omoschedasticità, in favore dell'ipotesi alternativa dell'esistenza di un
  640   processo ARCH($q$).
  641 \end{enumerate}
  642 
  643 Questo test è implementato in \app{gretl} con il comando \cmd{arch}. Questo
  644 comando può essere eseguito dopo la stima OLS di un modello di serie storiche, o
  645 selezionandolo dal menù ``Test'' della finestra del modello (sempre dopo una
  646 stima OLS). Verrà mostrato il risultato del test, e, se il valore
  647 $TR^2$ dalla regressione ausiliaria ha un p-value minore di 0.10,
  648 vengono mostrate anche le stime ARCH. Queste stime sono sotto forma di minimi
  649 quadrati generalizzati (Generalized Least Squares, GLS), in particolare di
  650 minimi quadrati ponderati, dove i pesi sono inversamente proporzionali agli
  651 scarti quadratici medi stimati degli errori, $\hat{\sigma}_t$, derivati dalla
  652 regressione ausiliaria.
  653 
  654 Inoltre, il test ARCH è disponibile dopo aver stimato un'autoregressione
  655 vettoriale (VAR). In questo caso però non viene eseguita la stima GLS.
  656 
  657 \subsection{GARCH}
  658 \label{subsec:garch}
  659 
  660 Il semplice processo ARCH($q$) è utile per introdurre il concetto generale di
  661 eteroschedasticità condizionale nelle serie storiche, ma si è rivelato
  662 insufficiente per il lavoro empirico. La dinamica della varianza dell'errore
  663 consentita dal modello ARCH($q$) non è abbastanza ricca per rappresentare
  664 l'andamento tipico dei dati finanziari. Oggi è di uso più comune il modello ARCH
  665 generalizzato, o GARCH.
  666 
  667 La rappresentazione della varianza di un processo nel modello GARCH è abbastanza
  668 (ma non esattamente) simile alla rappresentazione ARMA del livello di una serie
  669 storica. La varianza al tempo $t$ può dipendere sia dai valori passati della
  670 varianza, sia dai valori passati dei quadrati degli errori, come mostra il
  671 seguente sistema di equazioni:
  672 \begin{eqnarray}
  673   \label{eq:garch-meaneq}
  674   y_t &  = & X_t \beta + u_t \\
  675   \label{eq:garch-epseq}
  676   u_t &  = & \sigma_t \varepsilon_t \\
  677   \label{eq:garch-vareq}
  678   \sigma^2_t & = & \alpha_0 + \sum_{i=1}^q \alpha_i u^2_{t-i} +
  679       \sum_{j=1}^p \delta_i \sigma^2_{t-j}
  680 \end{eqnarray}
  681 
  682 Come nel caso precedente, $\varepsilon_t$ è una variabile iid con varianza unitaria.
  683 $X_t$ è una matrice di regressori (o nel caso più semplice un vettore con
  684 elementi pari a 1, che consente una media di $y_t$ diversa da zero). Si noti che
  685 se $p=0$, il GARCH si riduce a un ARCH($q$): la generalizzazione è incorporata
  686 nei termini $\delta_i$ che moltiplicano i valori precedenti della varianza
  687 dell'errore.
  688 
  689 In linea di principio, l'innovazione sottostante, $\varepsilon_t$, potrebbe
  690 seguire una qualsiasi distribuzione di probabilità, e oltre all'ovvia candidata
  691 rappresentata dalla normale, o Gaussiana, anche la distribuzione $t$ è stata
  692 usata in questo contesto. Al momento \app{gretl} gestisce solo il caso in cui
  693 $\varepsilon_t$ viene ipotizzata Gaussiana. Però se si usa l'opzione
  694 \verb|--robust| del comando \cmd{garch}, lo stimatore usato da \app{gretl} per
  695 la matrice di covarianza può essere considerato uno stimatore di quasi massima
  696 verosimiglianza anche con disturbi non normali. Si veda oltre per le altre
  697 opzioni che riguardano la matrice di covarianza GARCH.
  698 
  699 Esempio:
  700 \begin{code}
  701 garch p q ; y const x
  702 \end{code}
  703 dove \verb|p| $\ge 0$ e \verb|q| $>0$ denotano i rispettivi ordini di ritardo
  704 come mostrati nell'equazione (\ref{eq:garch-vareq}).  Questi valori possono
  705 essere forniti in forma numerica o come nomi di variabili scalari preesistenti.
  706 
  707 \subsection{Stima GARCH}
  708 \label{subsec:garch-est}
  709 
  710 La stima dei parametri di un modello GARCH non è per nulla un compito semplice.
  711 Si consideri l'equazione~\ref{eq:garch-vareq}: la varianza condizionale in ogni
  712 periodo, $\sigma^2_t$, dipende dalla varianza condizionale nei periodi
  713 precedenti, ma $\sigma^2_t$ non è osservata e deve essere stimata con qualche
  714 tipo di procedura di massima verosimiglianza. \app{Gretl} usa il metodo proposto
  715 da Fiorentini, Calzolari e Panattoni (1996)\footnote{L'algoritmo si basa sul
  716 codice Fortran rilasciato dagli autori nell'archivio del \textit{Journal of
  717 Applied Econometrics} ed è usato per gentile concessione del Professor
  718 Fiorentini.} che è stato adottato come metro di paragone nello studio dei
  719 risultati GARCH di McCullough e Renfro (1998). Esso usa le derivate analitiche
  720 prime e seconde della log-verosimiglianza, adotta un algoritmo del gradiente
  721 misto, sfruttando la matrice informativa nelle prime iterazioni, e quindi passa
  722 all'Hessiano in prossimità della massima verosimiglianza (questo andamento può
  723 essere verificato usando l'opzione \verb|--verbose| del comando \cmd{garch} di
  724 \app{gretl}).
  725 
  726 Sono disponibili varie opzioni per il calcolo della matrice di covarianza delle
  727 stime dei parametri ottenute con il comando \cmd{garch}. Per prima cosa, è
  728 possibile scegliere tra uno stimatore ``standard'' e uno ``robusto''.
  729 La scelta predefinita è quella dell'Hessiano, a meno che non si usi l'opzione
  730 \verb|--robust|, nel cui caso viene usato lo stimatore QML. Una scelta più
  731 dettagliata è disponibile usando il comando \cmd{set}, come mostrato nella
  732 tabella~\ref{tab:garch-vcv}.
  733 
  734 \begin{table}[htbp]
  735 \caption{Opzioni per la matrice di covarianza GARCH}
  736 \label{tab:garch-vcv}
  737 \begin{center}
  738 \begin{tabular}{ll}
  739 \multicolumn{1}{c}{\textit{Commando}} &
  740 \multicolumn{1}{c}{\textit{Effetto}} \\ [4pt]
  741 \texttt{set garch\_vcv hessian} & Usa l'Hessiano \\
  742 \texttt{set garch\_vcv im} & Usa la matrice di informazione \\
  743 \texttt{set garch\_vcv op} & Usa il prodotto esterno del gradiente \\
  744 \texttt{set garch\_vcv qml} & Stimatore QML \\
  745 \texttt{set garch\_vcv bw} & Stimatore ``sandwich'' di Bollerslev--Wooldridge
  746 \end{tabular}
  747 \end{center}
  748 \end{table}
  749 
  750 Non è infrequente, nella stima di un modello GARCH, che il calcolo iterativo
  751 delle stime fallisca nel raggiungere la convergenza. Affinché un modello GARCH
  752 abbia senso, sono necessari vincoli stringenti sui valori ammissibili dei
  753 parametri, e non sempre esiste un insieme di valori all'interno dello spazio dei
  754 parametri per cui la verosimiglianza viene massimizzata.
  755 
  756 I vincoli in questione possono essere spiegati riferendosi al più semplice (e
  757 più comune) modello GARCH, dove $p = q = 1$. Nel modello GARCH(1, 1), la varianza
  758 condizionale è
  759 \begin{equation}
  760 \label{eq:condvar}
  761 \sigma^2_t = \alpha_0 + \alpha_1 u^2_{t-1} + \delta_1 \sigma^2_{t-1}
  762 \end{equation}
  763 Prendendo il valore atteso non condizionale della (\ref{eq:condvar}) si ottiene
  764 \[
  765 \sigma^2 = \alpha_0 + \alpha_1 \sigma^2 + \delta_1 \sigma^2
  766 \]
  767 così che
  768 \[
  769 \sigma^2 = \frac{\alpha_0}{1 - \alpha_1 - \delta_1}
  770 \]
  771 Affinché questa varianza non condizionale esista, occorre che
  772 $\alpha_1 + \delta_1 < 1$, e quindi occorre richiedere $\alpha_0 > 0$.
  773 
  774 Un motivo comune per la non convergenza delle stime GARCH (ossia, un motivo
  775 comune per la non esistenza di valori $\alpha_i$ e $\delta_i$ che soddisfano le
  776 condizioni precedenti e nello stesso tempo massimizzano la verosimiglianza dei
  777 dati) è la cattiva specificazione del modello. È importante rendersi conto che
  778 il modello GARCH in sé prevede \textit{solamente} che la volatilità dei dati dipende 
  779 dal tempo. Se la \textit{media} della serie in questione non è costante, o se il
  780 processo di errore non è solo eteroschedastico ma è anche autoregressivo, è
  781 necessario tener conto di questi fatti per formulare un modello appropriato. Ad
  782 esempio, può essere necessario dover prendere la differenza prima della
  783 variabile in questione e/o aggiungere opportuni regressori $X_t$ al modello,
  784 come mostrato nella (\ref{eq:garch-meaneq}).
  785 
  786 %%% Local Variables: 
  787 %%% mode: latex
  788 %%% TeX-master: "gretl-guide-it"
  789 %%% End: 
  790