FINEMAR

'Backtest ve walk-forward: zamanı doğru kullanmak'

Finemar Araştırma3 Mart 20264 dk okumaGüncelleme: 24 Temmuz 2026

En ölümcül hata

Geleceğe bakmak. Karar verdiğiniz anda henüz mevcut olmayan bir bilgiyi kullanmak.

Kulağa aptalca geliyor ama fark edilmesi şaşırtıcı derecede zor.

Klasik örneği bilanço verisi. Bir şirketin Mart sonu bilançosunu, Nisan başında karar verirken kullanıyorsunuz. Halbuki o bilanço Mayıs’ta yayınlandı. Gerçek hayatta sahip olmadığınız bir bilgiyle para kazanmış oluyorsunuz.

Başka bir örnek: endekse dahil hisselerin listesi. Bugünkü BIST 100 listesini alıp geçmişe uygularsanız, bugün endekste olan yani başarılı olmuş şirketleri seçmiş olursunuz.

Bir diğeri: bir hissenin ne zaman borsadan çıktığını bilerek onu portföyden önceden çıkarmak.

Bizim yaşadığımız hali

Bunu kendimiz de yaptık ve düzeltmek zorunda kaldık.

Seçim haritamızı tüm veriyle bir kez hesaplayıp geçmişe uyguluyorduk. Sonuçlar muhteşem görünüyordu.

Sonra haritayı, sadece o ana kadarki veriyle ve her ay yeniden hesaplayacak şekilde değiştirdik. Performans belirgin biçimde düştü. Doğrusu buydu.

Aradaki fark, tam olarak geleceğe bakmanın verdiği sahte kazançtı.

Walk-forward nedir

Çözüm, testi zamanın gerçekten aktığı şekilde kurmak.

Şöyle işliyor: her karar anında duruyorsunuz. Sadece o tarihe kadarki veriyle modelinizi kuruyorsunuz. Bir sonraki dönemin getirisini kaydediyorsunuz. Sonra bir adım ilerliyor ve tekrarlıyorsunuz.

Böylece hiçbir noktada, o anda sahip olmadığınız bilgiyi kullanmıyorsunuz.

Walk-forward: model her adımda yeniden kuruluyor Mavi = eğitim (sadece geçmiş) · Yeşil = test (bir sonraki dönem) 1. adım 2. adım 3. adım 4. adım 5. adım zaman → Yeşil bloklar birleştirilip performans hesaplanıyor. Hiçbirinde geleceğe bakılmıyor. Bizim edge haritamız da bu şekilde kuruluyor: minimum eğitim penceresi 24 ay.

Bizim kurulumumuz

Kendi modelimizde bu şöyle uygulanıyor.

Her ayın sonunda, sadece o tarihe kadarki veriyle bir edge haritası hesaplanıyor. Fiyatın yıllık aralıktaki konumu ile trend durumunun kesişiminde, geçmişte ne olduğuna bakılıyor.

Minimum eğitim penceresi 24 ay. Yani ilk iki yıl sadece öğrenme, karar verilmiyor.

Bir hücrede yeterli gözlem yoksa (asgari sayının altındaysa) daha genel bir seviyeye düşülüyor. Önce satır ortalamasına, o da yetmezse genel ortalamaya.

Ve sinyal ile getiri arasındaki zaman ilişkisi net: sinyal T anına kadarki veriyle, getiri T’den T+1’e.

Performans sorunu ve çözümü

Walk-forward’ın pratik bir maliyeti var: her adımda yeniden hesaplamak yavaş.

Bizde bu, uygulamayı her tıklamada otuz kırk saniye donduruyordu. Kullanıcı açısından “çalışmıyor” gibi görünüyordu.

Çözüm, walk-forward hesabını her satır için bir kez yapıp sonucu önbelleğe yazmak oldu. Bir kez yaklaşık kırk saniye sürüyor, sonrasında backtest yarım saniyede çalışıyor.

Bunu anlatmamızın sebebi şu: doğru yöntem genelde yavaş yöntem. Hızlı olan, çoğu zaman geleceğe bakan olan. Yavaşlığı çözmenin yolu, yöntemden ödün vermek değil, hesabı bir kez yapıp saklamak.

Diğer backtest tuzakları

Geleceğe bakmak en büyüğü ama tek değil.

Hayatta kalma yanlılığı. Veri setinizde sadece bugüne ulaşabilenler varsa, sonuçlar otomatik olarak şişiyor. Bizim verimizde de bu sorun var ve açıkça yazıyoruz.

İşlem maliyetini yok saymak. Devir hızınız yüksekse sonuçlar maliyet olmadan anlamsız. Bizde aylık devir yüzde 85 ve gerçekçi maliyetle yıllık getiriden yaklaşık 10 puan gidiyor.

Kiraz toplamak. Başlangıç tarihini sonuca göre seçmek. Çaresi, birden fazla dönemi birlikte göstermek.

Nominal getiriyle övünmek. Türkiye’de yüzde 60 getiri, enflasyon yüzde 65 ise kayıptır.

Likidite varsayımı. Backtest, istediğiniz miktarı istediğiniz fiyattan alabildiğinizi varsayıyor. İllikit hisselerde bu doğru değil.

Negatif sonucu saklamak. Yirmi fikir deneyip birini anlatmak, istatistiksel olarak neredeyse garantili bir yanlış keşif üretme yöntemi.

İyi bir backtest nasıl görünür

Bir noktayı vurgulamak istiyoruz: iyi bir backtest, güzel görünen backtest değildir. Genelde tam tersi.

Yukarıdaki maddeleri dürüstçe uyguladığınızda sonuçlar hep beklediğinizden mütevazı çıkıyor. O mütevazı sayı, gerçekte yaşayabileceğinize en yakın olan.

Kusursuz görünen bir eğri gördüğünüzde ilk tepkiniz heyecan değil şüphe olsun. Muhtemelen yukarıdaki tuzaklardan birine düşülmüş.

Kontrol listesi

Kendi testinizi kurarken ya da başkasınınkini değerlendirirken şunları sorun.

Her karar anında kullanılan verinin tarihi, karar tarihinden küçük mü?

Veri setinde borsadan çıkmış şirketler var mı?

Devir hızı kaç ve maliyet dahil edilmiş mi?

Kaç farklı dönem gösteriliyor?

Kaç parametre denenmiş?

Getiriler nominal mi reel mi?

Altı soru, birkaç dakika. Ve çoğu güzel görünen backtest’i yerine oturtuyor.

Sıradaki

Bir sonraki yazıda bileşik getiri matematiğine geçiyoruz. Yüzdeler neden toplanmaz, log getiri ne işe yarar ve eksi yüzde 50’den sonra artı yüzde 50 neden başa döndürmez.

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.