WeCore
Algoritmik İşlem

İşlem Stratejilerinde Aşırı Uyum: Nasıl Tanınır ve Önlenir

İşlem stratejilerinde aşırı uyum (curve fitting): fazla parametre, veri madenciliği, in-sample ve out-of-sample, walk-forward, sağlamlık testleri ve uyarı işaretleri.

WeCore·Yayın tarihi ·4 dk okuma

Grafikte parlak görünen ama canlı işlemde hayal kırıklığı yaratan bir strateji kurmanın en garantili yollarından biri aşırı uyumdur (overfitting). Test araçları kolaylaştıkça ve hızlandıkça bu tuzağa düşmek de kolaylaşıyor. Bu yazıda aşırı uyumun ne olduğunu, neden ortaya çıktığını ve gerçek bir avantajı gürültüden ayırmanıza hangi kontrollerin yardımcı olduğunu açıklıyoruz.

Aşırı uyum nedir

Aşırı uyum (tradingde sıkça curve fitting olarak anılır), bir stratejinin geçmiş verilerdeki tekrar eden kalıbı değil gürültüyü öğrenmesidir. Sonuç: Üzerinde kurulduğu veride mükemmel performans, yeni veride zayıf performans.

Fiyat verisi biraz "sinyal" ve çok fazla rastgele gürültü içerir. Her geçmiş dönem tek seferlik olaylar barındırır: sürpriz bir merkez bankası açıklamasının olduğu bir gün, alışılmadık volatiliteye sahip bir hafta, özellikle uzun bir trend. Tam olarak bu olaylardan yararlanacak şekilde ayarlanmış bir strateji geriye dönüp bakınca kusursuz görünür, ama bu olaylar aynı şekilde tekrarlanmaz.

Çok fazla parametre

Bir stratejideki her parametre ayarlayabileceğiniz bir "düğmedir": hareketli ortalama uzunluğu, stop mesafesi, başlangıç saati, bir indikatör eşiği. İki parametreyle kendinizi geçmişe uydurmak zordur. On parametreyle neredeyse her veri serisini "açıklayabilirsiniz".

Varsayımsal bir örnek: 37 barlık hareketli ortalama, 23 tick stop, yalnızca 09:47 ile 11:12 arasında girişler ve yalnızca RSI 41'in altındayken. Bu sayıların her biri en iyi geçmiş sonucu verdiği için seçilmiş. Kilit soru: Neden 35 ya da 40 değil de 37? "Çünkü en iyi o çalıştı" dışında mantıklı bir cevabınız yoksa, bu bir uyarı işaretidir.

Pratik kural: Parametre ne kadar az ve testteki işlem sayısı ne kadar fazlaysa, sonuç o kadar güvenilirdir.

Veri madenciliği (data snooping)

Her bir stratejinin az parametresi olsa bile, aynı veri üzerinde çok sayıda fikir test ettiğinizde sorun geri döner. Yüz varyasyon test edin, bazıları tamamen şans eseri harika görünecektir. Buna data dredging ya da data snooping denir.

Bu istemeden de sızar: Bir fikri test edersiniz, işe yaramaz, küçük bir şey değiştirirsiniz, yeniden test edersiniz ve böyle devam eder. Elli turdan sonra, hiç otomatik optimizasyon çalıştırmamış olsanız bile veri stratejiye çoktan "sızmıştır". Kaç varyasyon test ettiğinizi not edin. Bu sayı neredeyse sonucun kendisi kadar önemlidir.

In-sample ve out-of-sample

Aşırı uyuma karşı temel araç verinizi ayırmaktır:

  • In-sample: Stratejiyi geliştirdiğiniz ve ayarladığınız veri.
  • Out-of-sample: Bir kenara ayırdığınız ve geliştirme sırasında hiç dokunmadığınız veri.

Strateji ancak "dondurulduktan" sonra out-of-sample veri üzerinde çalıştırılır. Performans çökerse, büyük olasılıkla aşırı uyum vardır. Önemli: Sonra geri dönüp stratejiyi değiştirir ve aynı veri üzerinde yeniden test ederseniz, o veri artık gerçek anlamda out-of-sample değildir.

