Passeggiata casuale

Analisi delle serie temporali in Python

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Cos'è una passeggiata casuale?

  • Prezzo di oggi = Prezzo di ieri + Rumore

$\large \quad \quad \ P_t \quad \ \ = \quad P_{t-1} \quad \quad \ + \ \ \epsilon_t$

  • Grafico di dati simulati

Analisi delle serie temporali in Python

Cos'è una passeggiata casuale?

  • Prezzo di oggi = Prezzo di ieri + Rumore

$\large \quad \quad \ P_t \quad \ \ = \quad P_{t-1} \quad \quad \ + \ \ \epsilon_t$

  • La variazione di prezzo è rumore bianco

$\large \quad \quad P_t - P_{t-1} \quad \ \ = \quad \ \ \epsilon_t$

  • Una passeggiata casuale non si può prevedere
  • La stima migliore per il prezzo di domani è il prezzo di oggi
Analisi delle serie temporali in Python

Cos'è una passeggiata casuale?

  • Prezzo di oggi = Prezzo di ieri + Rumore

$\large \quad \quad \ P_t \quad \ \ = \quad P_{t-1} \quad \quad \ + \ \ \epsilon_t$

  • Passeggiata casuale con drift:

$\large \quad \quad \ P_t \quad \ \ = \ \mu \ + \ P_{t-1} \ \ + \quad \epsilon_t$

  • La variazione di prezzo è rumore bianco con media non nulla:

$\large \quad \quad P_t - P_{t-1} \ \ = \ \mu \ \ + \ \ \epsilon_t$

Analisi delle serie temporali in Python

Test statistico per passeggiata casuale

  • Passeggiata casuale con drift

$\large \quad \quad P_t \quad \ \ = \ \mu \ \ + \ \ P_{t-1} \quad \ + \ \ \epsilon_t$

  • Test di regressione per passeggiata casuale

$\large \quad \quad P_t \quad \ \ = \ \alpha \ \ + \ \ \beta \ P_{t-1} \ \ + \ \ \epsilon_t$

  • Test:

$\quad \quad \large H_0: \beta=1$ (passeggiata casuale)

$\quad \quad \large H_1: \beta<1$ (non passeggiata casuale)

Analisi delle serie temporali in Python

Test statistico per passeggiata casuale

  • Test di regressione per passeggiata casuale

$\large \quad \quad \quad \quad P_t \quad \ \ = \ \alpha \ \ + \ \ \beta \ P_{t-1} \quad \ + \ \ \epsilon_t$

  • Equivalente a

$\large \quad \quad P_t - P_{t-1} \ \ = \ \alpha \ \ + \ \ \beta \ P_{t-1} \ \ + \ \ \epsilon_t$

  • Test:

$\quad \quad \large H_0: \beta=0$ (passeggiata casuale)

$\quad \quad \large H_1: \beta<0$ (non passeggiata casuale)

Analisi delle serie temporali in Python

Test statistico per passeggiata casuale

  • Test di regressione per passeggiata casuale

$\large \quad \quad P_t - P_{t-1} \ \ = \ \alpha \ \ + \ \ \beta \ P_{t-1} \ \ + \ \ \epsilon_t$

  • Test:

$\large \ \ \ \ H_0: \beta=0$ (passeggiata casuale)

$\large \ \ \ \ H_1: \beta<0$ (non passeggiata casuale)

  • Questo test si chiama Dickey-Fuller
  • Se aggiungi più ritardi delle variazioni a destra, è il test Dickey-Fuller aumentato
Analisi delle serie temporali in Python

Test ADF in Python

  • Importa il modulo da statsmodels
    from statsmodels.tsa.stattools import adfuller
    
  • Esegui il test Dickey-Fuller aumentato
    adfuller(x)
    
Analisi delle serie temporali in Python

Esempio: l'S&P500 è una passeggiata casuale?

# Run Augmented Dickey-Fuller Test on SPX data
results = adfuller(df['SPX'])
# Print p-value
print(results[1])
0.782253808587
# Print full results
print(results)
(-0.91720490331127869,
 0.78225380858668414,
 0,
 1257,
 {'1%': -3.4355629707955395,
  '10%': -2.567995644141416,
  '5%': -2.8638420633876671},
 10161.888789598503)
Analisi delle serie temporali in Python

Esercitiamoci!

Analisi delle serie temporali in Python

Preparing Video For Download...