Oynaklık ve aşırı değerler

Python ile Nicel Risk Yönetimi

Jamsheed Shorish

Computational Economist

Chow testi varsayımları

  • Chow testi: olası yapısal kırılmanın istatistiksel önemini belirler
  • Gerektirir: önceden belirlenmiş kırılma noktası
  • Gerektirir: doğrusal ilişki (örn. faktör modeli) $$ \log(\text{Population}_t) = \alpha + \beta * \text{Year}_t + u_t $$

Yapısal kırılma noktası gösterilen Çin nüfus artışı görseli

Python ile Nicel Risk Yönetimi

Yapısal kırılma göstergeleri

  • Trend görselleştirmesi kırılma noktasını göstermeyebilir
  • Alternatif: trend yerine oynaklığı inceleyin
    • Yapısal değişim çoğu zaman daha büyük belirsizlikle birlikte gelir => oynaklık
    • Daha zengin modelleri düşünmeyi sağlar (örn. stokastik oynaklık modelleri)

Olası yapısal kırılma noktalarıyla aylık oynaklık görseli

Python ile Nicel Risk Yönetimi

Yuvarlanan pencere oynaklığı

  • Yuvarlanan pencere: zaman içinde oynaklığı hesaplayın ve değişimleri saptayın
  • Anımsatma: 30 günlük yuvarlanan pencere

    • ".rolling()" yöntemiyle pencere oluşturun
    • Pencerenin oynaklığını hesaplayın (olanaksız tarihler atılsın)
    • İlgi özet istatistiğini hesaplayın, örn. .mean(), .min(), vb.

     

rolling = portfolio_returns.rolling(30)

volatility = rolling.std().dropna()
vol_mean = volatility.resample("M").mean()
Python ile Nicel Risk Yönetimi

Yuvarlanan pencere oynaklığı

  • Ortaya çıkan oynaklığı görselleştirin (varyans veya standart sapma)
import matplotlib.pyplot as plt
vol_mean.plot(
  title="Monthly average volatility"
).set_ylabel("Standard deviation")
plt.show()

Aylık ortalama oynaklık görseli

Python ile Nicel Risk Yönetimi

Yuvarlanan pencere oynaklığı

  • Ortaya çıkan oynaklığı görselleştirin (varyans veya standart sapma)
  • Oynaklıktaki büyük değişimler => olası yapısal kırılma noktaları
  • Önerilen kırılma noktalarını oynaklığın doğrusal modelinde kullanın
    • Chow Testi varyantı
  • ARCH, stokastik oynaklık modelleri için yol gösterici
vol_mean.pct_change().plot(
  title="$\Delta$ average volatility"
).set_ylabel("% $\Delta$ stdev")
plt.show()

Aylık oynaklıktaki yüzde değişim görseli

Python ile Nicel Risk Yönetimi

Aşırı değerler

  • VaR, CVaR: belirli güven düzeyinde azami kayıp, beklenen kuyruk kaybı
  • Azami kayıptaki değişimleri VaR ile çizerek görselleştirin?
    • Büyük veri kümeleri için yararlı
    • Küçük veri kümeleri: bilgi yetersiz
  • Alternatif: belirli bir eşiği aşan kayıpları bulun
  • Örnek: $\text{VaR}_{95}$, zamanın %95’inde azami kayıptır
    • Yani zamanın %5’inde kayıplar $\text{VaR}_{95}$ değerini aşabilir
  • Geriye dönük test (backtesting): riski ex-post önceki verilerle değerlendirin
    • Kurumsal risk yönetiminde yaygın
Python ile Nicel Risk Yönetimi

Geriye dönük test

  • Diyelim ki $\text{VaR}_{95} = 0.03$
  • %3’ü aşan kayıplar aşırı değerlerdir
  • Backtesting: geçmiş kayıpların yaklaşık %5’i (100% - 95%) %3’ü aşmalıdır
    • %5’ten fazla: daha geniş ("kalın") kuyruklar
    • %5’ten az: daha dar kuyruklar
  • CVaR ile backtesting: kuyruğu VaR’dan daha iyi yansıtır

Kayıplar ve %95 VaR eşiği görseli

Python ile Nicel Risk Yönetimi

Hadi pratik yapalım!

Python ile Nicel Risk Yönetimi

Preparing Video For Download...