Backtest yanlılıkları: geleceği bilmeden strateji testi · 5 / 5
Out-of-sample test: gelecek sonuçları sızdırmadan test verisi ayırın
Adı holdout olan dosyanın sonuçları stratejiyi etkilediyse o dosya dokunulmamış değildir. Yalnızca satırın ayını değil, her girdinin ve işlem sonucunun ne zaman bilinebildiğini izleyin.
Athenum8 dkGüncellendi:
Protokolü sabitleme ve dönem sınırını aşan işlemler
Bu varsayımsal takvimde ocak–mart geliştirme, nisan seçim, mayıs–haziran son değerlendirme olsun. Nisan sonunda kuralları, varlık evrenini, parametreleri, maliyetleri, gerçekleşme varsayımlarını ve kabul ölçütlerini sabitleyin. Hareketli ortalama önceki tarihsel fiyatları kullanabilir; yasak gelecekteki bilgidir, geçmişi unutma zorunluluğu değildir.
31 Mart'ta açılıp 2 Nisan'da kapanan geliştirme işleminin gerçekleşmiş sonucu mart sınırında bilinmez. Modeli bu sonuçla ayarlayıp 1 Nisan'dan itibaren sanki önceden sabitlenmiş gibi değerlendirmek bilgi sızdırır. Sınırı aşan sonuç etiketlerini önceki uyarlamadan çıkarma veya değerlendirmeyi bilinir oldukları zamana erteleme politikasını önceden tanımlayın. Dışlama, gerçek sonuç ufkuna bağlıdır.
Ön işlemede veri sızıntısı ve test sonrası yapılan değişiklikler
Veriden öğrenilen ölçekleyici, özellik seçimi veya eksik değer modeli yalnızca izin verilen uyarlama gözlemleriyle kurulmalıdır. Bölmeden önce tüm ocak–haziran örneklemiyle parametre hesaplamak gelecekteki dağılım bilgisini önceki kararlara sokabilir. Sabitlenen dönüşümleri sonraki gözlemlere uygulayın. Bilinen sabit kullanılarak yapılan deterministik birim dönüşümü farklıdır.
Ayrılmış test sonuçlarını gördükten sonra her değişiklik yeni araştırma döngüsü başlatır. Mayıs sonuçları stop değişikliğini etkilediyse mayıs, yenilenen kural için geliştirme veya seçim verisidir. Haziran ancak kararları doğrudan veya dolaylı etkilemediyse yeni ve daha kısa test dönemi olabilir. Aksi durumda gerçekten yeni değerlendirme dönemi gerekir.
Örnek: geliştirmede +12R, seçimde +3R, ayrılmış testte −2R
Belirtilen maliyetlerden sonra geliştirme +12R, seçim +3R ve son test −2R üretsin. Birleşik toplam +13R olsa da ayrılmış test sonucu hâlâ −2R'dir. Bunu işlem sayısı, koşullar ve belirsizlikle ayrı raporlayın. Bu örneklem planlanan pozitif performans iddiasını desteklemez. Dokunulmamış test dönemi yine de kısa olabilir, tek piyasa rejimini kapsayabilir veya birbirine bağımlı işlemler içerebilir. Sonuçla birlikte bu sınırları da bildirin; kronolojik ayırma tek başına genellenebilirliği kanıtlamaz.
Model 30 Nisan kapanışında sabitleniyorsa geçmiş fiyatlar ve tamamlanmış nisan sonuçları seçimi etkileyebilir. 30 Nisan'da açılıp 2 Mayıs'ta kapanan işlemin gerçekleşmiş sonucu henüz bilinmez. Sonraki sonucu önceki uyarlamaya sessizce katamazsınız.
| Aşama | Dönem | Net toplam | Rol |
|---|---|---|---|
| Geliştirme | Ocak–mart | +12R | Aday kuralları kurun |
| Seçim | Nisan | +3R | Kuralı seç ve sabitleyin |
| Ayrılmış test | Mayıs–haziran | −2R | Sabit kuralı değerlendirin |
Diyagramı büyüt- Geliştirme: 12 R
- Seçim: 3 R
- Ayrılmış test: -2 R
Sınırda tek mum atlamak neden sonuç sızıntısını önlemeyebilir?
Bölünme çevresinde bir mum atlamak, sonuç etiketi birkaç gün süren işlemin sızıntısını otomatik kaldırmaz. Uyarlamada gerçekten kullanılan hedef veya sonucun bilgiye erişim zamanını denetleyin. Dışlama uzunluğunu hangi ayarın son testi kârlı yaptığına baktıktan sonra seçmeyin.
Karar vermeden önce
- Sabitleme zamanını ve kabul ölçütlerini kaydedin.
- Her bölünmede sonuç etiketlerinin kullanılabilirliğini denetleyin.
- Öğrenilen ön işlemeyi yalnızca izinli veriye uyarlayın.
- Her incelemeyi ve kural değişikliğini kaydedin.
- Başarısız son testleri geliştirme toplamlarından ayrı raporlayın.
Anladıklarınızı kontrol edin
Araştırmacı ölçekleyicinin ortalama ve varyansını ocak–hazirandan hesaplayıp ocak–martta eğitiyor, mayıs–haziranda test ediyor. Ölçeklemeden sonra bölmek test verisini dokunulmamış tutar mı?
Açıklamalı yanıtı gösterin
Hayır. Gelecekteki dağılım bilgisi ölçekleyiciye zaten girdi. Öğrenilen ön işlemeyi izinli uyarlama verisiyle kurun, sabitleyin ve sonraki gözlemlere uygulayın. Sonra hangi verilerin incelendiğini kaydeden bir protokolle değerlendirmeyi tekrarlayın.
Kaynaklar ve ek okumalar
Athenum ile devam edin
Athenum blogundan
Sürekli Vadelide Survivorship Bias: Bybit'in 571 Bir Yıllık Kontratından 172'si Çoktan Gitti
İlgili dersler
- Örtüşen işlemler: yirmi sonuç dört piyasa olayı içerebilir
Dört haberde açılan 20 işlem, aslında dört piyasa olayı içerebilir. Backtest örneklemine güvenmeden önce örtüşen bekleme sürelerinin haritasını çıkarın.
- İşlem tezi değişiklikleri: ilk planı ve yeni sürümleri koruyun
Değişen tezinizi orijinal planı ezmeden kaydedin. Genişletilen stop riski 40'tan 70'e çıkardıysa her revizyonun kendi kanıtına ve zamanına ihtiyacı vardır.