22 aydır BIST için bir sistem geliştiriyoruz; adayları buluyor ama gerçek ve kalıcı kazancı kanıtlayamıyoruz. Nerede yanlış yapıyoruz?

 
Giriş



Yaklaşık 22 aydır yalnız Borsa İstanbul için çalışan bir sistem geliştiriyoruz. Sistemin adı AVCI. Gerçek zamanlı özel veri veya başka ülke piyasası kullanmıyor. Yalnız karar verdiğimiz anda elimizde bulunan gecikmeli BIST verileriyle çalışıyor. Otomatik emir vermiyor; günün verilerini inceleyerek adayları buluyor, karşılaştırıyor ve az sayıda hisseyi öne çıkarmaya çalışıyor.



Bugüne kadar aynı amaç için 19 farklı sistem yapısı kurduk. Bunlar küçük ayar değişiklikleri değildi. Her seferinde aday seçimi, piyasa koşulları, sektör hareketi, risk, bekleme süresi, para dağılımı ve sonuç ölçümü gibi temel parçalar yeniden ele alındı.



Bugünkü AVCI sürümü 20 ana bölüm ve bunlara bağlı 23 yardımcı dosyadan oluşuyor. Sistem gecikmeli veriyi topluyor, veride hata veya eksik olup olmadığını kontrol ediyor, hissenin kendi hareketini inceliyor, piyasa ve sektörle karşılaştırıyor, geçmişteki benzer durumları arıyor ve geniş bir aday grubu oluşturuyor. Daha sonra kendi İz–Koku–DNA adını verdiğimiz katmanlarla adayları daraltıyor, risklerini inceliyor, sıralıyor ve karar kaydı oluşturuyor.



Yani elimizde yalnız birkaç gösterge kullanan basit bir hisse tarayıcı yok. Veri toplama, kontrol, aday bulma, geçmiş karşılaştırma, risk inceleme ve sonuç ölçme tarafları bulunan büyük bir araştırma sistemi var.



Gelişme



Başlangıçta sorunun veri eksikliği olduğunu düşündük. Daha fazla günlük veri topladık, gerçek bir dakikalık BIST verilerini inceledik, piyasa ve sektör bilgilerini ekledik, geçmiş benzerliklerini araştırdık. Adayların birbirinden ayrılması için çok sayıda yöntem denedik.



Bugün sistem güçlü görünen adaylardan oluşan bir havuz bulabiliyor. Fakat asıl sorun burada başlıyor:



Sistem güçlü adayları görüyor gibi görünmesine rağmen, bunların içinden seçilen birinci, ikinci veya üçüncü hissenin farklı dönemlerde düzenli biçimde para kazandırdığını kanıtlayamıyoruz.



Bazı denemelerde birinci aday iyi sonuç veriyor, fakat başka bir dönemde aynı yöntem bozuluyor. İlk üç hisseye eşit para dağıttığımızda düşüş azalıyor ama kazanç da zayıflıyor. Daha uzun beklediğimizde bazı büyük hareketler yakalanıyor fakat başka dönemlerde ağır kayıplar oluşuyor. Daha sık hisse değiştirdiğimizde işlem masrafları kazancı tüketiyor. Daha az değiştirdiğimizde ise yeni fırsatlar kaçıyor.



Zararı erken kesme yöntemlerini denedik. Hisselerin önemli bir kısmı önce düştüğü, sonra yükseldiği için erken çıkış kazanan hisseleri de kapattı. Bir dakikalık hareketle giriş doğrulaması aradık; bu da sorunu kalıcı biçimde çözmedi. Sektör, piyasa durumu, oynaklık, puan farkı, adayın masrafı aşma ihtimali, farklı tutma süreleri ve farklı para dağıtımları da incelendi.



Sürekli aynı durumla karşılaştık:



Kazancı artıran yöntem düşüşü büyütüyor.

Düşüşü azaltan yöntem kazancı yok ediyor.

Bir dönemde çalışan yöntem başka dönemde bozuluyor.

Güzel görünen sonuçlar bazen birkaç büyük güne veya birkaç hisseye dayanıyor.

Masraflar eklendiğinde özellikle zayıf dönemlerde üstünlük kayboluyor.



Daha büyük bir sorun da şu: Aynı geçmiş günler üzerinde binlerce fikir ve deneme gördük. Bu nedenle geçmişte bulunan güzel bir sonucun gerçek bir üstünlük mü, yoksa çok fazla denemenin içinden tesadüfen çıkan güzel bir sonuç mu olduğunu artık kolayca ayıramıyoruz.



Nitekim geçmişte güçlü görünen bazı sonuçlar daha sonra iptal edildi. Bazen yanlış alım-satım süresi ölçülmüş, bazen şirket bölünmesi veya temettü gibi bir olay para hesabına doğru yansımamış, bazen ayrı bir araştırma çalışmasının sonucu ana AVCI sisteminin başarısı sanılmıştır. Son bildirilen yüksek kazanç sonucu da yanlış anlaşılmadan kaynaklandığı için tamamen iptal edildi.



