Populární strategie využívající autokorelaci
Jednou zajímavou anomálií na akciových trzích je tendence investorů přehnaně reagovat na zprávy. Po velkých skocích cen akcií – ať už nahoru, nebo dolů – ceny mají sklon se obrátit zpět. Tento jev se nazývá mean reversion: ceny se po výrazných pohybech vrací k předchozím úrovním, přičemž tento efekt se projevuje v horizontu přibližně jednoho týdne. Matematicky lze mean reversion popsat tak, že výnosy akcií jsou záporně autokorelované.
Tato jednoduchá myšlenka je základem populární strategie hedgeových fondů. Pokud tě zajímají podrobnosti (nejsou ale nutné pro zbytek kurzu), mrkni sem.
Podíváš se na autokorelaci týdenních výnosů akcií MSFT v letech 2012–2017. Začneš s DataFramem MSFT s denními cenami. Pomocí metody .resample() převedeš data na týdenní frekvenci a z cen vypočítáš výnosy. Pomocí pandas metody .autocorr() ověříš, že autokorelace je záporná. Nezapomeň, že metoda .autocorr() funguje pouze na objektu Series, ne na DataFramu (ani na DataFramu s jediným sloupcem) – proto budeš muset příslušný sloupec nejprve vybrat.
Toto cvičení je součástí kurzu
Analýza časových řad v Pythonu
Pokyny k cvičení
- Pomocí metody
.resample()s argumentemrule='W'a následnou funkcí.last()převeď denní data na týdenní. - Vytvoř nový DataFrame
returnss procentními změnami týdenních cen pomocí metody.pct_change(). - Vypočítej autokorelaci pomocí metody
.autocorr()aplikované na sérii závěrečných cen akcií – tedy sloupec'Adj Close'v DataFramureturns.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))