Tarihsel çekilme (drawdown)
Hisse senedi piyasası zaman içinde genelde yükselir, ancak bu çekilme (drawdown) dönemleri yaşamayacağın anlamına gelmez.
Çekilme, en yüksek kümülatif tarihsel noktadan olan yüzde kayıp olarak ölçülebilir.
Python'da, koşan maksimumu hesaplamak için .accumulate() ve .maximum() işlevlerini ve çekilmeyi hesaplamak için aşağıdaki basit formülü kullanabilirsin:
$$ \text{Drawdown} = \frac{r_t}{RM} - 1$$
- \(r_t\): t anındaki kümülatif getiri
- \(RM\): Koşan maksimum
Petrol fiyatlarını izleyen bir ETF olan USO'nun kümülatif getirileri cum_rets değişkeninde mevcut.
Bu egzersiz, kursun bir parçasıdır
Python ile Portföy Risk Yönetimine Giriş
Egzersiz talimatları
- USO petrol ETF'sinin (
cum_rets) kümülatif getirilerinin koşan maksimumununp.maximum.accumulate()kullanarak hesapla. - Koşan maksimum (
running_max) 1'in altına düştüğü yerlerde, koşan maksimumu 1'e eşitle. cum_retsverunning_maxile yukarıdaki basit formülü kullanarakdrawdownhesapla.- Grafiği incele.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Calculate the running maximum
running_max = ____(cum_rets)
# Ensure the value never drops below 1
running_max[____] = 1
# Calculate the percentage drawdown
drawdown = (____)/____ - 1
# Plot the results
drawdown.plot()
plt.show()