Walk-forward optimizasyonu, bir stratejiyi ayarlamanın dürüst yolu olarak bilinir ve bunu hak da eder — hele ki tüm veri üzerinde optimize edip sonuca hayran hayran bakmakla kıyaslandığında. Ama tekniğin sessiz başarısızlık biçimleri var ve her biri aynı ürünü ortaya çıkarıyor: aslında sağlam olmayan bir stratejiye iliştirilmiş, "sağlam" yazan bir doğrulama raporu. Aşağıda, bıraktıkları enkaza göre sıraladığımız, kendimizi mühendislikle korumak zorunda kaldığımız üç tanesi var.
Birinci başarısızlık: pencereler sızdırıyor
Yanlış yol: Ocak-Haziran üzerinde ayarla, Temmuz'da doğrula, sonra Temmuz'a ait herhangi bir şeyin ikinci bir turu etkilemesine izin ver — örneklem dışı sayıyı gördükten sonra yapılan bir yeniden koşu, parametre ızgarasında "ufak bir rötuş", serinin tamamı üzerinden normalize edilmiş bir özellik. Her biri masum görünür. Bir araya geldiklerinde örneklem dışı pencereyi gecikmeli bir örneklem içi veriye dönüştürürler.
Enkaz: örneklem içi Sharpe'ı gizemli biçimde takip eden bir örneklem dışı Sharpe. Gerçek örneklem dışı sonuçlar gürültülü ve hayal kırıklığı yaratır; şüphe uyandıracak kadar pürüzsüz bir IS/OOS ilişkisi, bilginin geriye doğru aktığı anlamına gelir. Bu oranı açıkça izliyoruz — örneklem içi değerin örneklem dışının 3 katından fazla olması koşuyu işaretler, örneklem dışının sıfır ya da altında olması ise örneklem içi ne kadar güzel görünürse görünsün koşuyu öldürür.
İkinci başarısızlık: pencereler arasında metrik avcılığı
Üç walk-forward penceresi koş, üç gürültülü sonuç al, sonra özetle: ortalama Sharpe mı? Medyan mı? "Rejim değişimi" gerekçesiyle en kötü pencereyi atalım mı? Her tercih bir serbestlik derecesidir ve kararlı bir optimize edici (insan ya da Bayesçi) bu stratejinin en iyi göründüğü özeti mutlaka bulur. Pencere başına yetmiş beş Optuna denemesi, gürültüye uyum sağlamak için yetmiş beş fırsattır — üstelik hoşgörü göstereceğiniz özet sayısıyla çarpılır.
Enkaz: doğrulamayı geçen, sonra canlıda en kötü pencerenin performansını veren bir strateji; çünkü tek dürüst pencere zaten en kötü olandı. Bizim kuralımız: toplama yöntemi koşudan önce konfigürasyonda sabitlenir, deneme bütçesi sabitlenir ve analist pencere bazlı sonuçları dağılımıyla birlikte okur. Geçmek için dost canlısı bir özete ihtiyaç duyan strateji geçemez.
Üçüncü başarısızlık: holdout olmaktan çıkan holdout
Bir holdout tam olarak bir kez işe yarar. Bir strateji ona karşı ikinci kez değerlendirildiğinde — bir parametre dürtmesinin, bir sinyal rötuşunun, bir "şuna bir bakalım"ın ardından — artık holdout değildir; yavaş çalışan bir doğrulama setidir. Dokunulmamış on beş günü korumak, iterasyon baskısı gelene ve yeniden kontrol etmek zararsız hissettirene kadar önemsiz görünür.
Enkaz ince: aynı stratejinin iterasyonları boyunca iyileşen holdout sonuçları. Taze örneklem dışı verinin üçüncü iterasyonu birinciye tercih etmek için hiçbir nedeni yoktur; ettiği zaman, holdout madenciliğe uğramış demektir. Tek atışlık olmasını mekanik olarak zorunlu kılıyoruz: holdout, pipeline koşusu başına bir kez değerlendirilir, sonuç kayda yazılır ve yeni bir denemeye ihtiyaç duyan strateji tüm çilekeş yolu — yeni pencereler dahil — baştan geçer. Walk-forward örneklem dışı Sharpe'ın en az %70'ini korumak zorundadır ve o zar ikinci kez atılmaz.
Üçünü de ele veren belirti
Bunların hepsinden önce, düz bir duyarlılık taraması koşuyoruz: her parametreyi ±20% oynat ve metrikleri izle. Gerçek bir avantaj zarifçe bozulur; bir tesadüf uçurumdan düşer. Pipeline'daki en ucuz test bu ve yukarıdaki her şeyi rahatça geçebilecek stratejileri veto ediyor — çünkü bir parametre uçurumu, aşırı uyumun doğrulama makinesine saklanma şansı bulmasından önceki görüntüsüdür.
Bunların hiçbiri optimizasyonu güvenli hale getirmiyor. Yaptıkları şey, başarısızlık biçimlerini gürültülü hale getirmek — ki bir doğrulama sürecinden dürüstçe isteyebileceğiniz en fazlası da budur.
← Tüm yazılar