Hitung EWMA
Sekarang kita akan mulai membuat beberapa fitur untuk dapat memprediksi portofolio ideal. Untuk saat ini, kita akan menggunakan pergerakan harga sebagai fitur. Untuk melakukannya, kita akan membuat exponentially-weighted moving average (EWMA) harian, lalu melakukan resampling ke kerangka waktu bulanan. Terakhir, kita akan menggeser rata-rata bergerak bulanan dari harga satu bulan ke depan, sehingga dapat digunakan sebagai fitur untuk memprediksi portofolio di masa mendatang.
Latihan ini merupakan bagian dari kursus
Machine Learning untuk Keuangan dengan Python
Instruksi latihan
- Gunakan
spansebesar 30 untuk menghitung exponentially-weighted moving average harian (ewma_daily). - Resampling ewma harian ke bulanan dengan menggunakan Business Monthly Start (BMS) dan hari pertama bulan (
.first()). - Geser
ewma_monthlysatu bulan ke depan, sehingga kita dapat menggunakan EWMA bulan sebelumnya sebagai fitur untuk memprediksi portofolio ideal bulan berikutnya.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Calculate exponentially-weighted moving average of daily returns
ewma_daily = returns_daily.ewm(span=____).mean()
# Resample daily returns to first business day of the month with the first day for that month
ewma_monthly = ewma_daily.resample(____).____
# Shift ewma for the month by 1 month forward so we can use it as a feature for future predictions
ewma_monthly = ewma_monthly.____.dropna()
print(ewma_monthly.iloc[-1])