Bir başka açık ise gerçek para kaydıdır. Geçmişteki her karar için gerçekten kaç adet alınabileceğini, emrin hangi fiyattan gerçekleşeceğini, satışın hangi fiyattan yapılacağını, bütün masrafları ve toplam paranın gün gün nasıl değiştiğini içeren eksiksiz bir kayıt bulunmuyor.



Günlük veride görülen açılış fiyatı, bizim emrimizin aynı fiyattan gerçekleşeceğini kanıtlamıyor. Bir dakikalık verinin önemli bir bölümü de karar verilen güne ait; ertesi günkü gerçek alımın nasıl gerçekleşeceğini tek başına göstermiyor. Bu nedenle kâğıt üzerinde görünen bir kazancın gerçek işlemde aynı kalacağından emin olamıyoruz.



Şu anda üç ihtimali birbirinden ayıramıyoruz:



Birincisi, gecikmeli BIST verilerinde bütün masrafları aşacak kadar güçlü ve kalıcı bir üstünlük gerçekten olmayabilir.



İkincisi, gerçek bir üstünlük olabilir; fakat aday sıralaması, para dağılımı, tutma süresi, değiştirme sıklığı veya risk yönetimi sırasında kayboluyor olabilir.



Üçüncüsü, sistem kâğıt üzerinde bir üstünlük buluyor olabilir; fakat gerçek alış-satış, işlem masrafı, alınabilecek miktar ve şirket işlemleri hesaba girince bu üstünlük gerçekte ortadan kalkıyor olabilir.



Asıl tıkandığımız yer budur. Yeni veri eklemek, yeni bir gösterge bulmak veya yirminci sistemi kurmak istemiyoruz. Önce bu üç ihtimalden hangisinin gerçek olduğunu kesin biçimde ayırmak istiyoruz.



Sonuç



Biz hisse önerisi, hazır alım-satım yöntemi veya birkaç yeni gösterge aramıyoruz. “Şu modeli kullanın, şu göstergeyi ekleyin” şeklinde hızlı cevaplar da aramıyoruz. Bunların çok sayıda farklı biçimini zaten denedik.



Aradığımız kişi veya ekip, sistemi zaman ayırarak anlayabilecek ve şu soruları bizimle birlikte cevaplayabilecek biri olmalı:



AVCI’nin verilerinde gerçek bir para üstünlüğü var mı?

Varsa bu üstünlük sistemin hangi aşamasında kayboluyor?

Yoksa geçmişte görülen sonuçlar yalnızca çok fazla denemenin oluşturduğu sahte başarılar mı?

Bunu, sonucu görmeden önce kuralları yazılmış ve sonradan değiştirilemeyecek hangi sınama kesin biçimde ayırabilir?



Olumsuz bir sonuçtan kaçmıyoruz. Belirlediğimiz şartlarda gecikmeli veriyle kalıcı bir üstünlük bulunmadığı ortaya çıkarsa, bu da bizim için değerli ve dürüst bir sonuç olacaktır. Amacımız başarısız bir sistemi başarılı göstermek değil; gerçekten çalışan bir damar varsa onu bulmak, yoksa neden bulunamadığını kesinleştirmektir.



Bu nedenle birkaç yorumdan çok, sistemi sabırla inceleyebilecek araştırmacılar, yüksek lisans veya doktora öğrencileri, bağımsız nicel araştırmacılar ve gerçek işlem koşulları konusunda deneyimli kişiler arıyoruz.



Ciddi biçimde ilgilenen kişilerle önce sistemin kısa ve kimliği gizlenmiş açıklamasını paylaşabiliriz. Özel seçim kuralları, kaynak kodun tamamı ve paylaşım hakkı olmayan ham veriler açık forumda yayımlanmayacaktır.



Buradaki temel sorumuz şudur:



Bu kadar büyük bir araştırma altyapısı güçlü adayları bulabiliyor gibi görünmesine rağmen, neden bu gücü farklı dönemlerde tekrarlanabilir, uygulanabilir ve bütün masraflardan sonra kalan gerçek para kazancına çeviremiyoruz?
 
Nihat GÜNER:
Giriş



Yaklaşık 22 aydır yalnız Borsa İstanbul için çalışan bir sistem geliştiriyoruz. Sistemin adı AVCI. Gerçek zamanlı özel veri veya başka ülke piyasası kullanmıyor. Yalnız karar verdiğimiz anda elimizde bulunan gecikmeli BIST verileriyle çalışıyor. Otomatik emir vermiyor; günün verilerini inceleyerek adayları buluyor, karşılaştırıyor ve az sayıda hisseyi öne çıkarmaya çalışıyor.



Bugüne kadar aynı amaç için 19 farklı sistem yapısı kurduk. Bunlar küçük ayar değişiklikleri değildi. Her seferinde aday seçimi, piyasa koşulları, sektör hareketi, risk, bekleme süresi, para dağılımı ve sonuç ölçümü gibi temel parçalar yeniden ele alındı.



