Apakah Kita Yakin Saham Ini Bersifat Mean Reverting?
Pada bab sebelumnya, Anda melihat bahwa autokorelasi return saham mingguan MSFT adalah -0,16. Autokorelasi tersebut tampak besar, tetapi apakah itu signifikan secara statistik? Dengan kata lain, dapatkah Anda mengatakan bahwa peluangnya kurang dari 5% untuk mengamati autokorelasi negatif sebesar itu jika autokorelasi sebenarnya benar-benar nol? Dan adakah autokorelasi pada lag lain yang signifikan berbeda dari nol?
Sekalipun autokorelasi sebenarnya nol pada semua lag, dalam sampel return yang berhingga Anda tidak akan melihat taksiran autokorelasi tepat nol. Faktanya, simpangan baku autokorelasi sampel adalah \(\small 1/\sqrt{N}\), dengan \(\small N\) adalah jumlah observasi; jadi jika \(\small N=100\), misalnya, simpangan baku ACF adalah 0,1, dan karena 95% kurva normal berada antara +1,96 dan -1,96 simpangan baku dari mean, maka interval kepercayaan 95% adalah \(\small \pm 1.96/\sqrt{N}\). Pendekatan ini hanya berlaku ketika autokorelasi sebenarnya semuanya nol.
Anda akan menghitung interval kepercayaan aktual dan perkiraannya untuk ACF, lalu membandingkannya dengan autokorelasi lag satu sebesar -0,16 dari bab sebelumnya. Return mingguan Microsoft sudah dimuat sebelumnya dalam DataFrame bernama returns.
Latihan ini adalah bagian dari kursus
Analisis Deret Waktu dengan Python
Petunjuk latihan
- Hitung ulang autokorelasi return mingguan pada Series
'Adj Close'di DataFramereturns. - Cari jumlah observasi dalam DataFrame
returnsmenggunakan fungsilen(). - Perkirakan interval kepercayaan 95% dari autokorelasi yang ditaksir. Fungsi matematika
sqrt()telah diimpor dan dapat digunakan. - Plot fungsi autokorelasi dari
returnsmenggunakanplot_acfyang telah diimpor dari statsmodels. Tetapkanalpha=0.05untuk interval kepercayaan (itu adalah nilai bawaan) danlags=20.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Import the plot_acf module from statsmodels and sqrt from math
from statsmodels.graphics.tsaplots import plot_acf
from math import sqrt
# Compute and print the autocorrelation of MSFT weekly returns
autocorrelation = returns['Adj Close'].___
print("The autocorrelation of weekly MSFT returns is %4.2f" %(autocorrelation))
# Find the number of observations by taking the length of the returns DataFrame
nobs = ___
# Compute the approximate confidence interval
conf = 1.96/___
print("The approximate confidence interval is +/- %4.2f" %(conf))
# Plot the autocorrelation function with 95% confidence intervals and 20 lags using plot_acf
plot_acf(___, alpha=0.05, ___)
plt.show()