Σ
SDCalc
IntermedioApplicazioni·12 min

Deviazione standard mobile per le serie temporali

Scopri come calcolare e interpretare la deviazione standard mobile (rolling) per l’analisi delle serie temporali. Include le bande di Bollinger, il clustering della volatilità, esempi di codice Python e applicazioni nel mondo finanziario.

Che cos’è la deviazione standard mobile?

La deviazione standard mobile (detta anche DS rolling o volatilità trailing) calcola la deviazione standard su una finestra temporale scorrevole. A differenza della deviazione standard statica che utilizza tutti i dati storici, la DS mobile si concentra sulle osservazioni recenti, rendendola essenziale per rilevare cambiamenti nella volatilità nel tempo.

Questa tecnica è fondamentale nei mercati finanziari, dove la volatilità non è costante ma cambia nel tempo. Un titolo può essere calmo per mesi, poi diventare improvvisamente molto volatile durante le comunicazioni sugli utili o le crisi di mercato. La DS mobile cattura queste dinamiche in tempo reale.

Perché la DS mobile è importante

La deviazione standard statica tratta tutti i dati storici allo stesso modo, ma la volatilità recente spesso predice meglio la volatilità futura rispetto alla storia lontana. La DS mobile fornisce una misura del rischio attuale e utilizzabile che si adatta alle condizioni di mercato in evoluzione.

Come calcolare la deviazione standard rolling

Per ogni punto nel tempo, si calcola la deviazione standard degli ultimi n dati. Man mano che si avanza, la finestra scorre, utilizzando sempre i n valori più recenti. Ciò crea una serie temporale di stime della volatilità.

1

Definire la finestra

Scegliere quanti periodi (es. 20 giorni) includere in ogni calcolo.
2

Calcolare la prima DS

Calcolare la deviazione standard dei primi n dati.
3

Far scorrere la finestra

Avanzare di un periodo, eliminare il valore più vecchio, aggiungere il più recente.
4

Ripetere

Continuare fino alla fine della serie di dati.
python
import pandas as pd
import numpy as np

# Load your time series data
df = pd.read_csv('stock_prices.csv')

# 20-day rolling standard deviation
df['rolling_std_20'] = df['returns'].rolling(window=20).std()

# Annualized volatility (assuming daily returns)
df['annualized_vol'] = df['rolling_std_20'] * np.sqrt(252)

# Multiple windows for comparison
df['rolling_std_10'] = df['returns'].rolling(window=10).std()
df['rolling_std_50'] = df['returns'].rolling(window=50).std()

Si noti che i primi (finestra-1) valori saranno NaN poiché servono almeno n osservazioni per il calcolo. Nella pratica, si può usare il parametro min_periods per iniziare a calcolare prima con meno osservazioni.

Scegliere la dimensione della finestra giusta

La dimensione della finestra crea un compromesso tra reattività e stabilità:

  • Finestre brevi (5-10 giorni):Reagiscono rapidamente ai cambiamenti di volatilità ma sono rumorose e possono produrre falsi segnali
  • Finestre medie (20-30 giorni):Bilanciano reattività e stabilità; 20 giorni è lo standard di settore per le bande di Bollinger
  • Finestre lunghe (50-100 giorni):Lisce e stabili ma lente nel rilevare cambiamenti di regime; adatte all’analisi dei trend

Suggerimento

Usa più dimensioni di finestra insieme. Confronta le DS mobili a 10, 20 e 50 giorni per comprendere sia le fluttuazioni a breve termine che le tendenze della volatilità a lungo termine. La divergenza tra queste può segnalare cambiamenti di regime.

Applicazioni nel mondo reale

La deviazione standard mobile è ampiamente utilizzata in finanza e data science:

  • Gestione del rischio:Calcolo del Value at Risk (VaR) usando la volatilità recente anziché le medie storiche
  • Pricing delle opzioni:Stima dei parametri di volatilità implicita per i modelli Black-Scholes e altri
  • Gestione del portafoglio:Adeguamento delle dimensioni delle posizioni in base alla volatilità corrente; riduzione dell’esposizione quando la volatilità aumenta
  • Rilevamento anomalie:Identificazione di periodi insoliti quando la volatilità corrente devia significativamente dalla media mobile
  • Analisi tecnica:Bande di Bollinger, canali di Keltner e altri indicatori basati sulla volatilità

Le bande di Bollinger spiegate

Le bande di Bollinger sono l’applicazione più famosa della deviazione standard mobile. Sviluppate da John Bollinger negli anni ’80, creano un involucro dinamico attorno al prezzo che si adatta alla volatilità.

Bande di Bollinger

Banda superiore = SMA(20) + 2 × DS mobile(20) Banda inferiore = SMA(20) - 2 × DS mobile(20)

Le bande si allargano nei periodi volatili e si restringono nei periodi calmi. I trader le usano per:

  • Identificare condizioni di ipercomprato/ipervenduto quando il prezzo tocca le bande
  • Rilevare le “compressioni” (bassa volatilità) che spesso precedono le rotture
  • Impostare stop-loss dinamici basati sulle condizioni attuali del mercato

Clustering della volatilità

Uno dei fatti empirici più importanti in finanza è che la volatilità si raggruppa: periodi di alta volatilità tendono a seguire periodi di alta volatilità, e lo stesso vale per la bassa. Ciò è stato formalizzato da Robert Engle (Premio Nobel 2003) nel modello ARCH.

La DS mobile rivela questo raggruppamento visivamente. Quando si traccia la volatilità rolling nel tempo, si vedono chiari regimi di alta e bassa volatilità anziché fluttuazioni casuali. Questo ha implicazioni profonde:

  • Prevedibilità:La volatilità di domani sarà probabilmente simile a quella di oggi — si può anticipare il rischio
  • Budget del rischio:Ridurre le posizioni quando si entra in regimi di alta volatilità
  • Selezione delle strategie:Diverse strategie di trading funzionano meglio in diversi ambienti di volatilità

Avvertenza importante

Sebbene la volatilità si raggruppi, i cambiamenti di regime possono essere improvvisi e drammatici. Notizie importanti, crolli di mercato o annunci politici possono spostare i regimi di volatilità istantaneamente. La DS mobile sarà sempre in ritardo rispetto a questi cambiamenti: quando rifletterà la nuova realtà, il regime potrebbe essere già cambiato nuovamente.