Bugünkü AVCI sürümü 20 ana bölüm ve bunlara bağlı 23 yardımcı dosyadan oluşuyor. Sistem gecikmeli veriyi topluyor, veride hata veya eksik olup olmadığını kontrol ediyor, hissenin kendi hareketini inceliyor, piyasa ve sektörle karşılaştırıyor, geçmişteki benzer durumları arıyor ve geniş bir aday grubu oluşturuyor. Daha sonra kendi İz–Koku–DNA adını verdiğimiz katmanlarla adayları daraltıyor, risklerini inceliyor, sıralıyor ve karar kaydı oluşturuyor.



Yani elimizde yalnız birkaç gösterge kullanan basit bir hisse tarayıcı yok. Veri toplama, kontrol, aday bulma, geçmiş karşılaştırma, risk inceleme ve sonuç ölçme tarafları bulunan büyük bir araştırma sistemi var.



Gelişme



Başlangıçta sorunun veri eksikliği olduğunu düşündük. Daha fazla günlük veri topladık, gerçek bir dakikalık BIST verilerini inceledik, piyasa ve sektör bilgilerini ekledik, geçmiş benzerliklerini araştırdık. Adayların birbirinden ayrılması için çok sayıda yöntem denedik.



Bugün sistem güçlü görünen adaylardan oluşan bir havuz bulabiliyor. Fakat asıl sorun burada başlıyor:



Sistem güçlü adayları görüyor gibi görünmesine rağmen, bunların içinden seçilen birinci, ikinci veya üçüncü hissenin farklı dönemlerde düzenli biçimde para kazandırdığını kanıtlayamıyoruz.



Bazı denemelerde birinci aday iyi sonuç veriyor, fakat başka bir dönemde aynı yöntem bozuluyor. İlk üç hisseye eşit para dağıttığımızda düşüş azalıyor ama kazanç da zayıflıyor. Daha uzun beklediğimizde bazı büyük hareketler yakalanıyor fakat başka dönemlerde ağır kayıplar oluşuyor. Daha sık hisse değiştirdiğimizde işlem masrafları kazancı tüketiyor. Daha az değiştirdiğimizde ise yeni fırsatlar kaçıyor.



Zararı erken kesme yöntemlerini denedik. Hisselerin önemli bir kısmı önce düştüğü, sonra yükseldiği için erken çıkış kazanan hisseleri de kapattı. Bir dakikalık hareketle giriş doğrulaması aradık; bu da sorunu kalıcı biçimde çözmedi. Sektör, piyasa durumu, oynaklık, puan farkı, adayın masrafı aşma ihtimali, farklı tutma süreleri ve farklı para dağıtımları da incelendi.



Sürekli aynı durumla karşılaştık:



Kazancı artıran yöntem düşüşü büyütüyor.

Düşüşü azaltan yöntem kazancı yok ediyor.

Bir dönemde çalışan yöntem başka dönemde bozuluyor.

Güzel görünen sonuçlar bazen birkaç büyük güne veya birkaç hisseye dayanıyor.

Masraflar eklendiğinde özellikle zayıf dönemlerde üstünlük kayboluyor.



Daha büyük bir sorun da şu: Aynı geçmiş günler üzerinde binlerce fikir ve deneme gördük. Bu nedenle geçmişte bulunan güzel bir sonucun gerçek bir üstünlük mü, yoksa çok fazla denemenin içinden tesadüfen çıkan güzel bir sonuç mu olduğunu artık kolayca ayıramıyoruz.



Nitekim geçmişte güçlü görünen bazı sonuçlar daha sonra iptal edildi. Bazen yanlış alım-satım süresi ölçülmüş, bazen şirket bölünmesi veya temettü gibi bir olay para hesabına doğru yansımamış, bazen ayrı bir araştırma çalışmasının sonucu ana AVCI sisteminin başarısı sanılmıştır. Son bildirilen yüksek kazanç sonucu da yanlış anlaşılmadan kaynaklandığı için tamamen iptal edildi.



Bir başka açık ise gerçek para kaydıdır. Geçmişteki her karar için gerçekten kaç adet alınabileceğini, emrin hangi fiyattan gerçekleşeceğini, satışın hangi fiyattan yapılacağını, bütün masrafları ve toplam paranın gün gün nasıl değiştiğini içeren eksiksiz bir kayıt bulunmuyor.



Günlük veride görülen açılış fiyatı, bizim emrimizin aynı fiyattan gerçekleşeceğini kanıtlamıyor. Bir dakikalık verinin önemli bir bölümü de karar verilen güne ait; ertesi günkü gerçek alımın nasıl gerçekleşeceğini tek başına göstermiyor. Bu nedenle kâğıt üzerinde görünen bir kazancın gerçek işlemde aynı kalacağından emin olamıyoruz.



Şu anda üç ihtimali birbirinden ayıramıyoruz:



Birincisi, gecikmeli BIST verilerinde bütün masrafları aşacak kadar güçlü ve kalıcı bir üstünlük gerçekten olmayabilir.



İkincisi, gerçek bir üstünlük olabilir; fakat aday sıralaması, para dağılımı, tutma süresi, değiştirme sıklığı veya risk yönetimi sırasında kayboluyor olabilir.



