FINEMAR

Backtest'te kendinizi kandırmanın yedi yolu

Finemar Araştırma23 Temmuz 20263 dk okuma

Bir strateji kurup geçmiş veride test etmek kolay. Sonucun gerçek olması zor. Aradaki fark, çoğu insanın hiç fark etmeden düştüğü birkaç tuzakta gizli.

Aşağıdakilerin hepsine biz de düştük. Hepsini kendi modelimizde düzeltmek zorunda kaldık.

1. Geleceğe bakmak

En yaygın ve en ölümcül hata. Karar verdiğiniz anda henüz açıklanmamış bir veriyi kullanmak.

Klasik örneği: bilanço verisini çeyrek sonu tarihiyle eşleştirmek. Halbuki o bilanço çeyrek bittikten haftalar sonra yayınlanır. Mart sonundaki bilanço bilgisiyle Nisan başında işlem yapıyormuş gibi test kurarsanız, gerçek hayatta sahip olmadığınız bir bilgiyle para kazanmış olursunuz.

Bizde bunun karşılığı şuydu: seçim haritasını tüm veriyle bir kez hesaplayıp geçmişe uygulamak. Sonuçlar muhteşem görünüyordu. Haritayı sadece o ana kadarki veriyle, her ay yeniden hesaplayınca performans belirgin şekilde düştü. Doğrusu buydu.

Kontrol yöntemi basit: her karar anında kullandığınız verinin tarihini yazın. O tarih karar tarihinden büyükse sorun var.

2. Hayatta kalma yanlılığı

Veri setiniz bugün işlem gören hisselerden oluşuyorsa, batmışları ve borsadan çıkmışları hiç görmüyorsunuz demektir.

Bu, geçmişi otomatik olarak güzelleştirir. Çünkü test ettiğiniz evrende zaten hayatta kalabilmiş şirketler var. Hangi stratejiyi kurarsanız kurun sonuç şişer.

Bizim veri setimizde de bu sorun var ve bunu ekranda açıkça yazıyoruz. Delist olmuş hisseleri toplayıp veriye eklemek yapılacaklar listemizde ama henüz tamamlanmadı. Bu düzelene kadar sonuçların gerçeğin biraz üstünde olduğunu varsaymak gerekiyor.

3. Aşırı uyum

Parametre denemeye başlarsınız. 20 günlük ortalama iyi değil, 22 deneyelim. Eşiği 0,12 yapalım. Ay sonu değil ayın 25’i olsun.

Her denemede sonuç biraz iyileşir. Sonunda muhteşem bir eğri elde edersiniz ve o eğri sadece geçmişin gürültüsüne uydurulmuş bir şablondur.

Bunu fark etmenin yolu, örnek dışı test. Modeli bir dönemde kurup başka bir dönemde denemek. Bizim makine öğrenmesi denememiz tam burada çöktü. Eğitim döneminde harikaydı, 2021 sonrasında Sharpe oranı 1,79’dan 1,23’e düştü.

Basit kalmanın somut faydası burada ortaya çıkıyor. Şu anki modelimizde faktör ağırlıkları fit edilmiş değil, teorinin söylediği yöne sabitlenmiş durumda. Optimize edilmediği için bozulacak bir şey de yok.

4. İşlem maliyetini yok saymak

Kağıt üzerinde muhteşem duran stratejilerin çoğu, komisyon ve makas eklenince ortalamaya iner.

Bizim modelin aylık devir hızı yüzde 85 civarında. Yani portföyün neredeyse tamamı her ay değişiyor. Gerçekçi maliyet varsayımıyla yıllık getiriden yaklaşık 10 puan gidiyor. Bu küçük bir detay değil, stratejinin karakterini değiştiren bir kalem.

Devri azaltmayı da denedik. Histerezis kurduk, yani mevcut pozisyonu tutmak için eşiği düşürdük. Devir azaldı ama momentum bayatladığı için net getiri de düştü. Kazanan çıkmadı.

5. Nominal getiriyle övünmek

Türkiye’de bu çok özel bir tuzak. Yüzde 60 nominal getiri, enflasyonun yüzde 65 olduğu bir yılda kayıptır.

Uzun dönemli backtest sonuçlarını TL nominal gösteriyorsanız, okuyucu farkında olmadan çok iyi bir performans gördüğünü sanır. Bizim sayılarımız da nominal ve bunu her ekranda yazıyoruz. Doğru karşılaştırma endeksle yapılan karşılaştırma, çünkü endeks de aynı enflasyona maruz.

6. Kiraz toplamak

Stratejiyi 2018 sonrasında test edersiniz, sonuç güzeldir. 2012’den başlatırsanız değişir. Başlangıç tarihini sonuca göre seçmek en sinsi hilelerden biri, çünkü hile yaptığınızı kendinize bile itiraf etmezsiniz.

Bunun çaresi birden fazla dönemi birlikte göstermek. Biz üç dönem birden gösteriyoruz: 2012 sonrası, 2018 sonrası ve 2021 sonrası. Üçünde de tutmayan bir bulguyu bulgu saymıyoruz.

7. Negatif sonucu saklamak

En az konuşulanı bu. Yirmi fikir denersiniz, biri tutar, sadece onu anlatırsınız. Bu istatistiksel olarak neredeyse garantili bir yanlış keşif üretme yöntemi.

Bizim denediğimiz ve tutmayan fikirler şunlardı: piyasa rejim filtresi Sharpe’ı düşürdü, makine öğrenmesi örnek dışında çöktü, devir azaltma net getiriyi bozdu, farklı stratejileri birleştirme marjinal kaldı. Hepsini uygulamada yazıyoruz çünkü neyin çalışmadığını bilmek de bilgi.

Sonuç

İyi bir backtest, güzel görünen backtest değildir. Genelde tam tersi. Yukarıdaki yedi maddeyi dürüstçe uyguladığınızda sonuçlar hep beklediğinizden daha mütevazı çıkar. O mütevazı sayı, gerçekte yaşayabileceğinize en yakın olan sayıdır.

Bu yazı bilgilendirme amaçlıdır, yatırım tavsiyesi değildir.

BacktestKantitatif

Bu analizleri kendi hisseleriniz için yapın

586 BIST hissesinin bilanço, çarpan, temettü ve model skorları Finemar terminalinde hazır.

Ücretsiz Dene →

İlgili Yazılar

Bu içerik yatırım tavsiyesi değildir; eğitim ve bilgilendirme amaçlıdır.