Tangkap Drift
Pada latihan sebelumnya, Anda mensimulasikan harga saham yang mengikuti random walk. Di latihan ini, Anda akan memperluasnya dengan dua cara.
- Anda akan melihat random walk dengan drift. Banyak deret waktu, seperti harga saham, merupakan random walk tetapi cenderung bergerak naik seiring waktu.
- Pada latihan sebelumnya, noise dalam random walk bersifat aditif: perubahan harga acak berdistribusi normal ditambahkan ke harga terakhir. Namun, dengan menambahkan noise, secara teoretis Anda bisa mendapatkan harga negatif. Kini Anda akan membuat noise bersifat multiplikatif: Anda akan menambahkan satu ke perubahan acak berdistribusi normal untuk mendapatkan total return, lalu mengalikannya dengan harga terakhir.
Latihan ini adalah bagian dari kursus
Analisis Deret Waktu dengan Python
Petunjuk latihan
- Hasilkan 500 "langkah" multiplikatif berdistribusi normal dengan mean 0,1% dan standar deviasi 1% menggunakan
np.random.normal(), yang kini merupakan return, lalu tambahkan satu untuk total return. - Simulasikan harga saham
P:- Akumulasikan hasil kali langkah menggunakan metode numpy
.cumprod(). - Kalikan hasil kali kumulatif total return dengan 100 agar nilai awalnya 100.
- Akumulasikan hasil kali langkah menggunakan metode numpy
- Plot random walk bersifat drift yang disimulasikan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Generate 500 random steps
steps = np.random.normal(loc=___, scale=___, size=___) + ___
# Set first element to 1
steps[0]=1
# Simulate the stock price, P, by taking the cumulative product
P = ___ * np.cumprod(___)
# Plot the simulated stock prices
plt.plot(___)
plt.title("Simulated Random Walk with Drift")
plt.show()