Üçüncüsü, sistem kâğıt üzerinde bir üstünlük buluyor olabilir; fakat gerçek alış-satış, işlem masrafı, alınabilecek miktar ve şirket işlemleri hesaba girince bu üstünlük gerçekte ortadan kalkıyor olabilir.



Asıl tıkandığımız yer budur. Yeni veri eklemek, yeni bir gösterge bulmak veya yirminci sistemi kurmak istemiyoruz. Önce bu üç ihtimalden hangisinin gerçek olduğunu kesin biçimde ayırmak istiyoruz.



Sonuç



Biz hisse önerisi, hazır alım-satım yöntemi veya birkaç yeni gösterge aramıyoruz. “Şu modeli kullanın, şu göstergeyi ekleyin” şeklinde hızlı cevaplar da aramıyoruz. Bunların çok sayıda farklı biçimini zaten denedik.



Aradığımız kişi veya ekip, sistemi zaman ayırarak anlayabilecek ve şu soruları bizimle birlikte cevaplayabilecek biri olmalı:



AVCI’nin verilerinde gerçek bir para üstünlüğü var mı?

Varsa bu üstünlük sistemin hangi aşamasında kayboluyor?

Yoksa geçmişte görülen sonuçlar yalnızca çok fazla denemenin oluşturduğu sahte başarılar mı?

Bunu, sonucu görmeden önce kuralları yazılmış ve sonradan değiştirilemeyecek hangi sınama kesin biçimde ayırabilir?



Olumsuz bir sonuçtan kaçmıyoruz. Belirlediğimiz şartlarda gecikmeli veriyle kalıcı bir üstünlük bulunmadığı ortaya çıkarsa, bu da bizim için değerli ve dürüst bir sonuç olacaktır. Amacımız başarısız bir sistemi başarılı göstermek değil; gerçekten çalışan bir damar varsa onu bulmak, yoksa neden bulunamadığını kesinleştirmektir.



Bu nedenle birkaç yorumdan çok, sistemi sabırla inceleyebilecek araştırmacılar, yüksek lisans veya doktora öğrencileri, bağımsız nicel araştırmacılar ve gerçek işlem koşulları konusunda deneyimli kişiler arıyoruz.



Ciddi biçimde ilgilenen kişilerle önce sistemin kısa ve kimliği gizlenmiş açıklamasını paylaşabiliriz. Özel seçim kuralları, kaynak kodun tamamı ve paylaşım hakkı olmayan ham veriler açık forumda yayımlanmayacaktır.



Buradaki temel sorumuz şudur:



Bu kadar büyük bir araştırma altyapısı güçlü adayları bulabiliyor gibi görünmesine rağmen, neden bu gücü farklı dönemlerde tekrarlanabilir, uygulanabilir ve bütün masraflardan sonra kalan gerçek para kazancına çeviremiyoruz?
Merhaba Nihat Bey,

Yazınız için teşekkürler; bu forumda bu dürüstlükte bir metin nadir. Sistemi görmediğim için size neyin eksik olduğunu söyleyecek durumda değilim. Onun yerine, kendi edge araştırmamda uyguladığım adımları sırayla yazayım. Hangisinin sizde karşılığı var, hangisinin yok, en iyi siz görürsünüz.

Baştan söyleyeyim: aşağıdaki listeyi kriptoda momentum temelli bir yaklaşımla baştan sona uyguladım ve sonunda sistemi canlıya almaktan vazgeçtim. Nedenini listenin sonunda yazıyorum.

---

0) ÖNCE MEKANİZMA, SONRA KOD

Tek cümlelik bir soru soruyorum: bu para nereden geliyor, karşı taraftaki kim ve neden ısrarla kaybediyor? Cevap likidite primi, davranışsal aşırı tepki, zorunlu satış, yapısal akış, bilginin yayılma gecikmesi gibi somut bir şey olmalı. Somut bir mekanizma yazamıyorsam devam etmiyorum — çünkü mekanizmasını bilmediğim bir sinyalin ne zaman bozulacağını da bilemem.

İkinci olarak, aradığım yapının enstrümanda gerçekten var olup olmadığını sinyalden BAĞIMSIZ test ediyorum: variance ratio, Hurst üsteli, otokorelasyon profili. Rastgele yürüyüşe trend yapısı uydurmamak için.

1) SİNYALDEN ÖNCE ÖLÇÜM DEFTERİ

Sinyali yazmadan önce şunu kuruyorum: her karar için gerçekte hangi fiyattan girilebilirdi, o an emir dolabilir miydi, kaç lot alınabilirdi, komisyon-BSMV-spread-kayma ne kadardı, çıkış hangi fiyattan olurdu, sermaye gün gün nasıl değişirdi. Ölçen alet sinyalden önce geliyor; sonra kurulursa önceki tüm sonuçları geriye dönük yeniden üretmek gerekiyor.

Benchmark'ı da bu aşamada sabitliyorum. "Pozitif getiri" bir ölçüt değil; ölçüt her zaman "evrenin kendi getirisinden fazlası".

