Backtesting Without Fooling Yourself
A step-by-step path from what your backtest really optimizes to proving an edge survives overfitting, multiple testing, and live execution. Read top to bottom — each part builds on the last.
- 01
Jun 28, 2026 #algotradingObjektif Fonksiyon Tasarımı: Optimize Ettiğiniz Metrik Stratejinizi Gizlice Seçer
'En iyi' stratejiyi aramak için önce 'en iyi'yi tanımlamanız gerekir — ve o skaler kazananı sessizce seçer. Bilinen bir avantaja sahip sentetik veride (600 seed, T=2000, 80 eşik), naif işlem-başına Sharpe bir piyango kazandırır: seed'lerin %56'sında %5'in altında maruziyetli bir kazananı seçer ve %57'sinde dejenere olur — en çarpıcı seed'de, örnek-içi 21.09'luk Sharpe kaydeden 8 işlem örnek-dışında 0.13'e çöker. Dürüst çözüm neredeyse sıkıcı: tüm zaman çizelgesinde ölçün, bu hiçbir zaman dejenere olmaz (örnek-dışı 1.71). Bir işlem-sayısı (conf_k) küçültmesi ve bir maruziyet tabanı, işlem-başına bir metriği geriye dönük onarabilir, ama tamamen onarılmış olsalar bile yalnızca tüm-zaman-çizelgesi Sharpe'ını eşleyebilirler (1.70'e karşı 1.71) — asla onu geçemezler. Bir backtest'te, kontrollü referans gerçeklikle, Goodhart yasası.
- 02
Jul 8, 2026 #algoritmik ticaretÇok Zaman Dilimli Backtestlerde Look-Ahead Olmadığını Kanıtlamak: Geleceği Bozun, Geçmişin Onu Göremediğini Kanıtlayın
Çok zaman dilimli backtestler, henüz oluşmakta olan ve nihai kapanışı daha var olmayan bir üst zaman dilimi barı üzerinden geleceği sızdırır. Bu konuda güvene sadece kod incelemesiyle ulaşamazsınız — test etmeniz gerekir. Canlı botun closed-bar kuralını birebir yeniden üretiyor, ardından geleceği kaydıran bir probe ile sızıntı olmadığını kanıtlıyoruz: gelecekteki her barı bozup geçmişteki her sinyalin ve işlemin bit bit değişmediğini doğruluyoruz. 25/25 parite kontrolü ve probe'un gerçekten ısırığı var.
- 03
Mar 15, 2026 #algotradingWalk-Forward Optimizasyonu: Tek Dürüst Strateji Testi
Tek bir eğitim/test bölümünün aşırı uyuma karşı neden koruma sağlamadığı, walk-forward optimizasyonunun parametre sağlamlığını nasıl sistematik olarak doğruladığı ve 21 parametreyle +%3342 PnL@ML gösteren bir stratejinin WFO olmadan neden zamanlı bir bomba olduğu.
- 04
Mar 12, 2026 #algotradingPlato Analizi: Sağlam Bir Optimumu Aşırı Uyumdan Nasıl Ayırt Edilir
En iyi strateji parametrelerini bulmak neden işin yalnızca yarısıdır. Kararlı bir platoyu kırılgan bir zirveden görsel ve sayısal olarak nasıl ayırt edersiniz ve neden Optuna kontur grafikleri optimize edilmiş bir stratejiyi üretime geçirmeden önce zorunlu bir adımdır.
- 05
Mar 6, 2026 #algotradingMonte Carlo Bootstrap: Bir Backtestin Güven Aralıklarını 10 Satır Kodla Nasıl Elde Edersiniz
Bir backtestden elde edilen tek nokta tahminin neden tehlikeli bir yanılsama olduğu. Monte Carlo bootstrap'in 2 saniyelik hesaplamayla PnL ve MaxDD için %95 güven aralığı nasıl sağladığı ve bunun bir stratejiyi üretime almadan önce neden zorunlu bir adım olduğu.
- 06
Jul 1, 2026 #algotradingBacktest Aşırı Uyum Olasılığı: Aramanız Yazı Turayı Yendi mi?
Deflate Edilmiş Sharpe Oranı kazanan stratejiyi fiyatlandırır; PBO ise onu seçen aramayı fiyatlandırır. Kombinatoryal Simetrik Çapraz Doğrulama, 1000x200'lük bir performans matrisi üzerinde C(16,8) = 12,870 eğitim/test bölünmesi çalıştırır ve şunu sorar: örnek-içi kazanan örnek-dışında alt yarıya mı düşüyor? Neredeyse herkesin kaçırdığı can alıcı nokta — PBO'nun null'u 0.5'tir, 1 değil. 200 sıfır-avantajlı strateji üzerinde en iyi örnek-içi yıllıklandırılmış Sharpe olan 1.98, örnek-dışında 0.06'ya çöküyor ve PBO = 0.476: bir yazı-tura, tam anlamıyla aşırı uyum. Gerçek bir avantaj yerleştirin (yıllıklandırılmış Sharpe 2.38) ve PBO 0.001'e düşüyor, örnek-içi 3.73 örnek-dışında 2.34'e kadar hayatta kalıyor. Saf bir rastgele yürüyüş üzerindeki bir hareketli-ortalama ızgarasının da örnek-dışı becerisi yok — 60 matris üzerinden ortalama PBO 0.463, null'dan istatistiksel olarak ayırt edilemez — ve temsili bir matriste yanılsama çarpıcı: en iyi örnek-içi Sharpe olan 2.33, medyan örnek-dışı -0.22'ye çöküyor, PBO 0.573, %63 kayıp olasılığı.
- 07
Jun 29, 2026 #algotradingDeflate Edilmiş Sharpe Oranı: Backtest 'Kazananlarınızın' Kaçı Çoklu Teste Dayanıyor?
Bir parametre araması, şans üretme makinesidir. Saf gürültü üzerinde — gerçek avantajı sıfır olan 1,000 strateji — en iyi yıllık Sharpe ortalama 1.63 çıkıyor ve naif anlamlılık testi vakaların %100'ünde bir keşif işaretliyor. Kontrollü bir referans gerçeklik kuruyor ve Deflate Edilmiş Sharpe Oranı'nın, Harvey-Liu kesintisinin ve White'ın Reality Check'inin dürüstlüğü nasıl geri getirdiğini gösteriyoruz: yanlış keşifler 1.000'den 0.001-0.057'ye düşüyor, gürültü tavanının üzerindeki gerçek avantajlar ~1 güçle korunuyor — ve ham DSR'nin aşırı deflasyon yaptığı, doğru yargının tek bir sayı değil etkin-deneme tahminlerinin tüm bir bandı üzerinden okunması gereken gerçek bir tuzak (korelasyonlu ızgaralar) var.
- 08
Mar 7, 2026 #algotradingBacktest-canlı eşitliği: botunuz neden backtestten farklı işlem yapıyor
Backtesting ile canlı işlem arasındaki sapmaların tam taksonomisi: kayma ve kısmi dolgulardan kod tabanı desenkronizasyonuna kadar. Eşitlik sağlamak için mimari desenler, paylaşılan çekirdek modülün Python örnekleri ve üretim izleme kontrol listesi.
- 09
Jul 9, 2026 #algotradingDürüst Negatif: On Binlerce Backtest, Beş Ana Coin, Sağlam Bir Getiri Yok
Ara-ve-aşırı-uydur (overfit) yayının doruk noktası ve bir negatif sonuçla bitiyor — doğru olanla. ETHUSDT üzerinde tek sembollü, çift zaman dilimli bir arama, örneklem dışında +16.35% ve dokunulmamış bir holdout'ta +2.62% değerinde bir konfigürasyon buldu; ~37,000 denemeyi hesaba katan Deflated Sharpe Ratio bunu 0.00'a indirdi. Beş ana coin (ETH/BTC/SOL/BNB/XRP, her biri ~1.18M 1d bar) üzerinde, örneklem dışı medyana göre seçim yapan enstrümanlar-arası bir tarama bunu kesin olarak öldürüyor: çift DSR 0.24 / PBO 0.264, üçlü DSR 0.14 / PBO 0.327 — ikisi de kapıları geçemiyor. Şampiyon 5 sembolden 1'inde kârlı, geri kalanında negatif. Aşırı-uydurma önleme aygıtı tam da bunun için var: gürültünün en iyisini alfa diye piyasaya sürmeni engellemek için.