Σ
SDCalc
ŚredniozaawansowanyZastosowania·12 min

Kroczące odchylenie standardowe w szeregach czasowych

Naucz się obliczać i interpretować kroczące (ruchome) odchylenie standardowe w analizie szeregów czasowych. Wstęgi Bollingera, klasteryzacja zmienności, przykłady w Pythonie i zastosowania w finansach.

Czym jest kroczące odchylenie standardowe?

Kroczące odchylenie standardowe (zwane również ruchomym odchyleniem lub zmiennością kroczącą) oblicza odchylenie standardowe w przesuwającym się oknie czasowym. W przeciwieństwie do statycznego odchylenia, które wykorzystuje wszystkie dane historyczne, kroczące odchylenie koncentruje się na najnowszych obserwacjach, co czyni je niezbędnym do wykrywania zmian zmienności w czasie.

Technika ta jest fundamentalna na rynkach finansowych, gdzie zmienność nie jest stała, lecz zmienia się w czasie. Akcja może być spokojna przez miesiące, a potem nagle stać się wysoce zmienną podczas ogłaszania wyników lub kryzysów rynkowych. Kroczące odchylenie uchwytuje tę dynamikę w czasie rzeczywistym.

Dlaczego kroczące odchylenie ma znaczenie

Statyczne odchylenie standardowe traktuje wszystkie dane historyczne jednakowo, ale niedawna zmienność często lepiej przewiduje przyszłą zmienność niż odległa historia. Kroczące odchylenie daje bieżącą, użyteczną miarę ryzyka, która dostosowuje się do zmieniających się warunków rynkowych.

Jak obliczyć kroczące odchylenie standardowe

Dla każdego punktu w czasie oblicz odchylenie standardowe z poprzednich n punktów danych. Przesuwając się do przodu, okno przesuwa się, zawsze wykorzystując najnowsze n wartości. Tworzy to szereg czasowy oszacowań zmienności.

1

Zdefiniuj okno

Wybierz liczbę okresów (np. 20 dni), które uwzględnisz w każdym obliczeniu.
2

Oblicz pierwsze odchylenie

Oblicz odchylenie standardowe z pierwszych n punktów danych.
3

Przesuń okno

Przesuń się o jeden okres do przodu, usuń najstarszą wartość, dodaj najnowszą.
4

Powtarzaj

Kontynuuj aż do końca serii danych.
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()

Pierwsze (okno-1) wartości będą miały wartość NaN, ponieważ do obliczenia potrzeba co najmniej n obserwacji. W praktyce można użyć parametru min_periods, aby zacząć obliczenia wcześniej z mniejszą liczbą obserwacji.

Wybór wielkości okna

Wielkość okna tworzy kompromis między szybkością reakcji a stabilnością:

  • Krótkie okna (5–10 dni):Reagują szybko na zmiany zmienności, ale są zaszumione i mogą generować fałszywe sygnały
  • Średnie okna (20–30 dni):Równowaga między szybkością reakcji a stabilnością; 20 dni to standard branżowy dla wstęg Bollingera
  • Długie okna (50–100 dni):Gładkie i stabilne, ale wolno wykrywają zmiany reżimu; dobre do analizy trendów

Wskazówka

Używaj wielu wielkości okna jednocześnie. Porównuj 10-dniowe, 20-dniowe i 50-dniowe kroczące odchylenia, aby zrozumieć zarówno krótkoterminowe wahania, jak i długoterminowe trendy zmienności. Rozbieżność między nimi może sygnalizować zmianę reżimu.

Zastosowania w praktyce

Kroczące odchylenie standardowe jest szeroko stosowane w finansach i nauce o danych:

  • Zarządzanie ryzykiem:Obliczanie wartości zagrożonej (VaR) na podstawie bieżącej zmienności zamiast średnich historycznych
  • Wycena opcji:Szacowanie parametrów zmienności implikowanej dla modeli Blacka-Scholesa i innych
  • Zarządzanie portfelem:Dostosowywanie wielkości pozycji na podstawie bieżącej zmienności; redukcja ekspozycji przy skokach zmienności
  • Wykrywanie anomalii:Identyfikacja nietypowych okresów, gdy bieżąca zmienność znacząco odbiega od średniej kroczącej
  • Analiza techniczna:Wstęgi Bollingera, kanały Keltnera i inne wskaźniki oparte na zmienności

Wstęgi Bollingera

Wstęgi Bollingera to najsłynniejsze zastosowanie kroczącego odchylenia standardowego. Opracowane przez Johna Bollingera w latach 80., tworzą dynamiczną obwiednię wokół ceny, która dostosowuje się do zmienności.

Wstęgi Bollingera

Upper Band = SMA(20) + 2 × Moving SD(20) Lower Band = SMA(20) - 2 × Moving SD(20)

Wstęgi rozszerzają się w okresach zmiennych i zwężają w okresach spokojnych. Traderzy wykorzystują je do:

  • Identyfikacji stanów wykupienia/wyprzedania, gdy cena dotyka wstęg
  • Wykrywania “ściśnięć” (niskiej zmienności), które często poprzedzają wybicia
  • Ustawiania dynamicznych zleceń stop-loss na podstawie aktualnych warunków rynkowych

Klasteryzacja zmienności

Jednym z najważniejszych empirycznych faktów w finansach jest klasteryzacja zmienności — wysoka zmienność ma tendencję do następowania po wysokiej zmienności, a niska po niskiej. Zjawisko to zostało sformalizowane przez Roberta Engle’a (Nagroda Nobla 2003) w modelu ARCH.

Kroczące odchylenie ujawnia tę klasteryzację wizualnie. Gdy wykreślisz zmienność kroczącą w czasie, zobaczysz wyraźne reżimy wysokiej i niskiej zmienności zamiast losowych wahań. Ma to głębokie implikacje:

  • Przewidywalność:Jutrzejsza zmienność prawdopodobnie będzie podobna do dzisiejszej — możesz antycypować ryzyko
  • Budżetowanie ryzyka:Zmniejsz pozycje przy wchodzeniu w reżim wysokiej zmienności
  • Dobór strategii:Różne strategie handlowe działają lepiej w różnych środowiskach zmienności

Ważne zastrzeżenie

Choć zmienność się klasteryzuje, zmiany reżimu mogą być nagłe i dramatyczne. Ważne wiadomości, krachy rynkowe czy decyzje polityczne mogą natychmiast zmienić reżim zmienności. Kroczące odchylenie zawsze będzie opóźnione względem tych zmian — zanim odzwierciedli nową rzeczywistość, reżim może się już ponownie zmienić.