2) POINT-IN-TIME EVREN

Karar verilen her an için, o an gerçekten alınabilir durumda olan enstrüman listesi. Sonradan listeden çıkanlar, sonradan listeye girenler, işlem kısıtı olanlar, o gün işlem görmeyenler ayrı ayrı işaretleniyor. Bugünkü listeyle geçmişi taramak en sinsi ve en kolay gözden kaçan hata; çünkü ürettiği yanlılık neredeyse her zaman tek yönlü — sahte kar üretir, sahte zarar değil.

3) SİNYALİN BİLGİ TAŞIYIP TAŞIMADIĞINI SIRALAMAYLA ÖLÇMEK

Bende en çok işe yarayan adım bu oldu. Fiilen pozisyon açacağım enstrümanları — yani sıralamanın en üstündeki ilk birkaç sembolü — tek başına test etmek yerine, sıralamanın TAMAMINI test ediyorum.

Her karar anında evreni skora göre sıralayıp %10'luk on dilime bölüyorum: en yüksek skorlu %10, sonraki %10, ... en düşük skorlu %10. Sonra her dilimin ileri getirisinin ortalamasını, o dönemin evren ortalamasından arındırarak çiziyorum. Bunu birkaç farklı tutma süresi için tekrarlıyorum.

Aradığım şey en üst dilimin iyi olması DEĞİL; en alt dilimden en üst dilime doğru DÜZENLİ BİR EĞİM olması. Yani en üst dilim en iyi, ikinci dilim ikinci iyi, en alt dilim en kötü. Bu düzenli sıralanma tesadüfen ortaya çıkması çok zor bir yapı; buna karşılık sadece tek bir dilimin iyi görünmesi kolayca tesadüf olabilir.

İki büyük faydası var. Birincisi, gözlem sayısı fiilen aldığım birkaç sembolden tüm evrene çıkıyor; aynı veriden kat kat fazla istatistiksel güç elde ediliyor ve "bu dönemde iyi, şu dönemde kötü" dalgalanmasının gerçek mi yoksa sadece az sayıda gözlemden kaynaklanan gürültü mü olduğu ayrışıyor. İkincisi, en üst dilim eksi en alt dilim farkı yapısı gereği piyasa yönünden bağımsız; yani "sinyal mi çalışıyor, yoksa piyasa mı yükseliyor" sorusunu doğrudan cevaplıyor.

4) SİNYAL ANI İLE EMRİN GİRDİĞİ AN ARASINDAKİ BOŞLUĞU (GAP) AYIRMAK

Sinyal bir barın kapanışında üretiliyor, ama emri fiilen girebileceğim ilk an bir sonraki barın açılışı. Bu iki nokta arasında fiyat çoğu zaman hareket ediyor — aradaki bu boşluğa gap diyorum.

Bu yüzden ölçtüğüm toplam getiriyi ikiye ayırıyorum:
(a) sinyalin üretildiği kapanış fiyatı ile emrin girildiği açılış fiyatı arasındaki hareket,
(b) emrin girildiği fiyattan çıkışa kadar olan hareket.

Üstünlüğün büyük kısmı (a)'daysa o üstünlük benim değil: o fiyat hareketi ben emri girmeden önce olup bitiyor, ben zaten hareketi yapmış fiyattan alıyorum. Backtest bunu kar gibi gösterir ama canlıda o kar hiçbir zaman hesabıma geçmez. Bu ayrıştırma bende "üstünlük hangi aşamada kayboluyor" sorusuna en hızlı cevap veren test oldu.

Aynı başlık altında ikinci bir kontrol: seçim kriterim ile emrin dolabilirliği arasında ilişki var mı? Sinyal en çok, tam da emrin dolmadığı veya derinliğin bulunmadığı durumlarda güçlü çıkıyorsa, kağıt üstündeki üstünlük gerçekte alınamaz. Bunu ayrı bir test olarak yapıyorum, çünkü ortalama maliyet varsayımı bu ilişkiyi yakalamaz.

5) ELDEKİ ŞEY GERÇEK BİR ÜSTÜNLÜK MÜ, YOKSA SADECE PİYASAYA GİRMİŞ OLMAK MI

Stratejinin getirileriyle dayanak endeksin getirilerini yan yana koyup basit bir doğrusal ilişki kuruyorum ve şu soruyu cevaplıyorum: endeks %1 hareket ettiğinde stratejim ortalama ne kadar hareket ediyor?

Bu katsayıya beta deniyor — yani getirinin piyasaya bağlı olan kısmı. Geriye kalan, piyasanın hareketiyle açıklanamayan artık kısma da alfa deniyor — yani stratejinin kendi kattığı değer.

Beta belirgin, alfa ise istatistiksel olarak anlamlı değilse elimdeki şey bir üstünlük değil, sadece kaldıraçlı piyasa maruziyeti demektir; aynı sonucu endeksi kaldıraçla alıp bekleyerek de elde ederdim. Bunu hem tüm örneklemde hem kayan pencerede bakıyorum. Enflasyonun yüksek olduğu bir para biriminde çalışıyorsam sonuca ayrıca reel veya sert para cinsinden de bakıyorum; nominal getiri bu ayrımı rahatlıkla gizler.

