Backtestler yalan söyler. Curve-fitting, look-ahead bias, survivorship bias, gerçekçi olmayan uygulama varsayımları - bir backtest'in sizi nasıl kandırabileceğinin yolları iyi belgelenmiştir.
Ama sistematik trading konusunda ciddiyseniz, yine de test etmeniz gerekir. Soru backtest yapıp yapmamak değil. Kendinizi kandırmadan nasıl yapacağınızdır.
İşte gerçekten işe yarayan metodolojiler.
Veriyle Değil, Mantıkla Başlayın
Tek bir test çalıştırmadan önce, stratejinizin neden işe yaraması gerektiğini açıklayın.
"Tarihsel olarak işe yaradığı için" değil. Bu döngüsel. Piyasa temelli bir sebebe ihtiyacınız var: kurumsal davranış bu paterni oluşturuyor, insan psikolojisi bu eğilimi üretiyor, piyasa yapısı bu verimsizliği oluşturuyor.
Mantığı açıklayamazsanız, veri madenciliği yapıyorsunuz. Bulduğunuz herhangi bir "avantaj" muhtemelen sinyal gibi görünen gürültüdür.
İyi temeller:
- Döngüler var çünkü sermaye birikim ve dağıtım fazları arasında dönüyor
- Hacim yönü doğruluyor çünkü para akışı kurumsal niyeti ortaya koyuyor
- Confluence çalışıyor çünkü bağımsız sistemlerin uyuşması yanlış sinyalleri azaltıyor
Test etmeden önce hipotezinizi yazın. Bu, açıklamaları sonuçlara sonradan uyarlamanızı önler.
Gerçekçi Maliyetler Ekleyin
Çoğu backtest mükemmel uygulama varsayar. Gerçek trading sürtünme içerir.
Her teste dahil edin:
- Spread: Ask'tan alırsınız, bid'den satarsınız. Bunu açıkça modelleyin
- Slippage: Sinyal fiyatınızdan %0.1-0.5 daha kötü uygulamalar varsayın
- Komisyonlar: "Ücretsiz" brokerlar bile SEC ücretleri ve payment for order flow maliyetlerine sahiptir
- Piyasa etkisi: Emriniz fiyatı hareket ettirir, özellikle daha az likit enstrümanlarda
Trade başına %0.1 kazanan ve %0.15 gidiş-dönüş maliyeti olan bir strateji kaybedendir. Bunu gerçek kayıplardan sonra değil şimdi bilmek daha iyidir.
Out-of-Sample Protokolü
İşte dürüst backtesting için en önemli teknik: out-of-sample testing.
- Verilerinizi bölün. In-sample (diyelim %70) ve out-of-sample (%30) olarak ayırın
- Sadece in-sample üzerinde geliştirin. Tüm testlerinizi, ayarlamalarınızı ve optimizasyonlarınızı in-sample verileri üzerinde yapın
- Out-of-sample'da bir kez test edin. Final bir sisteminiz olduğunda, hiç görmediğiniz out-of-sample verileri üzerinde test edin
- Tek şans. Sadece bir şansınız var. Out-of-sample'da test eder, ayarlar ve tekrar test ederseniz, artık out-of-sample değildir
Performans out-of-sample verilerde önemli ölçüde düşerse, overfit yapmışsınız. Tutarsa, gerçek bir şeyiniz olabilir.
Walk-Forward Analizi
Basit out-of-sample testingden daha iyi olan walk-forward analizidir:
- Dönem 1'de optimize edin (diyelim 2015-2018)
- Dönem 2'de test edin (2019)
- Sonuçları kaydedin
- Dönem 2'de optimize edin (2016-2019)
- Dönem 3'te test edin (2020)
- Tekrarlayın
Bu aslında ne yapacağınızı simüle eder: sisteminizi periyodik olarak güncel verilerle yeniden optimize etmek, sonra ileriye trade etmek.
"Test" dönemleri tutarlı şekilde iyi performans gösteriyorsa, sisteminiz sağlamdır. Test dönemlerindeki performans optimizasyon dönemlerinden çok daha kötüyse, curve-fitting yapıyorsunuz.
Monte Carlo Gerçeklik Kontrolü
Backtestiniz maksimum %25 drawdown gösteriyor. Rahat, değil mi?
Ama bu tarih boyunca sadece bir yol. Rastgele varyasyon çok daha kötüsünü üretebilirdi.
Monte Carlo analizi tradelerinizin sırasını rastgele hale getirir (veya yerine koyarak örnekler) ve binlerce simülasyon çalıştırır. Bu size aynı tradelerle farklı sıralarda olabilecek sonuçların aralığını gösterir.
Maksimum drawdownınız farklı şansla %50 olabilseydi, %25 değil %50 drawdown için boyutlandırmanız gerekir.
Sonuç
Backtesting bir avantajın kanıtı değildir. Kötü fikirleri çürütmenin bir yoludur - bunda dürüstseniz.
İyi bir backtest:
- Piyasa temelli mantıkla basit kurallar kullanır
- Look-ahead ve survivorship bias'tan kaçınır
- Gerçekçi işlem maliyetleri içerir
- Final doğrulama için out-of-sample verilerini ayırır
- Walk-forward ve Monte Carlo analizi ile stres testi yapar
Hedef güzel bir equity eğrisi değil. Gelecek performansın gerçekçi bir tahminidir. Bunlar çok farklı şeylerdir.
Yeniden çizmeyen göstergeler dürüst backtesting için esastır. Test ettiğiniz sistem döngü analizi, hacim rejimi tespiti ve mum kapanışında sonuçlanan momentum oylaması kullanıyorsa, tarihi incelemeniz tam olarak canlı göreceğiniz şeyi gösterir. Look-ahead bias yok. Hayalet sinyaller yok. Test ettiğiniz şey gerçekten trade edeceğiniz şeydir.
Pentarch'ın yeniden çizmeyen sinyalleri dürüst backtesting için tasarlanmıştır - tarihte gördüğünüz tam olarak canlı göreceğiniz şeydir, look-ahead bias yoktur.
Güvenle test edin →