Geçmiş veri üzerinde denenen bir strateji iyi sonuç verdiğinde ortaya çıkan duygu güvendir. Bu duygu genellikle sonuçtan daha büyük olur ve ileri dönemde neredeyse hiç karşılanmaz.
Sebep çoğu zaman stratejinin kötü olması değil. Backtest’in ne ölçtüğünün yanlış anlaşılması.
Backtest bir tahmin değil, bir ölçümdür
Bir backtest tek bir soruyu cevaplar: bu kurallar, bu veri parçası üzerinde çalıştırılsaydı ne olurdu?
Bu değerli bir cevap. Ama “gelecekte ne olacak” sorusunun cevabı değil ve o soruya yaklaşması için birkaç şartın sağlanması gerekiyor. Şartlar sağlanmadığında ölçtüğünüz şey stratejinin performansı değil, stratejiyi o veriye ne kadar iyi uydurduğunuz oluyor.
Sonucu şişiren üç mekanizma
Aşırı uyum. Bir stratejinin ayar sayısı arttıkça, geçmiş veriye uyması kolaylaşır. Yeterince ayar verildiğinde herhangi bir geçmiş dönem için mükemmele yakın bir sonuç üretilebilir, ve bu sonucun ileri dönemle hiçbir ilgisi olmaz. Pratik işaret şu: eşik değerini yüzde bir oynattığınızda sonuç ciddi biçimde değişiyorsa, bulduğunuz şey bir kural değil bir tesadüftür.
İleriye bakma. Testin, o an henüz bilinmesi mümkün olmayan bir bilgiyi kullanması. En sık görülen hâli mumun kapanış fiyatıyla mum içinde işlem yapmak: kapanışı bildiğinizi varsayan bir kural, gerçek zamanda uygulanamaz. Sonuç tablosu bunu bir hata olarak göstermez, yalnızca iyi görünür.
Hayatta kalma yanlılığı. Bugün listede olan varlıklarla geçmişi test etmek. Kripto tarafında bu etki büyük: bugün işlem gören listeyle üç yıl geriye gitmek, o üç yılda kaybolan projeleri testin dışında bırakır. Geriye dönüp baktığınızda evren, o dönemde gerçekten karşınıza çıkacak olan evrenden daha iyidir.
Sürtünme kalemleri sonucun neresinde
Bir backtest’in gerçeğe yaklaşması için üç kalemin içeride olması gerekiyor: işlem ücretleri, spread ve kayma.
Bunların etkisi işlem başına küçük görünür ve toplamda belirleyici olur. Günde bir işlem yapan bir stratejide fark sınırlıdır; günde on işlem yapan bir stratejide aynı yüzde on kat işler. Yüksek frekanslı bir kuralın backtest’te kârlı, gerçekte zararlı çıkmasının en sık sebebi budur ve stratejinin mantığıyla ilgisi yoktur.
Kayma özellikle atlanır. Emrin, o an bulunabilen fiyattan dolduğunu varsaymak testi zorlaştırır ama gerçeğe yaklaştırır.
Testi zorlaştırmanın yolları
Backtest’i daha güvenilir hâle getirmenin yolu sonucu kırmaya çalışmaktan geçiyor, daha iyi sonuç aramaktan değil.
Dönemi ikiye bölün. Kuralları yalnızca birinci yarıda geliştirin, ikinci yarıyı hiç açmayın. Ayarlar bittiğinde ikinci yarıda tek sefer çalıştırın. Sonuç birinci yarıya yakınsa elinizde bir şey vardır; belirgin biçimde düşükse elinizdeki şey uyum fazlasıydı.
Farklı piyasa rejimlerinde ayrı ayrı bakın. Toplam getiri, yükseliş döneminde kazanıp yatay dönemde kaybeden bir stratejiyi tek bir olumlu sayıya çevirir. Dönemleri ayırdığınızda stratejinin hangi varsayıma bağlı olduğu görünür.
En kötü seriye bakın. Toplam sonuç yerine üst üste gelen zararların en uzunu ve en derin geri çekilme. İleride yaşayacağınız şey ortalama olmayacak; o seri olacak.
Backtest’ten sonra gelen adım
İyi bir backtest, gerçek moda geçme kararının ön şartıdır, kararın kendisi değil. Testin ölçemediği iki şey kalır: emirlerin gerçekten dolup dolmadığı ve zarar sırasında sizin ne yaptığınız.
Bu ikisi ancak küçük tutarla, gerçek koşulda görülür. Finbula’da bir botu Demo modda çalıştırmak da, küçük tutarla Gerçek moda almak da aynı ekrandan yapılır ve bot kontrolü her zaman sizde kalır. Ama hangi aşamada olduğunuzu bilmek, ekranın söyleyebileceği bir şey değil.



