Volatilitas dan break struktural
Memvisualisasikan perubahan volatilitas membantu mengungkap kemungkinan titik break struktural pada deret waktu. Dengan mengidentifikasi kapan volatilitas tampak berubah, Anda dapat memilih titik break secara lebih tepat yang selanjutnya dapat digunakan untuk analisis statistik lanjutan (seperti uji Chow).
Anda akan menelaah dua visualisasi volatilitas untuk portofolio bank investasi dari 2008–2009, untuk dua bobot portofolio yang tersedia: weights_with_citi dan weights_without_citi. Keduanya masing-masing merepresentasikan portofolio berbobot sama dengan dan tanpa Citibank, yang (seperti yang Anda lihat di Bab 1) menunjukkan volatilitas tertinggi dari empat aset sepanjang periode tersebut.
Harga portofolio untuk 2008–2009 dengan Citibank tersedia sebagai prices_with_citi, dan tanpa Citibank sebagai prices_without_citi.
Latihan ini adalah bagian dari kursus
Manajemen Risiko Kuantitatif dengan Python
Petunjuk latihan
- Temukan deret return untuk dua portofolio menggunakan
weights_with_citidanweights_without_citi. - Hitung deviasi standar rolling window 30 hari untuk kedua portofolio.
- Gabungkan kedua objek
SeriesPandas menjadi satu objek DataFrame bernama "vol". - Plot isi objek
voluntuk membandingkan volatilitas kedua portofolio dari waktu ke waktu.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Find the time series of returns with and without Citibank
ret_with_citi = prices_with_citi.____.dot(weights_with_citi)
ret_without_citi = prices_without_citi.pct_change().____(____)
# Find the average 30-day rolling window volatility as the standard deviation
vol_with_citi = ret_with_citi.____.std().dropna().rename("With Citi")
vol_without_citi = ret_without_citi.rolling(30).____.dropna().rename("Without Citi")
# Combine two volatilities into one Pandas DataFrame
vol = pd.concat([____, ____], axis=1)
# Plot volatilities over time
vol.____().set_ylabel("Losses")
plt.show()