ÎncepețiÎncepe gratuit

O Strategie Populară Bazată pe Autocorelare

Un fenomen curios în piețele bursiere este că investitorii tind să reacționeze exagerat la știri. După creșteri sau scăderi bruște ale prețurilor, acestea tind să se corecteze. Acest comportament este descris ca revenire la medie: prețurile tind să revină la nivelurile anterioare după mișcări ample, observate pe orizonturi de timp de aproximativ o săptămână. O formulare mai matematică a revenirii la medie este că randamentele bursiere sunt negativ autocorelate.

Această idee simplă stă de fapt la baza unei strategii populare în rândul fondurilor de hedging. Dacă ești curios să afli mai multe despre această strategie (deși nu este o lectură obligatorie pentru restul cursului), poți consulta acest articol.

Vei analiza autocorелarea randamentelor săptămânale ale acțiunii MSFT în perioada 2012–2017. Vei porni de la un DataFrame MSFT cu prețuri zilnice. Folosește metoda .resample() pentru a obține prețuri săptămânale, apoi calculează randamentele din prețuri. Utilizează metoda pandas .autocorr() pentru a calcula autocorелarea și verifică că aceasta este negativă. Reține că metoda .autocorr() funcționează doar pe obiecte de tip Series, nu pe DataFrame-uri (chiar dacă au o singură coloană), deci va trebui să selectezi coloana din DataFrame.

Acest exercițiu face parte din cursul

Analiza seriilor de timp în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește metoda .resample() cu rule='W', urmată de funcția .last(), pentru a converti datele zilnice în date săptămânale.
  • Creează un nou DataFrame, returns, cu variațiile procentuale ale prețurilor săptămânale, folosind metoda .pct_change().
  • Calculează autocorелarea cu metoda .autocorr() aplicată pe seria prețurilor de închidere ajustate, adică coloana 'Adj Close' din DataFrame-ul returns.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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))
Editează și rulează codul