Veri kalitesi: boşluklar, ayarlamalar ve saat dilimi
Kirli veriyle yapılan test, temiz görünen yanlış sonuç verir. Eksik mumlar ve boşluklar, sıçrayan fiyatlar, vadeli sürekli sözleşme ayarlaması, hisse bölünme/temettü, saat dilimi ve yaz saati, bid/ask/orta fiyat farkı ve bir kalite kontrol listesi.

Contents7 headings
Veri kaynakları rehberinde veriyi nereden alacağınızı anlattık. Aldığınız veri, büyük olasılıkla kusurludur; ve kusur, backtest'i sessizce bozar. Sonuç yanlış olur ama yanlış görünmez. Bu rehber, en sık görülen veri sorunlarını ve her testten önce yaptığımız kontrolleri anlatıyor.
Eksik mumlar ve boşluklar
Dakikalık veride bazı dakikaların olmaması normaldir: o dakikada işlem olmamışsa (Asya seansında bazı çiftlerde, düşük hacimli sözleşmelerde) mum oluşmaz. Anormal olan, işlem olması gereken saatlerde uzun boşluklardır: sağlayıcının bağlantı kesintisi, sunucu bakımı. Boşluk, göstergeleri (ortalama, ATR) kaydırır ve stratejinin o saatlerde işlem yapması gereken yerde "veri yok" der.
Kontrol: beklenen mum sayısıyla gerçek mum sayısını karşılaştırın. Bir günde 1.440 dakika, döviz için piyasa açık saatlerde ~1.380 mum beklenir; 1.100 geliyorsa boşluk var demektir. Boşlukları listeleyin; birkaç dakikalıklar önemsiz, 30 dakikadan uzunlar işaretlenir ve o dönemler testten çıkarılır ya da başka kaynakla doldurulur.
Sıçrayan fiyatlar
Bazı veri setlerinde tek bir mumun en yüksek/en düşüğü, komşularından yüzde birlerce sapar: kötü tick, test emri, sağlayıcı hatası. Bu tek mum, stratejide bir stop'u ya da hedefi "tetiklemiş" görünür; tek bir hatalı tick, yıllık sonucu birkaç R oynatabilir. Kontrol: mumun aralığını (yüksek − düşük) ATR ile karşılaştırın; ATR'nin 5 katından büyük aralıklı mumları listeleyin ve o dakikada gerçekten bir şey olup olmadığına (haber, flaş çöküş) bakın. Olmadıysa mum düzeltilir (komşuların değerine çekilir) ya da atılır.
Tersine, gerçek olağan dışı hareketleri (2015 İsviçre frangı, 2010 flaş çöküş, 2024 Ağustos yen) silmeyin; strateji onlarla da yaşayacaktır.
Vadeli sözleşmeler: sürekli sözleşme
Vadeli sözleşmeler üç ayda bir (endeksler) ya da her ay (petrol, bazı emtialar) vadesini doldurur. Backtest için sözleşmeler arka arkaya eklenip "sürekli" bir seri yapılır; ama yeni sözleşme eski sözleşmeden farklı fiyatta işlem görür (taşıma maliyeti, temettü, faiz). Ekleme noktasında yapay bir sıçrama oluşur ve stratejiniz o sıçramayı "hareket" sanır.
Çözüm, geriye dönük ayarlama (back-adjustment): eski sözleşmelerin fiyatı, geçiş farkı kadar kaydırılır; seri süreklidir ama tarihsel mutlak fiyatlar gerçek değildir (2015'te "negatif" petrol fiyatı görebilirsiniz). Yüzde bazlı stratejiler için oran ayarlaması (ratio-adjusted) tercih edilir. Hangi ayarlamanın yapıldığını sağlayıcıdan öğrenin; TradingView'de sürekli semboller (ES1!, NQ1!) ayarlama seçeneğini grafik ayarlarında sunar. Referans seviyeleri (önceki gün zirvesi gibi) için ayarsız gerçek sözleşme fiyatı gerekir; iki seriyi karıştırmayın.
Bir de geçiş günü: hacim eski sözleşmeden yenisine hangi gün geçiyor? Sürekli seri, hacim geçişinde ya da vade dolumunda geçiş yapabilir; strateji vade haftasında farklı davranıyorsa sebep bu olabilir.
Hisse: bölünme ve temettü
Hisse 2'ye bölününce fiyat yarıya iner; ayarlanmamış veride %50 "düşüş" görürsünüz. Temettü ödemesinde de fiyat temettü kadar düşer. Sağlayıcıların çoğu bölünme ayarlı, bir kısmı temettü ayarlı veri verir; hangisini kullandığınızı bilin. Uzun vadeli getiri testinde temettü ayarlı, gün içi testte bölünme ayarlı yeterli. Ayrıca delist edilen hisseleri içeren veri seti (hayatta kalma yanlılığı) hisse stratejileri için şarttır; ucuz sağlayıcıların çoğu bunu vermez.
Saat dilimi ve yaz saati
En sinsi hata. Sağlayıcının verisi UTC mi, New York mu, broker sunucu saati mi (MetaTrader brokerlarının çoğu GMT+2/+3 kullanır ve yaz saatiyle değişir)? "Londra 10:00 açılışı" kuralı, yanlış saat dilimindeki veride 09:00 ya da 11:00'e kayar ve seans stratejisi anlamsızlaşır. Günlük mumun sınırı da buna bağlıdır: New York 17:00 kapanışına göre çizilen günlük mum ile UTC 00:00'a göre çizilen, farklı zirve ve dip verir.
Kural: veriyi UTC'de saklayın, stratejide seansı yerel saate açıkça dönüştürün ve yaz saati geçişlerini hesaba katın (Türkiye yaz saati uygulamaz; Londra ve New York uygular; aradaki fark yılda iki kez değişir). Bir kontrol: verideki haftalık kapanışın cuma New York 17:00'ye denk gelip gelmediğine bakın; gelmiyorsa saat dilimi kaymıştır.
Bid, ask, orta
Döviz verisinde hangi fiyat var? Bazı kaynaklar bid, bazıları orta fiyat, çok azı bid ve ask ayrı. Yalnızca bid ile yapılan testte alış işlemlerinin girişi ve çıkışı spread kadar iyimserdir. Orta fiyatla testte spread'i maliyet olarak ayrıca eklemek gerekir. Bid/ask ayrı olan veri en doğrusudur ama nadirdir. Hangisi olursa olsun, maliyet varsayımınızı buna göre yazın.
Kalite kontrol listesi
Her yeni veri setinde, test öncesi:
- Mum sayısı beklenene yakın mı; 30 dakikadan uzun boşluklar listelendi mi?
- ATR'nin 5 katını aşan aralıklı mumlar incelendi mi?
- Saat dilimi doğrulandı mı (haftalık kapanış cuma NY 17:00)?
- Vadelide ayarlama türü biliniyor mu; referans seviyeleri için ayarsız seri var mı?
- Hissede bölünme/temettü ayarı ve delist kapsamı biliniyor mu?
- Fiyat türü (bid/ask/orta) ve buna göre maliyet varsayımı yazıldı mı?
Bu liste on dakika sürer; atlanmış tek bir madde, haftalarca süren yanlış bir test olur. Veri temizliği trading'in en sıkıcı işi; aynı zamanda backtest sonucuna güvenebilmenin tek yolu.


