En dürüst slippage modeli çoğu zaman bilerek yanlıştır. Kaba tarihsel verilerden tek ve kesin bir gerçekleşme maliyeti bildiren bir backtest, verilerin destekleyemeyeceği bir iddiada bulunur.
Bu, kaba varsayımları savunmak gibi gelebilir. Oysa tam tersi: Açıklayabileceğiniz basit bir model kullanın, sonra modelin kendi içinde çelişmesine izin verin. Bir strateji yalnızca işine gelen tek bir gerçekleşme tahminiyle çalışıyorsa, belirsizlik de sonucun bir parçasıdır.
Kesin bir slippage tahmini neden yanıltıcı olabilir?
Elinizde 1 dakikalık OHLCV mumları olduğunu ve 2,000 hisse için piyasa emri gönderdiğinizi varsayalım. Mum size 1 dakika içindeki fiyat aralığını ve toplam hacmi gösterir. Emriniz geldiğinde alış ve satış fiyatlarının ne olduğunu, önünüzde kuyrukta kaç emir bulunduğunu, hacmin dakika boyunca nasıl dağıldığını ya da emrinizin bunun ne kadarını tüketeceğini göstermez.
Yine de slippage için bir değer belirleyebilirsiniz. Emri, sonraki mumun açılış fiyatından sabit bir baz puan maliyet ekleyerek gerçekleştirebilir veya maliyeti emir büyüklüğünün mum hacmine oranına göre ölçekleyebilirsiniz. Bunlar işe yarar yaklaşıklardır; gözlem değildir. Sonucu “slippage: 3.2 baz puan” diye raporlamak, model tercihini ölçüm gibi gösterir.
Somut bir örnek verelim: Bir strateji, sonraki mumdaki hacmi $400,000 olan bir hissede emir başına $20,000 işlem yapıyor. Katılım oranı %5. 2 baz puan ücret alan bir modelde emir başına maliyet $4; 10 baz puan alan modeldeyse $20 olur. 500 gidiş dönüş işlemde komisyonlar hariç fark $16,000’a ulaşır. Stratejinin backtest’teki brüt kârı $18,000 ise, gerçekleşme varsayımının etkisi sinyalinki kadar büyüktür.
Verilerinizin görebildiklerini yansıtan bir aralık oluşturun
Stratejinin emir türüne ve verinin çözünürlüğüne uygun bir temel varsayımla başlayın. Piyasa emri için spread ve piyasa etkisi gerekir. Limit emri içinse emrin gerçekleşip gerçekleşmeyeceğine dair bir kural gerekir; fiyatın değdiği her emrin gerçekleştiğini varsaymak da ayrı bir gerçekleşme hatasıdır.
Ardından aynı backtest’i birkaç açık senaryoyla çalıştırın. Değişimleri gerçekleşmeye bağlayabilmek için sinyali, pozisyon büyüklüğünü ve zaman damgalarını sabit tutun:
| Senaryo | Gerçekleşme varsayımı | Sınadığı nokta |
|---|---|---|
| Olumlu | Temel spread ve düşük piyasa etkisi | Strateji elverişli işlem koşullarına ne kadar bağlı? |
| Temel | Tipik spread ve katılım oranına göre ölçeklenen piyasa etkisi | Seçilen çalışma varsayımı ne gösteriyor? |
| Olumsuz | Daha geniş spread, daha yüksek piyasa etkisi ve gecikmeli gerçekleşme | Avantaj, piyasanın makul ölçüde zorlaştığı koşullarda sürüyor mu? |
İstatistiksel olarak kalibre etmediyseniz bunlar güven aralıkları değildir; senaryo testleridir. Raporda ne anlama geldiklerini açıklayın. Olasılıkları destekleyen kanıtınız olmadan bu sonuçları, uydurma bir “beklenen slippage” değerinde ortalamayın.
Modeli emre göre şekillendirin
Sabit bir baz puan ücreti, küçük emirler için iyi bir ilk yaklaşım olabilir. Katılım oranı arttıkça bu yaklaşım yetersiz kalır. En azından emir nominal değerini, kullanılabilir mum hacmini ve katılım oranını kaydedin. Strateji vadeli işlem yapıyorsa sözleşme değerini ve ilgili hacim birimlerini; spot kripto işlem yapıyorsa kotasyon para birimini ve işlem yerini açıkça belirtin.
Basit bir piyasa etkisi eğrisi, emir defterini taklit ettiğini öne sürmeden kapasite baskısını görünür kılabilir. Örneğin maliyeti, temel bir spread ücretine katılım oranının kareköküyle büyüyen bir piyasa etkisi terimi ekleyerek tanımlayın. Parametrelerini yalnızca uygun gerçekleşme verileriniz varsa ayarlayın. Yoksa parametreleri değiştirip sonucun ne kadar hızlı kötüleştiğini gösterin.
Gerçekleşme modelinin stratejiyi sessizce kurtarmasına da izin vermeyin. Keskin bir yükselişten sonra gelen uzun sinyal, sırf mumun içinde diye mumun en düşük fiyatından gerçekleşmemeli. Nedensel bir gerçekleşme kuralı belirleyin, ardından fiyatı zorlayın ve gerçekleşmeyi geciktirin. Geciken bir emir hareketi kaçırırsa bu, üstünü düzeltip geçilecek bir pürüz değil, gerçekleşme sonucudur.
İşe yarar bir soru: Net performans hangi spread, piyasa etkisi, gecikme veya katılım oranında sıfıra iner? Bu başa baş noktası çoğu zaman tek bir backtest Sharpe değerinden daha kullanışlıdır.
Aralığı daraltmak için paper trading kullanın
Paper trading, canlı bir eşleştirme motorunda emrinizin hangi fiyattan gerçekleşeceğini göstermez. Yine de backtest’teki emir akışının sistemin gerçek kararlarına benzeyip benzemediğini gösterebilir: emirlerin ne zaman üretildiğini, ne büyüklükte olduklarını ve ne kadar süre işlem yapılabilir durumda kaldıklarını.
Simüle edilen emir fiyatını aynı andaki kotasyonlarla veya paper trading sisteminizin kaydettiği piyasa verileriyle karşılaştırın. Farkı enstrümana, günün saatine, emir büyüklüğüne ve emir türüne göre takip edin. Bu gözlemler, o kurulum için varsayımları daraltabilir. Farklı bir işlem yerine, piyasa rejimine veya daha büyük bir emre kendiliğinden uygulanamazlar.
Eleştirenler, kötümser senaryoların keyfî olabileceğini söylerken haklı. Bilerek sert bir model, uygulanabilir bir stratejiyi eleyebilir; tıpkı elverişli bir modelin zayıf bir stratejiyi olduğundan iyi gösterebilmesi gibi. Bu yüzden en sert senaryoyu gerçek kabul etmeyin. Varsayımları yayımlayın, hassasiyeti gösterin ve tahminleri kalibre edilmiş değerlerle değiştirmek için gereken verileri toplayın.
Bir backtest, geçmişte mum üzerinden kuyruktaki konumunuzu bilemez. Fikrinizin, verilerinizin dışlayamadığı biçimlerde gerçekleşme koşulları kötüleştiğinde hâlâ tutarlı görünüp görünmediğini gösterebilir. Bu, ondalık basamaktan daha yararlı bir yanıttır.
← Tüm yazılar


