Backtest Nedir? Neyi Kanıtlar, Neyi Kanıtlamaz
Backtest, bir alım satım stratejisinin geçmiş piyasa verileri üzerinde çalıştırılarak nasıl davranacağının ölçülmesidir. Türkçede geriye dönük test de denir. Mantığı basit: kuralları yazarsınız, geçmiş fiyat verisini baştan oynatırsınız, kuralların ne zaman işlem açıp kapatacağını sayarsınız.
Bu yazının çoğu backtest anlatımından bir farkı var. Çoğu rehber bir backtest'i nasıl yapacağınızı anlatır. Ama Türkiye'deki çoğu kişi backtest yapmaz. Kendisine gösterilen bir backtest'e bakar: bir bot satıcısının ekran görüntüsü, bir sinyal kanalının performans tablosu, bir platformun tanıtım sayfası.
O yüzden burada iki şey var. Backtest'in gerçekten ne kanıtladığı, ve size gösterilen bir backtest'i nasıl okuyacağınız.
Backtest nasıl çalışır
Üç parçası vardır.
Kurallar. Ne zaman alınır, ne zaman satılır, ne kadar pozisyon açılır, ne zaman durdurulur. Kurallar belirsizse test edilecek bir şey yoktur. "Grafik iyi görünürse alırım" bir kural değildir.
Veri. Belirli bir varlığın belirli bir dönemdeki fiyat hareketi. Genellikle mum verisi: açılış, en yüksek, en düşük, kapanış.
Simülasyon. Yazılım veriyi baştan oynatır ve kuralların tetiklendiği her anı işaretler. Sonunda bir işlem listesi çıkar: kaç işlem, kaçı kârlı, en derin düşüş ne kadardı.
Sonuç bir tablo olarak sunulur. İşte o tablo, doğru okunmadığında en yanıltıcı belgedir.
Backtest'in gerçekten kanıtladığı üç şey
1. Kuralların net olduğu. Bir stratejiyi backtest edebiliyorsanız, kuralları makinenin anlayacağı kadar net yazmışsınız demektir. Bu tek başına değerlidir. Kafanızdaki "sezgi" test edilemez.
2. Mantığın geçmişte bir kenarı olup olmadığı. Kurallar geçmiş veride sistematik olarak para kaybediyorsa, o mantık muhtemelen bozuktur. Backtest bunu ucuza gösterir.
3. Riskin şeklinin nasıl göründüğü. En derin düşüş ne kadardı, kaç gün sürdü, üst üste kaç kayıp geldi. Bu sayılar bir stratejiyi yaşarken nasıl hissettireceği hakkında getiriden daha fazla şey söyler. Bu konuyu ayrıca maksimum düşüş yazımızda ele alıyoruz.
Dikkat edin: üçü de geçmiş hakkında. Hiçbiri gelecek hakkında değil.
Backtest'in kanıtlamadığı beş şey
Bu bölüm, rakip rehberlerin bir cümleyle geçtiği yerdir. Asıl mesele burada.
Aşırı uyarlama (overfitting)
En yaygın sorun. Bir stratejinin ayarlarını geçmiş veriye o kadar iyi uydurursunuz ki, strateji artık piyasayı değil o dönemin gürültüsünü ezberlemiş olur.
Şöyle olur: 14 periyotlu ayar iyi sonuç vermez, 17 denersiniz, 21 denersiniz, 19'da harika bir eğri çıkar. O 19 sayısı bir keşif değil, bir tesadüftür. Canlıda çalışmaz.
Belirtisi şudur: parametreyi biraz oynattığınızda sonuç çökerse, strateji sağlam değildir. Sağlam bir mantık, komşu ayarlarda da makul çalışır.
Geleceğe bakış hatası (look-ahead bias)
Simülasyonun, o an gerçekte bilinemeyecek bir bilgiyi kullanması. Örneğin mumun kapanış fiyatına göre karar verip işlemi aynı mumun içinden açmak. Gerçekte kapanışı ancak mum bittiğinde bilirsiniz.
Bu hata çok küçük görünür ve sonuçları çok büyük şişirir.
Hayatta kalma yanlılığı (survivorship bias)
Testi bugün var olan coinler üzerinde yapmak. 2021'de listelenip 2023'te sıfırlanan onlarca varlık veri setinde yoktur. Strateji sadece hayatta kalanlar üzerinde test edilmiştir, yani zaten kazananlar üzerinde.
Kripto piyasasında bu etki hisse senedi piyasasından çok daha büyüktür.
Maliyetlerin göz ardı edilmesi
Komisyon, kayma (slippage) ve likidite. Bir backtest her işlemin ekranda gördüğünüz fiyattan gerçekleştiğini varsayarsa, sonuç gerçekçi değildir.
Bunun etkisi işlem sıklığıyla katlanır. Günde birkaç işlem açan bir strateji, yılda birkaç işlem açan bir stratejiye göre maliyetlerden kat kat daha fazla etkilenir. Yüksek frekanslı bir backtest, maliyetler eklendiğinde tamamen başka bir tabloya dönüşebilir.
Tek bir piyasa rejiminde test etmek
2020 ile 2021 arasını kapsayan bir test neredeyse her stratejiyi iyi gösterir, çünkü o dönem yükseliş dönemiydi. Aynı kuralları 2022'de çalıştırın, tablo değişir.
Anlamlı bir test yükselişi, düşüşü ve yatay piyasayı içermelidir.
AlgoTitan'da stratejileri canlı piyasa verisinde demo modda izleyebilirsiniz. Borsa bağlantısı, ödeme veya kart gerekmez. Demo modda sanal bakiye kullanılır, gerçek para kullanılmaz. Bu bir yatırım tavsiyesi değildir. Stratejilere göz atın
Size gösterilen bir backtest'i nasıl okursunuz
Asıl ihtiyacınız olan beceri budur. Bir bot, bir sinyal kanalı veya bir platform size performans tablosu gösterdiğinde sorulacak yedi soru:
1. Test dönemi hangi yılları kapsıyor? Sadece yükseliş dönemi varsa, tablo çok az şey anlatır. En az bir tam döngü arayın.
2. Komisyon ve kayma dahil mi? Dahil değilse sonuç gerçek değil, teorik üst sınırdır. Genellikle bu bilgi hiç yazmaz. Yazmıyorsa dahil değildir varsayın.
3. Kaç işlem var? 20 işlemlik bir sonuç istatistiksel olarak anlamsızdır. Şansla açıklanabilir. Yüzlerce işlem daha okunabilir bir tablo verir.
4. Maksimum düşüş gösteriliyor mu? Sadece getiri gösteriliyorsa, tablonun yarısı eksik. Getiriyi risk olmadan sunmak bir sunum tercihidir ve genellikle bilinçlidir.
5. Parametreler ne zaman seçildi? Ayarlar test döneminin sonuçlarına bakılarak seçildiyse, o bir backtest değil bir uyarlamadır. Dürüst yöntem, ayarları bir dönemde seçip başka bir dönemde test etmektir.
6. Aynı strateji başka varlıkta veya başka dönemde denendi mi? Sadece tek bir coinde ve tek bir dönemde çalışan bir mantık, muhtemelen o coine ve o döneme uyarlanmıştır.
7. İleri test var mı? Geçmiş veriyle test ayrı, gerçek zamanlı veriyle test ayrı. Aşağıda bu farka geliyoruz.
Bu yedi sorunun çoğunun cevabı verilmiyorsa, elinizdeki bir kanıt değil bir pazarlama görselidir. Aynı mantıkla çalışan diğer uyarı işaretlerini bot dolandırıcılığı yazımızda listeliyoruz.
Backtest ile ileri test arasındaki fark
İkisi farklı sorulara cevap verir ve karıştırılmamalıdır.
Backtest geçmiş veriyi kullanır. Hızlıdır: on yıllık veriyi saniyeler içinde çalıştırabilirsiniz. Ama sonucu bilinen bir sınavdır. Sonuçları gördükten sonra kuralları değiştirme ihtimaliniz her zaman vardır.
İleri test, kâğıt üzerinde işlem ya da demo işlem, gerçek zamanlı veriyle çalışır. Strateji şu anki piyasada, sanal bakiyeyle işlem yapar. Yavaştır: 14 günlük bir sonuç için 14 gün beklersiniz. Ama sonucu kimse bilmez, dolayısıyla uyarlama yapılamaz.
Bu yüzden ileri test daha zayıf değil, daha zor bir sınavdır.
Pratikte ikisi sırayla kullanılır. Backtest bir mantığın hiç işe yaramadığını ucuza eler. İleri test kalan mantığın gerçek koşullarda nasıl davrandığını gösterir. Demo işlem rehberimizde bu süreci ayrıntılı anlatıyoruz.
Bir de üçüncü fark var, ve pazarlama malzemelerinde neredeyse hiç geçmez: ileri test sizin davranışınızı da test eder. Strateji üç gün işlem açmadığında ne hissettiğinizi, düşüş sırasında durdurup durdurmadığınızı backtest ölçemez. Bu konuya botun neden işlem açmadığı yazımızda ayrıca değiniyoruz.
Sık sorulan sorular
Backtest ne kadar güvenilir? Kurallar nettir ve maliyetler dahil edilmişse, bir mantığın geçmişte kenarı olup olmadığını makul biçimde gösterir. Gelecekteki sonuçlar hakkında hiçbir garanti vermez. Geçmiş performans gelecekteki sonuçları garanti etmez.
Backtest ile demo işlem aynı şey mi? Hayır. Backtest geçmiş veriyle, demo işlem gerçek zamanlı veriyle çalışır. Demo işlem daha yavaştır ama uyarlamaya kapalıdır.
İyi bir backtest kaç işlem içermeli? Kesin bir sayı yoktur, ama birkaç düzine işlem şansla açıklanabilir. Yüzlerce işlem daha okunabilir bir tablo verir.
Backtest sonucu neden canlıda tutmuyor? En sık üç nedenden: aşırı uyarlama, maliyetlerin hesaba katılmaması ve tek bir piyasa rejiminde test edilmesi.
Kripto stratejileri için backtest yeterli mi? Tek başına yeterli değildir. Kripto piyasasında likidite ve volatilite hızlı değişir, bu yüzden ileri test ayrı bir adım olarak gereklidir.