6) İŞLEM SONUÇLARININ DAĞILIMINI İKİ DÖNEM ARASINDA KARŞILAŞTIRMAK

Ortalama getiriye bakmıyorum. Baktığım şey işlem sonuçlarının dağılımı: kazanan işlemlerin büyüklük dağılımı, kaybedenlerin büyüklük dağılımı, kazanma oranı, ortalama kazanç ve ortalama kayıp.

Bunları iki ayrı dönem için ayrı ayrı çıkarıp yan yana koyuyorum: (1) sistemi geliştirirken kullandığım dönem, (2) geliştirme sırasında hiç dokunmadığım, ayrı tuttuğum dönem.

Burada aranan şey iki dönemde de ortalamanın pozitif olması DEĞİL; dağılımların ŞEKLİNİN benzer olup olmadığı. Kazanma oranı %58'den %41'e düşmüş, ortalama kayıp iki katına çıkmış ama ortalama hala pozitifse, o sistem "karlı" olabilir ama ticareti yapılabilir değildir; çünkü mekanizmanın kendisi kararlı değildir ve gelecekte hangi dağılımın geçerli olacağını bilemem.

Ek olarak en iyi %1 ve en iyi %5 işlemi silip tekrar bakıyorum.

7) PLATO TESTİ

Her parametreyi, seçtiğim değerin yaklaşık %25-30 altında ve %25-30 üstünde birkaç farklı değerde yeniden test ediyorum; sonra parametreleri ikili kombinasyonlar halinde de tarayarak sonuç yüzeyine bakıyorum.

Aradığım şey PLATO: en iyi noktanın komşularının da iyi olduğu geniş bir bölge. Bulduğum şey SİVRİ BİR TEPE ise — yani parametreyi bir adım oynattığımda sonuç çöküyorsa — elimdeki şey bir edge değil, geçmişte gerçekleşmiş belirli bir tesadüfün koordinatıdır. Çünkü gerçek bir piyasa mekanizması, parametrenin üçüncü ondalığına duyarlı olmaz.

8) BLOK-BOOTSTRAP MONTE CARLO

Terimi açayım. Monte Carlo, stratejinin geçmiş işlem sonuçlarını rastgele yeniden sıralayarak binlerce alternatif geçmiş üretmek demek. Amacı şu: gördüğüm tek geçmiş, olabilecek geçmişlerden yalnızca biri; aynı işlemler başka bir sırada gelseydi sermaye eğrim nasıl görünürdü, en kötü düşüş ne olurdu?

Blok-bootstrap ise bunu yaparken işlemleri tek tek değil, ardışık parçalar (bloklar) halinde karıştırmak demek. Tek tek karıştırırsanız piyasadaki ardışık bağımlılık — volatilite kümelenmesi, kötü günlerin arka arkaya gelme eğilimi — yok olur ve gerçekte olacağından çok daha iyimser bir düşüş tablosu çıkar. Bloklar halinde karıştırmak bu yapıyı korur.

Çıktı olarak ortalama getiriyi değil, maksimum düşüşün DAĞILIMINI, yüzdelik bantları ve sermayenin tükenme olasılığını rapor ediyorum. Çünkü canlıda ortalama yolu değil, tek bir yolu yürüyorum.

9) TEK KONFİGÜRASYON YERİNE ÜÇ-DÖRT KONFİGÜRASYON

Listedeki en pratik ve bende en çok fark yaratan maddelerden biri. Backtest'te en iyi görünen tek konfigürasyonu canlıya almak çok cazip, ama yapısal olarak en kırılgan seçim: "en iyi görünen", tanımı gereği, gürültüden en olumlu payı almış olan konfigürasyondur.

Bunun yerine plato bölgesi içinden birbirinden anlamlı şekilde farklılaşan 3-4 konfigürasyon seçip riski bunlara bölüyorum. Farklılaşma tercihen tutma süresi, pozisyon sayısı ve çıkış mantığı üzerinden oluyor; giriş eşiğinde küçük oynamalar farklılaşma sayılmıyor.

Kazandırdıkları:
- Tek bir konfigürasyonun bozulması sistemin tamamını durdurmuyor.
- Kazanç/düşüş dengesi, parametreyi agresifleştirip yumuşatarak değil ORTALAMA ALARAK iyileşiyor. Bu ikisi aynı şey değil: birincisi kaldıraç ayarı, ikincisi çeşitlendirme.
- Farklı dönemlerde farklı konfigürasyonlar öne çıkıyor; dönemsel kırılganlık seyreliyor.
- Karın birkaç güne veya birkaç enstrümana yığılması azalıyor.

Maliyeti şu: 3-4 konfigürasyon toplamda daha çok işlem üretiyor. Bunu kısmen, çakışan pozisyonları netleştirerek ve konfigürasyonları giriş sıklığından çok tutma süresinden farklılaştırarak telafi ediyorum.

10) BOYUTLAMA VE ÇIKIŞ

