Strategi Populer Menggunakan Autokorelasi
Salah satu anomali yang membingungkan pada saham adalah kecenderungan investor untuk bereaksi berlebihan terhadap berita. Setelah terjadi lonjakan besar, baik naik maupun turun, harga saham cenderung berbalik arah. Ini dikenal sebagai mean reversion pada harga saham: harga cenderung memantul kembali, atau kembali, menuju tingkat sebelumnya setelah pergerakan besar, yang biasanya diamati pada rentang waktu sekitar satu minggu. Secara matematis, mean reversion dapat dijelaskan dengan mengatakan bahwa imbal hasil saham memiliki autokorelasi negatif.
Gagasan sederhana ini sebenarnya menjadi dasar strategi hedge fund yang populer. Jika Anda ingin tahu lebih jauh tentang strategi hedge fund ini (meskipun tidak wajib dibaca untuk materi lain dalam kursus), lihat di sini.
Anda akan meninjau autokorelasi imbal hasil mingguan saham MSFT dari 2012 hingga 2017. Anda akan mulai dengan DataFrame MSFT berisi harga harian. Gunakan metode .resample() untuk memperoleh harga mingguan lalu hitung imbal hasil dari harga tersebut. Gunakan metode pandas .autocorr() untuk mendapatkan autokorelasi dan tunjukkan bahwa autokorelasinya negatif. Perhatikan bahwa metode .autocorr() hanya berfungsi pada Series, bukan DataFrame (bahkan DataFrame dengan satu kolom), sehingga Anda harus memilih kolom dalam DataFrame.
Latihan ini adalah bagian dari kursus
Analisis Deret Waktu dengan Python
Petunjuk latihan
- Gunakan metode
.resample()denganrule='W'diikuti fungsi.last()untuk mengonversi data harian menjadi data mingguan. - Buat DataFrame baru,
returns, berisi persentase perubahan pada harga mingguan menggunakan metode.pct_change(). - Hitung autokorelasi menggunakan metode
.autocorr()pada series harga penutupan saham, yaitu kolom'Adj Close'dalam DataFramereturns.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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))