Pecah struktural

Manajemen Risiko Kuantitatif dengan Python

Jamsheed Shorish

Computational Economist

Risiko dan distribusi

  • Perangkat manajemen risiko
    • Mitigasi risiko: MPT
    • Pengukuran risiko: VaR, CVaR
  • Risiko: sebaran, volatilitas
    • Varians (simpangan baku) sebagai definisi risiko
  • Kaitan antara risiko dan distribusi faktor risiko sebagai peubah acak
Manajemen Risiko Kuantitatif dengan Python

Stasioneritas

  • Asumsi: distribusi sama dari waktu ke waktu
  • Distribusi tidak berubah = stasioner
  • Frontier efisien saat krisis keuangan global
    • Tidak stasioner
  • Teknik estimasi mensyaratkan stasioneritas
    • Historis: distribusi stasioner tak diketahui dari data lampau
    • Parametrik: kelas distribusi stasioner yang diasumsikan
    • Monte Carlo: distribusi stasioner yang diasumsikan untuk pengacakan
Manajemen Risiko Kuantitatif dengan Python

Pecah struktural

  • Tidak stasioner => distribusi mungkin berubah seiring waktu
  • Asumsikan waktu tertentu saat terjadi perubahan
    • Bagi data menjadi sub-periode
    • Dalam tiap sub-periode, asumsikan stasioneritas
  • Pecah struktural: titik perubahan
    • Perubahan 'tren' rata-rata dan/atau volatilitas data
Manajemen Risiko Kuantitatif dengan Python

Contoh: pertumbuhan populasi Tiongkok

  • Periode 1950–2019
  • Tren kira-kira linear...

Grafik populasi Tiongkok dari waktu ke waktu, 1950–2019

Manajemen Risiko Kuantitatif dengan Python

Contoh: pertumbuhan populasi Tiongkok

  • Periode 1950–2019
  • Tren kira-kira linear...
  • ...namun melambat sekitar 1990
  • Pecah struktural kemungkinan dekat 1990.
  • Mengimplikasikan distribusi populasi bersih (lahir - mati) berubah
  • Kemungkinan penyebab: kebijakan pemerintah, taraf hidup, dll.

Grafik populasi Tiongkok dari waktu ke waktu dengan panah tren, 1950–2019

Manajemen Risiko Kuantitatif dengan Python

Uji Chow

  • Contoh sebelumnya: bukti visual adanya pecah struktural
  • Kuantifikasi: ukuran statistik
  • Uji Chow:
    • Menguji keberadaan pecah struktural dengan model linear
    • Hipotesis nol: tidak ada pecah
    • Membutuhkan tiga regresi OLS
      • Regresi untuk periode penuh
      • Dua regresi, sebelum dan sesudah pecah
    • Kumpulkan jumlah kuadrat residual (SSR)
    • Statistik uji berdistribusi F
Manajemen Risiko Kuantitatif dengan Python

Uji Chow di Python

  • Hipotesis: pecah struktural pada 1990 untuk populasi Tiongkok
  • Asumsikan model faktor linear: $$\log(\text{Population}_t) = \alpha + \beta * \text{Year}_t + u_t$$
  • Regresi OLS menggunakan OLS dari statsmodels untuk periode penuh 1950–2019
    • Ambil SSR res.ssr
import statsmodels.api as sm
res = sm.OLS(log_pop, year).fit()

print('SSR 1950-2019: ', res.ssr)
SSR 1950-2019: 0.29240576138055463
Manajemen Risiko Kuantitatif dengan Python

Uji Chow di Python

  • Bagi 1950–2019 menjadi sub-periode 1950–1989 dan 1990–2019
  • Jalankan regresi OLS pada tiap sub-periode
    • Ambil res_before.ssr dan res_after.ssr
pop_before = log_pop.loc['1950':'1989']; year_before = year.loc['1950':'1989'];
pop_after  = log_pop.loc['1990':'2019']; year_after =  year.loc['1990':'2019'];

res_before = sm.OLS(pop_before, year_before).fit() res_after = sm.OLS(pop_after, year_after).fit()
print('SSR 1950-1989: ', res_before.ssr) print('SSR 1990-2019: ', res_after.ssr)
SSR 1950-1989: 0.011741113017411783
SSR 1990-2019: 0.0013717593339608077
Manajemen Risiko Kuantitatif dengan Python

Uji Chow di Python

  • Hitung statistik uji Chow berdistribusi F
    • Hitung pembilang
      • k = 2 derajat bebas = 2 koefisien OLS $\alpha$, $\beta$
    • Hitung penyebut
      • 66 derajat bebas = total data (70) - 2*k
numerator = (ssr_total - (ssr_before + ssr_after)) / 2

denominator = (ssr_before + ssr_after) / 66
chow_test = numerator / denominator print("Chow test statistic: ", chow_test, "; Critical value, 99.9%: ", 7.7)
Chow test statistic: 702.8715822890057; Critical value, 99.9%: 7.7
Manajemen Risiko Kuantitatif dengan Python

Ayo berlatih!

Manajemen Risiko Kuantitatif dengan Python

Preparing Video For Download...