Boyutlama fraksiyonel veya volatilite hedefli; tam Kelly yok, martingale ve zarara ekleme yok. Bir üyeyi durdurmak diğerlerinin riskini ARTIRMAMALI.

Çıkış mantığı sinyalin karakterine uymak zorunda: ortalama-dönüş karakterli bir sinyalde seviye bazlı çıkış, trend karakterli bir sinyalde kazananı koşturan takip eden stop. İkisi karıştırıldığında sistem her iki tarafta da kaybediyor.

Bunlara ek olarak belli sayıda bar kapandıktan sonra devreye giren bir zaman çıkışı da kullanıyorum: pozisyon beklenen süre içinde beklediğim şeyi yapmadıysa, giriş tezi geçersizleşmiş demektir ve sermayeyi orada tutmanın bir anlamı kalmıyor. Bu çıkış aynı zamanda "dönecek" beklentisiyle pozisyon taşımanın önünü de kesiyor.

Son olarak, kazanma oranı yüksek bir sistem yapısı gereği sigorta satan bir profildir (sık küçük kazanç, nadir büyük kayıp) — bu profilde dar stop değil, felaket stopu artı muhafazakar boyut gerekiyor.

11) DENEME SAYACI

Toplam kaç konfigürasyon denediğimin kaydını tutuyorum. Bu sayı sonucun anlamlılığını değerlendirirken doğrudan girdi; çünkü aynı veri üzerinde N deneme yapıldığında, ortada hiç üstünlük olmasa bile en iyi denemenin iyi görünmesi matematiksel bir zorunluluk.

Bu düzeltmeyi yapan yerleşik yöntemler var: White's Reality Check, Hansen'in SPA testi, Bailey & López de Prado'nun Deflated Sharpe Ratio ve CSCV/PBO (Probability of Backtest Overfitting) çalışmaları. Önemli nokta şu: deneme sayısı en baştan kaydedilmemişse bu düzeltme sonradan yapılamıyor.

12) DONDURMA VE İLERİYE DÖNÜK KAYIT

Bunu yapmanın amacı tek bir soruyu cevaplamak: bu sonuç geçmişe bakarak ayarladığım için mi iyi görünüyor, yoksa hiç görmediğim veride de iyi mi?

Bu soru geçmiş veri üzerinde kesin olarak cevaplanamıyor, çünkü o veriyi zaten defalarca gördüm; ayırdığım "dokunulmamış" dönem bile bir kez bakıldıktan sonra dokunulmuş sayılıyor. Kuralları önceden yazıp dondurup ileriye doğru kayıt tutmak, bu sorunun cevaplanabildiği tek düzenek.

Pratikte: konfigürasyonu donduruyorum, kodun hash'ini alıp tarih damgalıyorum. Öncesinde YAZILI olarak sabitlediklerim: evren, sinyal, sıralama, pozisyon sayısı, ağırlık, tutma süresi, çıkış, maliyet varsayımı, benchmark, gereken gözlem sayısı, başarı eşiği ve ÖLDÜRME EŞİĞİ.

Başlamadan önce bir güç hesabı yapıyorum: iddia edilen üstünlük işlem başına kaç baz puan, işlem getirilerinin standart sapması ne, bunu makul bir güvenle görmek için kaç işlem gerekiyor? Bu aritmetik çoğu zaman tek başına yol gösteriyor — bazen "istediğim ispat beş yıl sürüyor" çıkıyor, ki bu da başlı başına bir bilgi.

13) CANLI PARİTE VE BAKIM

Backtest ile canlı aynı kod yolunu kullanıyor. Canlıda izlediğim şey kümülatif kar değil, kar/zarar DAĞILIMININ KARARLILIĞI; dağılımdaki sapma, edge'in aşınmaya başladığının erken uyarısı. Kayan betayı da izliyorum: betanın zamanla yukarı sürüklenmesi, üstünlüğün sessizce piyasa maruziyetine dönüştüğünün işareti.

---

BENDE NASIL BİTTİ

Bu listeyi kriptoda momentum temelli bir yaklaşımla baştan sona uyguladım. Sıralama testi umut verdi, dilimler arasında düzenli bir eğim vardı, maliyetler sonrası da ayaktaydı. Ama 7. maddede takıldım: parametre yüzeyinde plato yoktu, sivri bir tepe vardı. Tepeden bir adım uzaklaşınca sonuç çöküyordu.

Bunun üzerine sistemi canlıya almaktan vazgeçtim. Kolay bir karar değildi — ayların emeğiydi — ama sivri tepe bana şunu söylüyordu: bu, gelecekte tekrarlanmasını bekleyebileceğim bir yapı değil, geçmişte olmuş belirli bir tesadüfün adresi. Bugün geriye dönüp baktığımda "keşke daha erken bakmış olsaydım" dediğim iki madde 4 ve 7; ikisi de ucuz testler ve ikisi de çok erken cevap veriyor.

---

YAZINIZDAKİ BEŞ GÖZLEM ÜZERİNE

Bu beş gözlem benim de defalarca karşılaştığım bir küme. Bende şu anlamlara geldiler:

