FINEMAR

'Çapraz doğrulama: standart yöntem borsada neden çalışmıyor'

Finemar Araştırma31 Mart 20263 dk okumaGüncelleme: 24 Temmuz 2026

Standart yöntem

Klasik k-katlı çapraz doğrulama şöyle işliyor.

Veriyi rastgele beş parçaya bölüyorsunuz. Dördüyle model kurup beşinciyle test ediyorsunuz. Sonra rolleri değiştirip tekrarlıyorsunuz. Beş sonucun ortalamasını alıyorsunuz.

Fikir güzel: bütün veriyi hem eğitim hem test için kullanıyorsunuz.

Ama bir varsayımı var: gözlemler bağımsız. Sırası önemli değil.

Zaman serisinde bu varsayım geçersiz

Borsada gözlemlerin sırası her şey.

Rastgele bölme yaparsanız, 2020 verisiyle model kurup 2018’i tahmin etmeye çalışıyorsunuz. Yani gelecekle geçmişi tahmin ediyorsunuz.

Bu, veri sızıntısının ders kitabı örneği. Ve sonuçlar sistematik olarak fazla iyimser çıkıyor.

Rastgele bölme vs zaman sıralı bölme Yanlış: rastgele k-katlı zaman → gelecekle geçmişi tahmin ediyor Doğru: zaman sıralı, boşluklu eğitim boşluk (arınma) test

Doğru yöntem: zaman sıralı bölme

Eğitim her zaman testten önce gelmeli.

Bu, walk-forward yazımızda anlattığımız kurulumun ta kendisi. Her adımda sadece geçmişle model kuruyor, bir sonraki dönemi test ediyorsunuz.

İki varyasyonu var.

Genişleyen pencere. Eğitim seti her adımda büyüyor. Bütün geçmişi kullanıyor. Bizim kurulumumuz bu.

Kayan pencere. Eğitim seti sabit uzunlukta, ileri kayıyor. Rejim değişimine daha duyarlı, çünkü çok eski veriyi unutuyor.

Hangisinin daha iyi olduğu, ilişkilerin ne kadar kalıcı olduğuna bağlı. İlişkiler zamanla değişiyorsa kayan pencere, sabitse genişleyen pencere daha uygun.

Boşluk bırakmak

Bir incelik daha var: eğitim ile test arasına boşluk koymak.

Neden? Çünkü komşu dönemler birbirine bağımlı. Eğitim seti Mart’ta bitip test Nisan’da başlıyorsa, Mart sonundaki bilgi Nisan’a taşıyor olabilir.

Özellikle örtüşen pencerelerle hesaplanmış özellikler kullanıyorsanız bu ciddi bir sorun. 250 günlük volatilite hesaplıyorsanız, Nisan’ın volatilitesi Mart verisini içeriyor.

Araya bir boşluk koymak bu bağımlılığı kesiyor. Buna arınma deniyor ve zaman serisi çapraz doğrulamasında standart bir uygulama.

Bizim kurulumumuzda özellikler 250 günlük pencerelerle hesaplandığı için bu risk var. Sinyal ve getiri arasındaki ilişkiyi net tutarak (sinyal T’ye kadar, getiri T’den T+1’e) kısmen kontrol ediyoruz ama tam bir arınma uygulamıyoruz.

Kaç kez test edebilirsiniz

En önemli kural bu ve en çok ihlal edileni.

Test setine bir kez bakabilirsiniz.

İkinci kez baktığınızda, o sonuca göre bir şey değiştirdiğinizde, test seti artık eğitim setine dönüşüyor.

Pratikte bunu tamamen uygulamak zor. Ama en azından kaç kez baktığınızı sayın ve raporlayın. Otuz kez baktıysanız, elde ettiğiniz sonuç otuz denemenin en iyisi demektir.

Bizim çözümümüz

Bu sorunu kaynağında çözmeye çalıştık: ağırlıkları hiç fit etmeyerek.

Optimize edilecek bir parametre olmayınca, test sonucuna bakıp ayar yapma ihtimali de olmuyor.

Test sonucu sadece “bu işe yarıyor mu” sorusunu cevaplıyor, “hangi ayar daha iyi” sorusunu değil.

Bu, tahmin gücünden biraz feragat etmek ama çapraz doğrulama disiplinini uygulanabilir kılıyor.

Pratik kontrol listesi

Eğitim her zaman testten önce mi?

Eğitim ile test arasında yeterli boşluk var mı?

Test setine kaç kez baktınız?

Özellikleriniz örtüşen pencerelerle mi hesaplandı?

Rastgele karıştırılmış hedefle test ettiniz mi?

Beş soru. Ve bir zaman serisi modelinin geçerli olup olmadığını büyük ölçüde belirliyorlar.

Sıradaki

Bir sonraki yazıda düzenlileştirmeyi ele alıyoruz. Modeli basit tutmanın matematiksel yolu ve neden bizim yaklaşımımız bunun en uç hali.

Bu yazı bilgilendirme amaçlıdır, yatırım tavsiyesi değildir.

BacktestMakine Öğrenmesi

Bu analizleri kendi hisseleriniz için yapın

586 BIST hissesinin bilanço, çarpan, temettü ve model skorları Finemar terminalinde hazır.

Ücretsiz Dene →

İlgili Yazılar

Bu içerik yatırım tavsiyesi değildir; eğitim ve bilgilendirme amaçlıdır.