Walk-forward testi

Walk-forward bu fikri genişletir. Geçmişi ardışık pencerelere bölersiniz. Her adımda bir pencerede ayar yapar, bir sonrakinde test eder, ardından iki pencereyi de ileri kaydırıp tekrarlarsınız.

  1. 1. yılda ayar yapın, sonraki çeyrekte test edin.
  2. İleri kaydırın: Yeni dönemde ayar yapın, ondan sonraki çeyrekte test edin.
  3. Tüm test dönemlerini tek bir eğride birleştirin.

Birleştirilmiş eğri, zaman zaman yeniden ayar yaptığınız ve ardından bilmediğiniz bir gelecekte işlem yaptığınız gerçekçi bir durumu simüle eder. Tam optimizasyondan çok daha kötü görünüyorsa, bu önemli bir bilgidir.

Sağlamlık kontrolleri

Veriyi ayırmanın ötesinde, her traderın yapabileceği birkaç basit kontrol vardır:

  • Parametre komşuluğu: Her parametreyi biraz yukarı ve aşağı oynatın. Sağlam bir strateji geniş bir aralıkta benzer sonuçlar gösterir. Yalnızca tek bir değer çalışıyor ve "komşuları" kaybettiriyorsa, şanslı bir tepe bulmuşsunuzdur.
  • İlişkili piyasalar: Strateji NQ'da çalışıyorsa ES'te nasıl davranıyor? Aynı olması gerekmez ama tamamen çökmesi soru işareti doğurur.
  • Farklı zaman dilimleri: Küçük bir zaman dilimi değişikliği kârlı bir stratejiyi zarar ettirene dönüştürmemeli.
  • Farklı dönemler: Her yılı ayrı ayrı kontrol edin. Kâr tek bir kısa dönemden mi geliyor?
  • Daha sert maliyetler: Daha fazla slipaj ve daha yüksek komisyon ekleyin. Gerçek bir avantaj buna dayanmalıdır. Daha fazlası için: backtest ile canlı işlem.
  • En iyi işlemleri çıkarın: En kârlı beş işlemi çıkarın. Tüm kâr kayboluyorsa strateji şansa bağlıdır.

Stratejinizin aşırı uyumlu olduğunun işaretleri

  • Hiç zor dönemi olmayan, neredeyse kusursuz pürüzsüz bir sermaye eğrisi.
  • Tuhaf derecede hassas değerlere sahip çok sayıda parametre.
  • Parametre sayısına göre az işlem.
  • Yalnızca çok dar bir ayar aralığında iyi performans.
  • Biraz daha geçmiş veri eklediğiniz her seferinde çok değişen sonuçlar.
  • Geçmişteki belirli zararları "düzeltmek" için eklenmiş özel kurallar.
  • In-sample ile out-of-sample arasında büyük fark.

Önemli çıkarımlar

  • Aşırı uyum, kalıp yerine gürültüyü öğrenmektir ve yalnızca geriye dönük bakışta harika görünür.
  • Daha az parametre ve daha fazla işlem temel bir savunmadır.
  • Out-of-sample veriyi saklayın ve strateji dondurulana kadar ona dokunmayın.
  • Walk-forward ve parametre komşuluğu kontrolleri şanslı tepeleri ortaya çıkarır.
  • Her kontrolden geçen bir strateji bile ileriye dönük test ve dikkatli pozisyon büyüklüğü belirleme gerektirir.

Hiçbir test gelecekteki başarıyı garanti etmez; bu yüzden laboratuvardan sonraki aşama da aynı derecede önemlidir. WeCore, bir stratejiyi ya da alarmları otomatik risk kurallarıyla simülasyon modunda çalıştırmanıza olanak tanır; böylece canlı hesabı riske atmadan önce yeni verilerde nasıl davrandığını görebilirsiniz. Genel bir giriş için bkz. algoritmik trading nedir.

Kaynaklar ve ek okumalar