Backtest Tuzakları — Geçmiş Performansa Neden Güvenmemeli?
Bir strateji backtest'te harika görünebilir; canlıya alınca berbat çalışabilir. İşte neden, nasıl yanlış yaparız ve nasıl korunuruz.
Neden bu sayfa kritik?
Bir backtest, bir kuralın geçmişte nasıl davrandığını gösterir. Sonuç doğru hesaplanmış olsa bile, kuralın yarın da aynı şekilde çalışacağı anlamına gelmez. Aksini vaat eden her şeye şüpheyle bakın.
Bu sayfada backtest'in tipik tuzaklarını ve Kalibre Lab'in her birinde neyi yaptığını, neyi yapamadığını anlatıyoruz.
Tuzak 1: Lookahead Bias (İleri Bakış)
Hata: Strateji bir günün kararını verirken, o günün kapanış fiyatını (veya sonraki günleri) görmüş gibi davranmak.
Örnek:
"Bugün TÜFE açıklandı, %3 sürpriz. Bunu kullanarak bugünkü hisseyi alıyorum."
Ama TÜFE 10:00'da açıklanır, günlük kapanış verisi ise 18:00 fiyatıdır. Yani bilgi gerçekten 10:00'da elde edilmedi, akşam veriyle hesaplama yaptık.
Kalibre Lab'de: Kurallar yeni mumun açılışında, yalnız kapanmış mumlarla değerlendirilir. Sinyal bir mumda oluşur, işlem bir sonraki mumun açılışında yapılır; gelecekteki bir mum hiçbir zaman kullanılmaz.
Tuzak 2: Survivorship Bias (Hayatta Kalan Yanlılığı)
Hata: Bugünkü endekse bakıp "BIST 30 hisseleriyle test ettim" demek. Ama bugünkü BIST 30, geçmişteki BIST 30 değil — iflas edenler, çıkarılanlar yok.
Etkisi: Getiriyi olduğundan yüksek gösterir, çünkü iflas eden ya da endeksten çıkan hisseler veri setinizde yoktur.
Kalibre Lab'de: Laboratuvar, senin MT5 hesabında bugün işlem gören sembollerle çalışır; yani bu yanlılık sembol seçerken de geçerlidir. Bugün başarılı olduğunu bildiğin bir sembolü seçip test etmek, sonucu baştan iyimser yapar. Profesyonel testlerde CRSP ya da Bloomberg gibi, her tarihte o günkü endeks bileşimini veren (point-in-time) veri kullanılır.
Tuzak 3: Overfitting (Aşırı Uyarlama)
Hata: Bir stratejinin 50 parametresini geçmişe en iyi uydurmak. Mesela:
"50g MA değil 47g MA daha iyi backtest verir, kullanalım."
"5 hisse değil 6 hisse daha iyi."
"6 ay momentum değil 7 ay daha iyi."
Her tweak ile geçmiş daha iyi görünür ama gelecek tahmin gücü azalır. Çünkü gürültüye uyum sağlıyorsunuz, sinyale değil.
Sağlık testi: Akademide kanıtlanmış, basit, yuvarlak parametreler kullan. 50g, 200g, RSI(14) — bunlar literatürde standart. Onları değiştirme.
Literatürde yerleşik değerler: - Momentum: 6 ay = 126 işgünü (Jegadeesh-Titman) - RSI: 14 gün (Wilder, 1978) - 52 haftalık en yüksek: 252 işgünü - Golden Cross: 50/200 gün
Kalibre Lab'de: Laboratuvarın hazır şablonları çoğunlukla 14, 20, 50, 200 gibi yerleşik değerlerle gelir. Bir ayarı beğendiğinde, aynı kuralı test etmediğin bir dönemde ya da başka bir SENTETİK seride tekrar sına; yalnız tek bir seride iyi görünen ayar büyük olasılıkla gürültüye uymuştur.
Tuzak 4: Data-Snooping / Multiple Testing
Hata: 100 strateji test ediyorsun, biri %25 yıllık getiri veriyor. "Buldum!" diyorsun. Aslında 100 stratejinin birinin şans eseri iyi görünmesi bekleniyor.
Sağlık testi: Çok büyük örneklem (>15 yıl) + farklı pazarlarda aynı sonuç veriyor mu?
Kendine sor: Bu kuralı bulana kadar kaç kural denedin? Ne kadar çok denediysen, en iyisinin şans eseri iyi görünme olasılığı o kadar yüksektir. Denediğin her şeyin kaydını tut.
Tuzak 5: Transaction Cost & Slippage'i İhmal
Hata: Backtest'te işlem maliyetini sıfır saymak. Gerçekte her işlemde ödenenler (örnek aralıklar; aracı kuruma ve piyasaya göre değişir): - Komisyon: %0.05-0.10 - BSMV (banka sigorta muamele vergisi): komisyonun %5'i - Kayma (alış-satış farkı ve piyasa etkisi): %0.05-0.30 - Gidiş-dönüş toplam: %0.15 - %0.50
Bu örnek aralıklarla, yılda 100 gidiş-dönüş işlem yapan bir strateji yalnız maliyet yüzünden yılda %15-50 kaybedebilir.
Kalibre Lab'de: Tarayıcıdaki hızlı prova maliyetsizdir; fikri elemek içindir. Son sınav aynı kural dosyasıyla MT5 Strategy Tester'da, aracı kurumunun spread ve komisyon ayarlarıyla yapılır. Hızlı provada iyi görünen ama Strategy Tester'da maliyetle bozulan bir kural, gerçek hesapta da bozulur.
Tuzak 6: Likidite Hatası
Hata: Backtest "1 milyon dolarlık alım yapmak istedim, aynı fiyattan hemen aldım" varsayar. Gerçekte sığ bir hissede büyük bir emir fiyatı kendi aleyhine yürütür.
Sağlık testi: Stratejinin günlük işlem hacmini hisselerin %1-5'i ile sınırla.
Kalibre Lab'de: Ne hızlı prova ne de MT5 Strategy Tester piyasa etkisini modeller. Pozisyon büyüklüğünü, işlem yaptığın sembolün derinliğine göre küçük tut; sonuçları bu yüzden iyimser bir üst sınır olarak oku.
Tuzak 7: Yapısal Değişim
Tarihsel veri 2014-2024'ü kapsıyor olabilir. Ama: - 2014-2018: Düşük enflasyon, görece istikrarlı politika - 2018: Kur şoku - 2020: COVID + sıfıra yakın rates - 2022-2024: Yüksek enflasyon, ortodoks olmayan politika
Strateji 2015'te çalıştı, 2024'te de çalışacak diye bir kural yok. Rejim değişikliklerini dikkate al.
Kalibre Lab'de: SENTETİK seriler farklı rejimlerle (boğa, ayı, yatay, kriz şoku ve rejimler arası geçiş) üretilebilir ve oynaklık laboratuvarı oynaklığın hangi dönemlerde kümelendiğini gösterir. Kuralını tek bir rejimde değil, hepsinde sına.
Sağlam Backtest İçin Kurallar
- Out-of-sample test — verisinin son %20-30'unu dokunulmadan ayır, sadece sonunda test et
- Walk-forward analysis — her N ay sonra parametreleri yeniden seç, sonraki M ay test et
- Maliyet dahil — slipaj + komisyon + vergi
- Birden çok pazar/dönem — aynı strateji ABD'de ve TR'de mi çalışıyor?
- Yuvarlak parametreler — 14 gün, 50 gün gibi standart sayılar
- Düşük frekanslı sinyal — aylık > günlük (overfitting riski)
Backtest sonuçlarını okurken
Gördüğün rakamlar:
| Metrik | "İyi" eşik | Dikkat |
|---|---|---|
| Yıllık getiri (CAGR) | >%10 nominal | Buy-and-hold ile karşılaştır |
| Sharpe ratio | >1.0 | >2.0 muhtemelen aşırı uyarlama |
| Max drawdown | <%30 | >%50 = pratikte uygulanamaz |
| Calmar (CAGR/MDD) | >0.5 | >1.0 mükemmel ama nadir |
| Win rate | %50-60 | Önemli değil — kazanç büyüklüğü daha kritik |
Son söz
"All models are wrong, but some are useful." — George Box
Bir backtest modeldir, gerçek değildir. Olası senaryolardan bir tanesini simüle eder. Geçmişte çalışan strateji geleceğin garantisi değil ama:
- Strateji geçmişte tutarsız → gelecekte de muhtemelen tutarsız
- Strateji geçmişte tutarlı → gelecekte tutarlı olma olasılığı daha yüksek ama garanti değil
Backtest bir filtre olarak değerli; bir kehanet değil.
Kalibre Lab'de testin sınırları: - Gelecek mumlar kullanılmaz: sinyal kapanmış mumla, işlem sonraki mumun açılışında - Hızlı prova maliyetsizdir; maliyetli son sınav MT5 Strategy Tester'dadır - Veri senin MT5 hesabından ya da SENTETİK örnek serilerden gelir; Kalibre fiyat verisi yayınlamaz - Dönem dışı (out-of-sample) testi sen kurarsın: ayarı bir dönemde seç, başka bir dönemde sına Ayrıntılar metodoloji sayfasında.
▸ Not: Bu sayfa eğitim ve araştırma amaçlıdır. Yatırım tavsiyesi içermez. Anlatılan kavram veya stratejilerin geçmiş performansı, gelecek için garanti vermez.