Backtest Nedir? Kapsamlı Rehber
Backtest, bir trading stratejisinin kurallarını geçmiş fiyat verilerine uygulayarak, gerçek sermayeyi riske atmadan önce stratejinin nasıl bir performans göstereceğini simüle etme sürecidir. Güvenilir bir backtest her an yalnızca o ana kadar mevcut verileri kullanır, işlem maliyetlerini gerçekçi biçimde modeller ve optimizasyonda hiç kullanılmamış örneklem dışı verilerle doğrulanır.
Backtest, sistematik trading'in temelidir. Profesyonel bir kantitatif fon bir stratejiye sermaye koymadan önce, yaklaşımın geçmişte nasıl performans göstereceğini anlamak için kuralları yılların geçmiş verisine karşı çalıştırır. Bu rehber backtest'in ne olduğunu, nasıl çalıştığını ve amatör backtest'lerin çoğunu geçersiz kılan hataları açıklıyor.
Temel Fikir
Bir trading stratejisi bir dizi kuraldır. A koşulu doğru olduğunda al. B gerçekleştiğinde sat. Pozisyon büyüklüğünü C kuralına göre belirle. Backtest bu kuralları tarihsel bir veri setine — geçmişe ait fiyatlar, hacimler ve diğer piyasa verilerinden oluşan bir diziye — uygular ve o dönemde kurallara tam olarak uymuş olsaydınız ne olacağını simüle eder.
Sonuç simüle edilmiş bir performans geçmişidir: giriş fiyatları, çıkış fiyatları ve süreleriyle bir dizi varsayımsal işlem. Buradan toplam getiri, Sharpe oranı, maksimum düşüş (max drawdown) ve kazanma oranı gibi performans metriklerini hesaplayabilirsiniz. Bu metrikler, gerçek parayı riske atmadan önce stratejinin değerli olup olmadığına karar vermenize yardımcı olur.
Anahtar kelime simüle edilmiş. Backtest trading değildir; trading’in bir modelidir. Simülasyonun kalitesi; tarihsel verinin kalitesine, işlem maliyeti varsayımlarının gerçekçiliğine ve hayali avantajlar yaratan kodlama hatalarının olmamasına bağlıdır.
Backtest Neden Önemlidir
Backtest olmadan, bir stratejiyi canlıya almadan önce değerlendirmek ya canlı işlem (pahalı — öğrenmek için gerçek sermayeyle ödeme yaparsınız) ya da öznel grafik okuma (“bu formasyon genelde işe yarıyor gibi görünüyor”) gerektirir. İkisi de titiz değildir.
Backtest şunları yapmanızı sağlar:
- Bir stratejinin farklı piyasa rejimlerinde nasıl davrandığını anlamak
- Beklenen düşüşleri tahmin ederek pozisyon büyüklüğünü planlamak ve kayıp dönemlerinin psikolojik gerçekliğini hesaba katmak
- Rakip strateji varyantlarını nesnel olarak karşılaştırmak
- Parametre duyarlılığını belirlemek — strateji yalnızca belirli bir parametre değerinde mi çalışıyor, yoksa bir aralık boyunca mı?
- Mantık hatalarını para kaybettirmeden önce yakalamak
Kurumsal kantitatif fonlar sermaye ayırmadan önce stratejileri aylarca backtest’ten ve stres testlerinden geçirir. Bu adımı atlayan bireysel trader’lar sistematik bir dezavantajla başlar.
Backtest Nasıl Çalışır
Bir backtest’in işleyişi şu sırayı izler:
- Tarihsel veriyi yükle. Test dönemindeki varlık(lar) için OHLCV (Açılış, Yüksek, Düşük, Kapanış, Hacim) barları.
- İndikatörleri hesapla. Hareketli ortalamalar, RSI, hacim ortalamaları gibi türetilmiş sinyalleri, her an için yalnızca o ana kadar mevcut verileri kullanarak hesapla (ileriye bakma yok).
- Sinyal üret. Her barda giriş veya çıkış koşullarının sağlanıp sağlanmadığını değerlendir.
- İşlemi simüle et. Bir sinyal tetiklendiğinde girişi gerçekçi bir fiyattan kaydet (genellikle bir sonraki barın açılışı veya kapanış + kayma modeli), komisyonları düş.
- Portföy durumunu takip et. Her barda güncel nakit bakiyesini ve pozisyon değerini tut.
- Performans metriklerini hesapla. Sonunda tüm işlemleri istatistiksel bir özette topla.
Kritik Sınırlama: İleriye Bakma Yanlılığı
İleriye bakma yanlılığı, backtest’inizin işlem kararının verildiği anda mevcut olmayacak bilgileri kullanmasıyla oluşur. Backtest’lerin harika görünüp canlı işlemde başarısız olmasının en yaygın nedenidir.
İleriye bakma yanlılığının yaygın kaynakları:
- Bugünün kapanış fiyatıyla sinyal üretip ardından bugünün kapanışından işlem yapmak (ikisini aynı anda yapamazsınız)
- Bölünmeye veya temettüye göre düzeltilmiş geçmiş fiyatları, bu düzeltmelerin ne zaman bilinebileceğini hesaba katmadan kullanmak
- İndikatörleri önce tüm veri seti üzerinde hesaplayıp sonra barlar üzerinde dolaşmak (100. bardaki indikatör değeri 101–500. barlardaki verileri içerir)
- Temel verileri (kazançlar, analist revizyonları) açıklama tarihi yerine resmi dosyalama tarihiyle kullanmak
Aşırı Uyum: Daha İnce Sorun
Doğru uygulanmış bir backtest’te bile aşırı uyum (overfitting) — eğri uydurma (curve-fitting) olarak da bilinir — büyük bir risktir. Aynı veri seti üzerinde yeterince parametre kombinasyonu test ederseniz, bazıları tamamen şans eseri mükemmel sonuçlar üretir. Tehlike, bu rastgele uyumu gerçek bir avantaj sanmaktır.
Standart çözüm örneklem dışı (out-of-sample) testtir: tarihsel verinizi bir eğitim dönemine (parametreleri optimize ettiğiniz) ve bir test dönemine (stratejiyi kesinleştirene kadar hiç dokunmadığınız) bölün. Yalnızca test dönemi sonuçları güvenilirdir. Performans iki dönemde de benzerse, strateji genelleşmiştir ve sağlam olabilir. Örneklem dışı dönem dramatik biçimde geride kalıyorsa, strateji eğitim verisine aşırı uymuştur.
Değerlendirilmesi Gereken Temel Metrikler
Bir backtest yalnızca toplam getiriden fazlasını raporlamalıdır. En önemli metrikler şunlardır:
- CAGR (Bileşik Yıllık Büyüme Oranı): Yıllıklandırılmış getiri — farklı uzunluktaki dönemlerde toplam getiriden daha anlamlıdır
- Sharpe Oranı: CAGR’ın yıllıklandırılmış volatiliteye bölümü — riske göre düzeltilmiş getiriyi ölçer
- Maksimum Düşüş (Max Drawdown): Dönem boyunca zirveden dibe en büyük kayıp — stratejiye psikolojik olarak gerçekçi biçimde dayanıp dayanamayacağınızı belirler
- Calmar Oranı: CAGR / Maksimum Düşüş — stratejiler arasında düşüş verimliliğini karşılaştırmak için kullanışlıdır
- Kazanma Oranı ve Kâr Faktörü: İşlemlerin ne sıklıkla kârlı olduğu ve kazananların kaybedenlerden ağır basıp basmadığı
Başlarken
Geleneksel backtest programlama bilgisi gerektirir — pandas ve backtrader ile Python ya da TradingView’de Pine Script. Ancak yapay zekâ destekli araçlar bunu değiştirdi. QuantPrompt, bir stratejiyi sade bir dille tarif edip kod yazmadan tam bir tarihsel backtest çalıştırmanızı sağlar. Bu, sistematik test için giriş engelini önemli ölçüde düşürür ve piyasaları anlayan ama yazılım mühendisi olmayan trader’lar için erişilebilir kılar.
Hangi aracı kullanırsanız kullanın, disiplin platformdan daha önemlidir: yeterli tarihsel veri kullanın, örneklem dışı test yapın, işlem maliyetlerini gerçekçi modelleyin ve bir stratejinin gerçek bir avantajı olduğu sonucuna varmadan önce sonuçlarınızı her zaman al-ve-tut (buy-and-hold) karşılaştırma ölçütüyle kıyaslayın.
Sık sorulan sorular
Kaynaklar
- Harvey, C. R. & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management.
- Bailey, D. H. & López de Prado, M. (2014). The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting, and Non-Normality. The Journal of Portfolio Management.
- QuantConnect. Backtesting (Cloud Platform documentation).