"Kazancı artıran yöntem düşüşü büyütüyor / düşüşü azaltan yöntem kazancı yok ediyor" — Bunlar tek bir gözlemin iki yüzü. Bağımsız bir üstünlük varsa, kazanç ile düşüş arasındaki takas SABİT ORANLI OLMAZ; belli bir aralıkta risk-ayarlı sonuç iyileşir. Her ayarın ikisini aynı oranda büyütüp küçültmesi, elimdeki kolun bir üstünlük ayarı değil bir kaldıraç ayarı olduğuna işaret ediyor. Testi 5. madde. Çözümü — eğer alfa varsa — parametreyi agresifleştirmek değil, 9. maddedeki çoklu konfigürasyon.

"Bir dönemde çalışan yöntem başka dönemde bozuluyor" — İki ihtimal var ve ayırt edilebilirler. Ya gerçekten rejim bağımlılığı vardır, ya da dönem başına gözlem sayısı o kadar azdır ki görülen şey sadece örnekleme dalgalanmasıdır. Ayırt etme yöntemi 3. maddedeki sıralama testi: dilim eğimi her dönemde aynı yönde ama farklı diklikte mi, yoksa bazı dönemlerde tamamen ters mi dönüyor? İlki bir rejim meselesidir ve boyutlamayla yönetilir; ikincisi kararlı bir sinyal olmadığı anlamına gelir. Çoklu konfigürasyon burada da doğrudan işe yarıyor: farklı tutma sürelerine sahip konfigürasyonlar farklı dönemlerde öne çıkıyor, hepsinin aynı anda bozulma olasılığı düşüyor.

"Güzel görünen sonuçlar birkaç büyük güne veya birkaç hisseye dayanıyor" — 6. maddedeki test (en iyi %1 ve %5'i silmek). Üstünlük hayatta kalmıyorsa iki alt ihtimal var: ya uç örnek şansıdır, ya da gerçekten konveks bir yapıdır. İkincisiyse kabul edilebilir, ama o zaman düşük isabet oranı ve uzun düz dönemler BAŞTAN kabullenilir ve boyutlama ona göre yapılır.

Burada belirsiz bırakmamak önemli, çünkü asıl risk istatistiksel değil psikolojik: düz dönemin ne kadar sürebileceğini önceden bilmiyorsanız, o dönem geldiğinde sistemi kapatan şey verinin bozulması olmaz, sizin dayanma gücünüzün tükenmesi olur. Ve tipik olarak sistem tam da toparlanmadan hemen önce kapatılır. "Bu sistemde 40 işlemlik düz dönem normaldir" cümlesini önceden yazmış olmak, o anı atlatmanın tek yolu.

"Masraflar eklendiğinde özellikle zayıf dönemlerde üstünlük kayboluyor" — Bu, brüt üstünlüğün maliyet bandına yakın olduğunun göstergesi. Burada bakılacak yer sinyal değil DEVİR HIZI: aynı sinyalle daha uzun tutma süresi, daha az pozisyon değişimi, çakışan pozisyonların netleştirilmesi. Brüt üstünlük maliyetin belirgin şekilde üstünde değilse sistem canlıda zaten ayakta kalamaz; bu ayrı bir kapı ve geçilmesi zorunlu.

---

BIST HAKKINDA BİR NOT

Ben de benzer bir çalışmayı BIST için yapmayı düşünmüştüm. Dört sebeple Amerikan borsa endekslerine yöneldim:

- Düşük likidite ve buna bağlı olarak emrin dolabilirliği sorunu.
- Sağlam, düzeltmeleri doğru yapılmış, güvenilir geçmiş veriye ulaşmanın zorluğu.
- Survivorship bias — borsadan silinen kağıtlar bir yana, halka arzla yeni eklenen kağıtların erken dönem getirilerinin evrene sonradan dahil edilmesi, momentum temelli her taramayı yapay olarak parlatıyor.
- Türk lirasının değer kaybı riski; nominal getiri ile reel getiri arasındaki farkın bir sistemin gerçekten üstünlük üretip üretmediğini bulanıklaştırması.

Bunlar BIST'te çalışılamaz demek değil; benim kendi kısıtlarım altında verdiğim bir tercihti. Ama BIST'te çalışılıyorsa bu dördünün her birinin ayrı birer mühendislik işi olduğunu baştan bütçelemek gerekiyor — ve bunlar çözülmeden üretilen hiçbir sonucu yorumlamak mümkün olmuyor.

---

Yukarıdaki liste evrensel bir doğru değil, sadece benim listem. Ama baştan sona kendi sisteminize uygulayıp hangi maddede durduğunuzu işaretlerseniz, üç ihtimalinizden hangisinin geçerli olduğunu büyük ölçüde kendiniz görürsünüz — ve bu, dışarıdan birinin sisteminizi baştan anlamasını beklemekten çok daha hızlı olur. Bende cevap 7. maddede çıktı ve olumsuzdu; sizinkinde başka bir maddede ve başka yönde çıkabilir.

Kolay gelsin, başarılar dilerim.