GLADIOGLADIOTrading

Trading Systems & Data2 / 6

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.

Advanced 10 min
GGLADIO
Veri kalitesi: boşluklar, ayarlamalar ve saat dilimi
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:

  1. Mum sayısı beklenene yakın mı; 30 dakikadan uzun boşluklar listelendi mi?
  2. ATR'nin 5 katını aşan aralıklı mumlar incelendi mi?
  3. Saat dilimi doğrulandı mı (haftalık kapanış cuma NY 17:00)?
  4. Vadelide ayarlama türü biliniyor mu; referans seviyeleri için ayarsız seri var mı?
  5. Hissede bölünme/temettü ayarı ve delist kapsamı biliniyor mu?
  6. 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.

Related guides

All topics
Otomasyon: uyarılar, yarı otomatik ve tam otomatik
Trading Systems & DataIntermediate

Otomasyon: uyarılar, yarı otomatik ve tam otomatik

Otomasyon, ya hep ya hiç değildir. Dört kademe (uyarı, yarı otomatik, denetimli otomatik, tam otomatik), her birinin kimin için olduğu, hangi kuralların otomatikleştirilebileceği, adım adım geçiş ve otomasyonun geri getirmediği şey.

9 min
Piyasa verisi kaynakları: tick, dakika ve günlük
Trading Systems & DataIntermediate

Piyasa verisi kaynakları: tick, dakika ve günlük

Hangi veri hangi iş için: tick, dakikalık ve günlük verinin farkları, ücretsiz ve ücretli kaynaklar (döviz, vadeli, kripto, hisse), borsa veri ücretleri, gecikmeli veri tuzağı ve veriyi nasıl saklıyoruz.

9 min
Algoritmik trading'e giriş: Python ile ilk adımlar
Trading Systems & DataAdvanced

Algoritmik trading'e giriş: Python ile ilk adımlar

Sıfırdan ilk çalışan sistem: kurulum, veri çekme, basit bir stratejiyi kodlama, test etme, kâğıt işlem ve canlıya bağlama. Hangi kütüphaneler, hangi sırayla, hangi hatalar; ve kod yazmayı bilmeyenler için gerçekçi yol.

10 min