Popularna Strategia Oparta na Autokorelacji
Jedną z intrygujących anomalii na rynku akcji jest tendencja inwestorów do nadmiernego reagowania na informacje. Po dużych skokach cen – zarówno w górę, jak i w dół – akcje mają tendencję do odwracania kierunku. Opisuje się to jako powrót do średniej: ceny odbijają się od skrajnych poziomów i wracają w kierunku poprzednich wartości. Zjawisko to obserwuje się w horyzontach czasowych rzędu tygodnia. Matematycznie można je opisać, stwierdzając, że stopy zwrotu z akcji są ujemnie autokorelowane.
Ta prosta idea stanowi podstawę popularnej strategii funduszy hedgingowych. Jeśli chcesz dowiedzieć się więcej na ten temat (choć lektura nie jest wymagana do dalszej pracy z kursem), zajrzyj tutaj.
Przeanalizujesz autokorelację tygodniowych stóp zwrotu akcji MSFT w latach 2012–2017. Punktem wyjścia będzie DataFrame MSFT z dziennymi cenami. Użyj metody .resample(), aby uzyskać ceny tygodniowe, a następnie oblicz stopy zwrotu na podstawie cen. Skorzystaj z metody pandas .autocorr(), aby obliczyć autokorelację i wykazać, że jest ona ujemna. Pamiętaj, że metoda .autocorr() działa wyłącznie na obiektach Series, a nie na DataFrame'ach (nawet tych z jedną kolumną) – dlatego musisz najpierw wybrać odpowiednią kolumnę.
To ćwiczenie jest częścią kursu
Analiza szeregów czasowych w Pythonie
Instrukcje do ćwiczenia
- Użyj metody
.resample()z argumentemrule='W', a następnie funkcji.last(), aby przekształcić dane dzienne na tygodniowe. - Utwórz nowy DataFrame
returnsz procentowymi zmianami tygodniowych cen, korzystając z metody.pct_change(). - Oblicz autokorelację, używając metody
.autocorr()na serii zamkniętych cen akcji – czyli kolumnie'Adj Close'w DataFramereturns.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Convert the daily data to weekly data
MSFT = MSFT.resample(___).___
# Compute the percentage change of prices
returns = MSFT.___
# Compute and print the autocorrelation of returns
autocorrelation = returns[___].___
print("The autocorrelation of weekly returns is %4.2f" %(autocorrelation))