Veri kalitesi: hayatta kalma yanlılığı, düzeltmeler ve boşluklar
Backtest'leri sessizce çarpıtan veri sorunlarını tanıyın; bölünmeler, temettüler, borsa kotundan çıkmalar, vadeli işlem kontrat geçişleri ve boşluklar için düzeltme yapın.
Neler öğreneceksiniz
- Hayatta kalma yanlılığının ne olduğu ve bir backtest'i ne kadar şişirebileceği.
- Bölünmelerin ve temettülerin nasıl düzeltildiği; fiyat verisinin veya toplam getiri verisinin ne zaman kullanılacağı.
- Sürekli vadeli işlem serilerinin nasıl oluşturulduğu ve neden tuhaf fiyatlar gösterebildikleri.
- Boşlukları, hatalı fiyatları ve diğer veri hatalarını nasıl bulacağınız ve ele alacağınız.
Açıklama
Bir backtest ancak verisi kadar iyidir. Çoğu veri hatası sonuçları daha kötü değil, daha iyi gösterir; bu yüzden tehlikelidir.
Hayatta kalma yanlılığı
Hayatta kalma yanlılığı (survivorship bias), yalnızca bugün hâlâ var olan enstrümanlar üzerinde test yapmak demektir. İflas eden, devralınan veya bir endeksten çıkarılan şirketler pek çok ücretsiz veri setinden kaybolur. Bugünün endeks üyeleri üzerinde test edilen bir hisse seçme sistemine, aslında hangi şirketlerin hayatta kalacağı önceden söylenmiş olur. Çözüm zamana bağlı (point-in-time) veridir: kottan çıkarılmış (borsadan çıkarılan) menkul kıymetler ve son fiyatları dahil, her geçmiş tarihte bilindiği hâliyle evren.
Şirket işlemleri ve düzeltmeler
- Hisse bölünmesi: bir hisse birkaç hisseye dönüşür ve fiyat aynı oranda düşer. Düzeltilmemiş veriler sahte bir çöküş gösterir. Düzeltilmiş veriler önceki tüm fiyatları bölünme oranına böler.
- Temettü: hak kullanım tarihinde (ex-date) (alıcının artık temettü almadığı ilk gün) fiyat genellikle kabaca temettü kadar düşer. Bir fiyat serisi bunu zarar olarak gösterir; bir toplam getiri serisi temettüyü geri ekler. Önceki fiyatlar için düzeltme faktörü:
1 − temettü ÷ önceki kapanış.
Getirileri ölçmek için toplam getiri (düzeltilmiş) verilerini kullanın, ancak düzeltilmiş geçmiş fiyatların gerçekte işlem gören fiyatlar olmadığını unutmayın. "€100'ün üzerinde al" gibi bir kural, o günün gerçek (düzeltilmemiş) fiyatını kullanmalıdır.
Vadeli işlemler: sürekli seriler
Vadeli işlem kontratlarının vadesi dolar; bu nedenle uzun bir geçmiş, birkaç kontratın birleştirilmesini gerektirir (kontrat geçişi (rolling) "Türev Ürünler: Vadeli İşlemler, Opsiyonlar, CFD'ler ve Sertifikalar" kursunda ele alındı). Her geçişte (roll) eski ve yeni kontratların fiyatları farklıdır. Geriye dönük düzeltilmiş (back-adjusted) bir seri, birleştirilmiş seride yapay bir sıçrama olmaması için önceki tüm fiyatları geçiş farkı kadar kaydırır. Fark yöntemi farkı euro veya dolar olarak ekler ya da çıkarır ve negatif geçmiş fiyatlar üretebilir; oran yöntemi bir faktörle çarpar ve yüzdesel hareketleri doğru tutar. Getirileri yüzde olarak oranla düzeltilmiş serilerden veya her bir gerçek kontrattan hesaplayın.
Boşluklar ve hatalar
- Eksik barlar: tatiller, işlem durdurmaları veya bir veri boşluğu. Bunları sessizce önceki fiyatla doldurmayın; işaretleyin ve bir kurala bağlayın (2. ders).
- Hatalı fiyatlar: tek bir yanlış değer, örneğin 10 kat fazla yüksek bir fiyat. Bir eşiğin (örneğin geniş bir endeks için %25) üzerindeki tek günlük hareketleri kontrol edin ve ikinci bir kaynakla doğrulayın.
- Zamanlama uyumsuzlukları: piyasalar farklı saatlerde kapanır. Bir Avrupa ETF'inin kapanışı ile bir ABD endeksinin kapanışı eşzamanlı değildir.
- Revize edilen veriler: ekonomik veriler ve şirket hesapları sonradan düzeltilir. Revize edilmiş değeri değil, o tarihte yayımlanmış değeri kullanın.
Çözümlü örnek
Varsayımsal örnek 1, bölünme: bir hisse €400'dan kapanıyor. Gece 4'e 1 oranında bölünüyor ve ertesi gün €101'den kapanıyor.
- Düzeltilmemiş getiri: €101 ÷ €400 − 1 = −74.75% (sahte çöküş).
- Düzeltilmiş önceki kapanış: €400 ÷ 4 = €100. Getiri: €101 ÷ €100 − 1 = +1.00%.
Varsayımsal örnek 2, temettü: hak kullanım tarihinden önceki kapanış €50.00, temettü €1.00, hak kullanım günü kapanışı €49.50.
- Fiyat getirisi: €49.50 ÷ €50.00 − 1 = −1.00%.
- Toplam getiri: (€49.50 + €1.00) ÷ €50.00 − 1 = +1.00%.
- Düzeltme faktörü: 1 − €1.00 ÷ €50.00 = 0.98. Düzeltilmiş önceki kapanış: €50.00 × 0.98 = €49.00. Düzeltilmiş verilerden getiri: €49.50 ÷ €49.00 − 1 ≈ +1.02%. Küçük fark, temettünün hak kullanım günü fiyatından yeniden yatırıldığını varsayan yöntemden kaynaklanır.
Varsayımsal örnek 3, hayatta kalma: beş yıl boyunca 10 hisseden oluşan bir evren. Sekizi hâlâ var ve her biri +40% yükselmiş. Biri iflas etmiş (−100%), biri −80% düştükten sonra kottan çıkarılmış.
- Yalnızca hayatta kalanlar: ortalama +40%.
- Tüm evren: (8 × 40% − 100% − 80%) ÷ 10 = (320% − 180%) ÷ 10 = +14%.
- Yalnızca hayatta kalanlarla yapılan test ortalamayı 26 yüzde puan abartıyor. Ücretler ve vergiler hariçtir.
Sık yapılan hata
Uygulama etkinliği
Varsayımsal veriler: bir hisse €90'dan kapanıyor. 3'e 1 oranında bölünüyor ve ertesi gün €31'den kapanıyor. İki hafta sonra hak kullanım tarihinden önce €32.00'dan kapanıyor; temettü €0.64 ve hak kullanım günü kapanışı €31.80. (a) Bölünme günündeki düzeltilmiş getiriyi, (b) hak kullanım günündeki fiyat getirisini ve toplam getiriyi ve (c) temettü düzeltme faktörünü hesaplayın.
Çözümü göster
(a) Düzeltilmiş önceki kapanış: €90 ÷ 3 = €30. Getiri: €31 ÷ €30 − 1 ≈ +3.33%.
(b) Fiyat getirisi: €31.80 ÷ €32.00 − 1 = −0.625%. Toplam getiri: (€31.80 + €0.64) ÷ €32.00 − 1 = +1.375%.
(c) Faktör: 1 − €0.64 ÷ €32.00 = 1 − 0.02 = 0.98.
Sınırlamalar: temettülere uygulanan Alman stopaj vergisi ve sermaye kazancı vergileri dikkate alınmamıştır; vergi uygulaması için güncel kuralları bir Steuerberater (vergi danışmanı) ile kontrol edin.
Önemli çıkarımlar
- Hayatta kalma yanlılığı sonuçları şişirir; kottan çıkarılmış menkul kıymetleri de içeren zamana bağlı evrenler kullanın.
- Getirileri bölünme ve temettüye göre düzeltilmiş verilerle ölçün, ancak fiyat seviyesi kurallarını gerçek fiyatlara uygulayın.
- Oranla geriye dönük düzeltme, vadeli işlem serilerinin yüzdesel hareketlerini doğru tutar; farkla düzeltme negatif fiyatlar oluşturabilir.
- Herhangi bir testi çalıştırmadan önce eksik barları, aşırı tek günlük hareketleri ve revize edilmiş verileri kontrol edin.
Sonraki adım
Bir sonraki derste, temiz ve düzeltilmiş veriler kullanarak bir elektronik tabloda sütun sütun eksiksiz bir backtest oluşturacaksınız.
Öz değerlendirme
Soruları yanıtlayın, ardından yanıtlarınızı kontrol edin. İstediğiniz kadar tekrar deneyebilirsiniz.
Kendi tekrarınız için otomatik öz değerlendirme. Cevaplarınız tarayıcınızda kontrol edilir; bunları görmez ve değerlendirmeyiz. Bu bir sınav veya yeterlilik değildir.
İlerlemeniz
“Tamamlandı” yalnızca dersi bitirdiğinizi işaretlediğiniz anlamına gelir. Anlayışınızın bir sınavı değildir. İlerleme ve notlar yalnızca bu cihazdaki bu tarayıcıda saklanır — bir hesapta değil.