Bir saatlik grafikte gece yarısı ile sabah üç arasında hiç mum yok. Grafikte bu bir boşluk olarak görünmüyor; iki mum yan yana çizildiği için göz aradaki üç saati fark etmiyor. Gösterge de fark etmiyor, ve yirmi periyotluk bir ortalama sessizce yirmi üç saatlik bir pencereyi ölçüyor.
Boşluğun üç sebebi
Üçü farklı şeyler, ele alınışları da farklı.
Bakım penceresi. Borsa planlı bakıma giriyor, o süre boyunca hiç işlem olmuyor ve pencere genellikle önceden duyurulduğu için düzenli bir saatte tekrarlanıyor. Tahmin edilebilir olan tek boşluk türü bu.
İşlem olmaması. Likiditesi düşük bir varlıkta o periyotta hiç alım satım gerçekleşmiyor. Piyasa açık, defter duruyor, işlem yok. Boşluk burada bir hata değil, bilginin kendisi.
Veri sağlayıcı kaybı. Bağlantı koptu, toplayıcı çöktü, geçmiş veri eksik indirildi. Bu üçüncü grup en tehlikelisi, çünkü diğer ikisinden ayırt etmenin doğrudan bir yolu yok.
Doldurmanın yanıltıcı yolu
Çoğu araç boşlukları “önceki kapanışla doldur” seçeneğiyle kapatıyor. Grafik düzgün görünüyor ve veri artık kesintisiz.
Sorun şu: doldurulan mumların hacmi sıfır, fiyatı sabit, oynaklığı yok. Bir oynaklık göstergesi bu bölgeyi son derece sakin okuyor, stratejin tam orada pozisyon açıyor ve bakım sonrası ilk gerçek mum geldiğinde fiyatın çoktan hareket ettiğini görüyorsun.
Doldurmak bir seçim. Seçtiğinde, göstergelerin o dönemi nasıl gördüğünü de birlikte kabul etmiş oluyorsun.
Backtest tarafındaki etkisi
Geçmiş veride boşluk varsa test o dönemi hiç olmamış sayıyor ve sonuç iki ayrı yönde birden bozuluyor.
Birincisi, bakım pencerelerinde ve kesintilerde gerçekleşen fiyat sıçramaları teste hiç girmiyor. Testte gördüğün maksimum düşüş bu yüzden olduğundan sığ çıkıyor.
İkincisi, periyot sayısına dayalı her gösterge kayıyor: yirmi mumluk bir ortalama, boşluklu bir seride artık yirmi saatin ortalaması olmuyor ve kaç saati kapsadığını yalnızca zaman damgalarına bakarak öğrenebiliyorsun.
Ne yapılmalı
Boşlukları say, gizleme. Veri yüklerken beklenen periyot sayısı ile gerçek periyot sayısını karşılaştır, ve fark önceden belirlediğin eşiği aşıyorsa o dönemi teste hiç sokma.
Bakım saatlerini listele. Çalıştığın borsaların bakım pencereleri belli. Bunları bir listede tut ve o saatlerdeki boşlukları veri kaybı saymaktan çıkar.
Canlıda boşluğu bir sinyal olarak oku. Bot beklediği mumu alamadıysa strateji hesaplamayı ertelemeli, çünkü eksik veriyle hesaplanmış bir gösterge hiç hesaplanmamış bir göstergeden daha tehlikeli sonuç üretiyor. Sessizce yanlış cevap veriyor.
Tek satırlık kontrol
Her veri yüklemesinden sonra ilk ve son zaman damgası arasındaki fark ile mum sayısını karşılaştır. İkisi tutmuyorsa seride boşluk var.
Kontrol bir saniye sürüyor ve backtest sonuçlarını en sessiz biçimde bozan sebebi ortadan kaldırıyor.



