6 Kasım 2026 · veri

Backtest’inizde Yanlış Tarihsel Varlık Evrenini Kullandınız

Backtest’inizde Yanlış Tarihsel Varlık Evrenini Kullandınız

Bir geriye dönük test, her mumun zaman damgasını doğru alıp yine de geleceğin bilgisini kullanabilir. Bu, strateji yıllar süren geçmiş boyunca bugün hâlâ var olan varlıkları test ettiğinde, sanki hangi piyasaların likit kalacağını, listelenmeye devam edeceğini ve elde tutmaya değer olacağını önceden biliyormuş gibi gerçekleşir.

Evren oluşturma, stratejinin bir parçasıdır. Canlı sistem her karar anında yalnızca o sırada mevcut varlıklar arasından seçim yapabiliyorsa, geriye dönük test de aynı sınırı gözetmelidir. 3 kestirme yol bu sınırı düzenli olarak ortadan kaldırır.

1. hata: Bugünkü listeyi tüm geçmiş boyunca geriye dönük test etmek

Bugün en büyük 50 kripto sürekli vadeli işlem piyasasını seçip 2021’den başlayarak geriye dönük test ettiğinizi düşünün. Bu liste, ortadan kaybolmuş, likiditesini yitirmiş veya borsadan çıkarılmış sözleşmeleri dışarıda bırakır. Ayrıca geçmiş tarihlerde henüz mevcut olmayabilecek piyasalara erişim sağlar.

Hasarı fark etmek kolay değildir: Başarısız olan varlıklar örneklemden silindiği için strateji daha istikrarlı görünür. Örneğin bir momentum kuralı bugünkü 50 piyasada mükemmel sonuç verebilir; oysa geçmişteki sürümü, sonradan çöken veya işlem gördüğü borsadan çıkarılan varlıklara defalarca ağırlık vermiş olabilir. Sonucu bilerek seçilmiş bir portföyü test etmiş olursunuz.

Üyeliği tarih damgalı bir kayıt olarak oluşturun. Her varlık için ne zaman uygun hâle geldiğini, ne zaman uygunluğunu yitirdiğini ve nedenini izleyin. Her yeniden dengelemede kuralları yalnızca o tarihte mevcut bilgilere göre uygulayın. Bir piyasa, gerçekten listelendikten ve gereken ısınma süresi geçtikten sonra evrene girmelidir. Borsadan çıkarılırsa son pozisyonu için tanımlı bir çıkış veya uzlaşma yöntemi bulunmalıdır; o piyasanın satırlarını silmek bir çıkış kuralı değildir.

2. hata: Karar anından sonraki verilerle ölçülmüş bir istatistiğe göre sıralamak

Tarihsel bir evren bile, üyelik kuralı gelecekte tamamlanacak bir zaman aralığını kullanıyorsa bilgi sızdırabilir. “Her ay en likit 20 hisseyi işlem gör” kulağa makul gelir; ta ki likidite, stratejinin işlem yapacağı ayın tamamı kullanılarak sıralanana kadar.

İşlemleri ayın ilk gününde yeniden dengelediğinizi düşünün. O ayın ortalama dolar hacmine göre sıralama yapmak, 1. günde hangi varlıkların koşulları karşıladığına karar verirken fark ettirmeden sonraki 3 haftayı kullanır. Hasar genellikle olağanüstü iyi bir kapasite gibi görünür: Strateji, ayın ilerleyen günlerinde likiditesi düşen varlıklardan kaçınır; oysa pozisyona girerken bunu bilmesi mümkün değildir.

Ölçüm kesim zamanını seçim anından önce belirleyin. Ayın ilk seansında yapılan aylık yeniden dengelemede, sıralamayı önceki seansta sona eren, tamamlanmış son 20 seansa göre yapabilirsiniz. Ardından emir iletimindeki gecikmeyi açıkça tanımlayın: Sıralama dünkü kapanış fiyatını kullanıyorsa, varsaydığınız iş akışında emir bugün açılışta iletilebilir mi?

Seçim kuralıTarihsel anlık veriyle uyumlu sürümSık görülen bilgi sızıntısı
Dolar hacmine göre ilk 20Yeniden dengelemeden önce sona eren tamamlanmış seanslara göre sıralaYeniden dengeleme gününü veya ayını hesaba katmak
Borsada listelenmiş olmaYürürlükteki listeleme ve borsa dışına çıkarılma zamanlarını kullanGeçmiş tarihler için güncel bir sembol uç noktası kullanmak
Asgari geçmişSeçim anına kadar mevcut gözlemleri sayFiltreyi geçmek için gelecekte de varlığını sürdürmesini şart koşmak

3. hata: Eksik geçmişi, varlığın o tarihte uygun olmadığının kanıtı saymak

Bir veri sağlayıcısının arşivi, geçmiş piyasanın eksiksiz kaydı olmayabilir. Bir sembolün eksik olması, varlığın hiç var olmadığı, borsanın adlandırma kuralını değiştirdiği, sağlayıcının borsadan çıkarılan araçları arşivinde tutmadığı veya veri akışında boşluk olduğu anlamına gelebilir. Bu olasılıkların sonuçları farklıdır.

Hasar, açıklanamayan boşlukları olan derli toplu bir evren olarak görünür. Araştırmacılar genellikle tam bir geriye bakış aralığı şartı koyup bu aralığa sahip olmayan her şeyi sessizce dışarıda bırakır. Bu makul bir ısınma kuralı olabilir; ancak yeni listelenmiş varlıkları da tasarım gereği eler. Daha da kötüsü, başarısız piyasaların geçmiş verileri daha sık eksikse “yalnızca tam veri” şartı bir başka hayatta kalma filtresine dönüşür.

Uygunluğu, veri mevcudiyetini ve stratejinin ısınma süresini ayrı olgular olarak kaydedin. Her tarihte bir varlığın neden dışlandığını belirtin. Eksik veriyi sessizce silmek yerine araştırma kaydında koruyun. Kaynak, bir piyasanın listelenmiş veya işlem yapılabilir olup olmadığını doğrulayamıyorsa bunu açıkça belirtin ve sonucun bu belirsizliğe ne ölçüde bağlı olduğunu ölçün.

Evreni yeniden üretilebilir kılın

Yararlı bir denetim, geçmişteki tek bir yeniden dengeleme anıyla başlar. O andaki tarih damgalı listeleme ve verilerden aday listesini yeniden oluşturun. Sıralama girdilerini yalnızca tamamlanmış gözlemleri kullanarak yeniden hesaplayın. Ardından ortaya çıkan üyelik listesini, geriye dönük testinizin gerçekten kullandığı listeyle karşılaştırın.

Kuralı, kesim zamanını, üyelik kararlarını ve kaynak sürümünü çalıştırmanın yanında saklayın. Belirli bir tarihte bir varlığın neden girdiğini, diğerinin neden dışarıda kaldığını açıklayamıyorsanız stratejinin bir avantaj keşfedip keşfetmediğini ya da geleceğe göre şekillenmiş bir örneklemi miras alıp almadığını henüz söyleyemezsiniz.

Evren hataları kendilerini nadiren imkânsız fiyatlarla belli eder. Genellikle, elverişsiz hâle gelen piyasalardan tesadüfen kaçınmış gibi duran bir stratejide ortaya çıkarlar.

hayatta kalma yanlılığıtarihsel anlık verilerevren oluşturmageriye dönük test
← Tüm yazılar