Dürüst Negatif: On Binlerce Backtest, Beş Ana Coin, Sağlam Bir Getiri Yok
"İllüzyonsuz Backtestler" serisinin bir parçası.
İstemediğimiz sonuç
Bu seri, bir yalanı yakalamak için birkaç makale boyunca araçlar inşa etti: bir barlık sızıntıdan 15'lik bir Sharpe imal eden ileriye-bakış yanlılığı (look-ahead bias), bir aramanın kazananını fiyatlayan Deflated Sharpe Ratio, aramanın kendisini fiyatlayan Backtest Aşırı-Uydurma Olasılığı (Probability of Backtest Overfitting). Bu parçaların her biri bir anlamda bir provaydı. Bu makale ise gösterinin kendisi: tüm aygıtı, gerçekten işlem yapmak istediğimiz gerçek bir strateji ailesine yöneltiyoruz ve onun vermek üzere inşa edildiği kararı vermesine izin veriyoruz — o karar hayır olsa bile.
İşte dürüst sonu en başta veriyorum. Beş ana coin üzerinde, çift ve üçlü zaman dilimli konfigürasyonlarda, sağlam bir getiri arayarak on binlerce backtest çalıştırdık. Bulamadık. "Küçük bir getiri bulduk ve pozisyonu küçülttük" değil. Makineyle temas edince ayakta kalan hiçbir şey bulamadık — enstrümanlar boyunca aynı anda kârlı olan ve çoklu-test düzeltmesi altında savunulabilen tek bir konfigürasyon bile yok. Bu, deneyin bir başarısızlığı değil. Bu, deneyin başarılı olması.
Baştan çıkarıcı olan kısım — daha kötü donanımlı bir ekibin sermaye tahsis etmesine neden olacak kısım — naif bir okumanın gerçekten iyi görünmesiydi:
| Aşama | Ne gördük | Aslında neydi |
|---|---|---|
| Tek sembollü arama (ETHUSDT, çift-TF) | Örneklem dışı testte +16.35%, dokunulmamış holdout'ta +2.62% | cazip kazanan |
| Deflated Sharpe, ~37,000 deneme | DSR = 0.00 | gürültünün en iyisi |
| Enstrümanlar-arası, 5 ana coin, çift-TF | DSR 0.24 / PBO 0.264 | başarısız |
| Enstrümanlar-arası, 5 ana coin, üçlü-TF | DSR 0.14 / PBO 0.327 | başarısız |
O ilk satırı, onu ilk okuduğumuz gibi okuyun: ETHUSDT üzerinde çift zaman dilimli bir ızgarada ayarlanmış bir hareketli-ortalama-kesişimi stratejisi, arama sırasında hiç görmediği veride +16.35% basıyor ve tamamen duvarla ayırdığımız ikinci bir pencerede pozitif bir +2.62% tutuyor. Orada durursanız — ve yayımlanmış çoğu backtest orada durur — onu piyasaya sürersiniz. Bu makalenin geri kalanı, bize sürmememizi söyleyen makine ve neden haklı olduğu.
Perde 1 — Cazip kazanan

Strateji ailesi kasıtlı olarak sıradan: kapanmış barlar üzerinde değerlendirilen, dürüst bir yürütme modeline sahip bir Hull-hareketli-ortalama kesişimi (i barının kapanışında karar ver, i+1'in açılışında doldur — bu serinin taviz vermeyeceği bir-bar disiplini). "Çift zaman dilimli", sinyalin daha yavaş bir zaman diliminin trendiyle sınırlandığı anlamına gelir; "üçlü" ise daha da yavaş bir üçüncüyü ekler. Her zaman dilimi serbest parametreler ekler ve serbest parametreler tam olarak bir aramanın görünürdeki performansa dönüştürdüğü şeydir.
Tek sembollü çalışma ETHUSDT üzerinde yürütüldü. Protokol zaten iyi türdendi: yuvarlanan bir walk-forward bölünmesi (bir ısınma penceresi, birkaç örneklem içi kat (fold), bir örneklem dışı test penceresi), artı en sona kadar aramanın dokunması yasak olan son bir holdout penceresi. Bir Sobol/QMC araması parametre uzayını keşfetti; hayatta kalan, en iyi walk-forward skoruna sahip konfigürasyondu ve bir kez — tam olarak bir kez — holdout'a taşındı.
Hayatta kalan bir getiri gibi görünüyordu:
- Örneklem dışı test penceresinde +16.35% — yalnızca konfigürasyonları skorlamak için kullanılan, onları uydurmak (fit) için asla kullanılmayan veri.
- Dokunulmamış holdout'ta +2.62% — ikinci bir duvar, aşıldı.
Bu, bir araştırma sürecinin dürüst mü yoksa gösterişli mi olduğuna karar veren andır. Örneklem dışı kâr, sayıların uydurulmadığı ve ileriye-bakış sızıntısı olmadığı dar anlamda gerçektir — kontrol ettik. Ama "gerçek sayılar, sızıntı yok", "gerçek getiri"den çok daha düşük bir eşiktir. İkisinin arasında, bu tüm serinin konusu olan şey yatar: seçim. Tek bir strateji değerlendirip %16 kazandığını bulmadık. Muazzam sayıda strateji değerlendirdik ve en iyisinin %16'sını raporladık. Örneklem dışı pencere ileriye-bakıştan temizdi, ama seçimden temiz değildi — çünkü kazananı kısmen orada nasıl performans gösterdiğine göre seçtik. Bu iki hikayeyi birbirinden ayırabilen tek araç, kaç kez baktığımızı bilendir.
Perde 2 — Deflasyon: ~37,000 deneme, DSR = 0.00

Bakışları sayın. Katlar (fold), zaman dilimi kombinasyonları ve parametre ızgarası boyunca, çift zaman dilimli arama yaklaşık 37,000 farklı konfigürasyon üzerinde değerlendirme yaptı. Her biri strateji uzayından bir çekilişt ve arama maksimumu tuttu. Deflated Sharpe Ratio makalesi tam türetimi içerir, ama burada ihtiyacınız olan tek gerçek False Strategy Theorem (Bailey & López de Prado): gerçek getirisi sıfır olan N stratejinin beklenen maksimum Sharpe'ı N ile birlikte büyür. N ≈ 30,000'de, saf gürültünün en iyisi, yalnızca seçim yoluyla sıfırın yaklaşık dört standart sapma üzerinde oturur. Dört sigma bir keşif gibi görünür. O, aramanın gölgesidir.
Yani doğru soru "kazananın Sharpe'ı pozitif mi?" değil — elbette öyle, maksimumu seçtiniz. Doğru soru "kazananın Sharpe'ı, 37,000 yazı-tura atıcısının en şanslısının basacağının ötesinde mi?" İşte DSR tam olarak bunu hesaplar: kıyaslama noktasını sıfırdan, deneme sayısının ima ettiği gürültü tavanına yükseltir ve gerçek Sharpe'ın onu geçme olasılığını raporlar.
ETHUSDT kazananının örneklem dışı seyri, yaklaşık 0.19'luk bir günlük Sharpe'a karşılık gelir. Kendi başına, uzun bir pencere üzerinde 0.19'luk bir günlük SR gayet saygıdeğer bir sayıdır. ~37,000 denemeye karşı deflate edildiğinde buharlaşır:
Sıfır. "Marjinal" değil, "0.4, göz kulak ol" değil. DSR şunu söyler: ne kadar sıkı aradığımız göz önüne alındığında, 0.19'luk bir günlük Sharpe, saf gürültünün en iyi çekilişinden ayırt edilemez. Örneklem dışı +16.35% ve holdout +2.62%, bu testin çözebildiği hassasiyette, hiçbir getirisi olmayan ve sadece 37,000 biletli bir piyangoyu kazanan bir strateji ile tutarlıdır.
Belirtmeye değer bir incelik, çünkü deflasyonu abartmak istemiyoruz: bir parametre ızgarasındaki komşu noktalar neredeyse-kopyadır, dolayısıyla ham deneme sayısı bağımsız bakışları fazla sayar. Kapımız, etkin (effective) deneme sayısını kullanır — deflate etmeden önce ONC (López de Prado & Lewis) aracılığıyla getiri korelasyonuna göre kümelenmiş denemeler — tam olarak muhasebe nedeniyle gerçek bir getiriyi reddetmemek için. Bu düzeltme dahil edilse bile, ETHUSDT kazananı ayakta kalmaz. Bir sonuç DSR 0.00 okuduğunda, etkin-N nüansı onu kurtarmayacaktır; o, gürültünün derinliklerindedir.
Bu, sonun olabilirdi. Bir sembol, bir arama, hiçe deflate edildi. Ama tek bir sembolde DSR'ın başarısız olması, kararlı bir optimize edicinin her zaman sıkışıp geçmeye çalışacağı bir açık bırakır: belki de ETHUSDT sadece zor bir semboldür ve konfigürasyon başka yerde gerçektir. O açığı kapatmak için testin eksenini değiştirmeniz gerekir.
Perde 3 — Belirleyici test: sağlamlık enstrümanlar boyuncadır

Tek sembollü bir aramanın, başka türlü mükemmel olsa bile yapısal bir zayıflığı vardır: tek örneklem dışı ekseni zamandır. Konfigürasyonun ETHUSDT'nin daha sonraki bir penceresinde ayakta kaldığını söyleyebilir — ama konfigürasyonun piyasalar hakkında bir şey mi yoksa özellikle ETHUSDT hakkında bir şey mi öğrendiğini söyleyemez. Tek bir enstrümana aşırı-uydurma, o enstrümandan hiç ayrılmayan bir test için görünmezdir.
Bu yüzden amacı değiştirdik. "ETHUSDT'de örneklem dışı en iyi" yerine, enstrümanlar-arası av genelciler ister: birçok sembol boyunca aynı anda iyi olan konfigürasyonlar. Protokol:
- Beş likit ana coin: ETHUSDT, BTCUSDT, SOLUSDT, BNBUSDT, XRPUSDT — her biri kabaca 1.18 milyon 1-dakikalık bar, bir paylaşılan takvim penceresi, bir paylaşılan bölünme kümesi (ısınma → K örneklem içi kat → test → dokunulmamış bir holdout).
- Sağlam bir amaç fonksiyonu: her konfigürasyonu her sembolün walk-forward sonucuna göre skorla, sonra semboller boyunca medyana göre sırala. Medyan meselenin özü — bir coin'de olağanüstü ama dördünde berbat olan bir konfigürasyon, tek bir uç değerle içeri giremez. Seçilmek için, çoğunda en azından orta karar olması gerekir.
- Kapılar için bir portföy getiri matrisi: deneme başına günlük getiriler, beş sembol boyunca eşit ağırlıklı bir portföydür (her birine sermayenin 1/S'i), DSR ve PBO-CSCV kapılarının tükettiği T×N performans matrisini verir.
- Holdout'a bir kez dokunulur, yalnızca her modun sağlam şampiyonu tarafından.
Bu, tek sembollü olandan kesinlikle daha zor bir testtir ve kasıtlı olarak öyledir. Bir konfigürasyon, bir coin'in kendine özgülüğünü sömürerek ETHUSDT aramasını kazanabilir; ama beş-üzerinden-medyan aramasını bu şekilde kazanamaz. Bu strateji ailesinde sağlam bir getiri varsa, onu bulan kurulum budur. Yoksa, bunu gözünü kırpmadan söyleyen kurulum budur.
Perde 4 — Karar: her iki zaman dilimi de kapıları geçemiyor
Enstrümanlar-arası avı her iki konfigürasyonda da çalıştırdık ve her sağlam şampiyonu kapıdan geçirdik. Kapılar standart iki tanesidir: DSR ≥ 0.95 (etkin deneme sayısına karşı deflate edilmiş) ve PBO ≤ 0.2 (performans matrisi üzerinde CSCV'den). İşte tüm karar, dürüstçe:
| Mod | DSR (etkin-N) | PBO (CSCV) | Kapı: DSR ≥ 0.95 | Kapı: PBO ≤ 0.2 | Karar |
|---|---|---|---|---|---|
| Çift zaman dilimli | 0.24 | 0.264 | başarısız | başarısız | sağlam getiri yok |
| Üçlü zaman dilimli | 0.14 | 0.327 | başarısız | başarısız | sağlam getiri yok |
İkisi de başarısız, her iki kapı, her iki mod. Her sayıyı önceki makalelerin oturttuğu kalibrasyonla okuyun, çünkü iki kapı farklı şeyler söylüyor ve hemfikirler:
-
DSR 0.24 (çift), 0.14 (üçlü). DSR, gerçek Sharpe'ın aramanın ima ettiği gürültü tavanını aşma olasılığıdır. 0.95'e ihtiyacımız var. 0.24 ve 0.14 aldık — kaç konfigürasyon denendiğini hesaba kattığınızda, getirinin pozitif bile olmasının ancak dörtte bir ve yedide bir şansı. Üçüncü zaman dilimini eklemek onu daha iyi değil, daha kötü yaptı: daha fazla parametre, örneklemi uydurmanın daha fazla yolu, genelleşen daha az şey. Bu tersine dönüş, kendi başına aşırı-uydurmanın bir parmak izidir.
-
PBO 0.264 (çift), 0.327 (üçlü). Herkesin PBO hakkında yanlış okuduğu tek gerçeği hatırlayın (tam ele alış burada): null hipotezi 0.5'tir, 1 değil. PBO, örneklem içi kazananın örneklem dışında alt yarıya düşme olasılığıdır. Güvenilir bir seçim 0'a yakın oturur; saf bir yazı-tura 0.5'te oturur. Bizim 0.264 ve 0.327'miz 0.5'in altında — seçim tam anlamıyla bir yazı-tura değil, sinyalin soluk bir fısıltısı var — ama ikisi de, seçimi güvenilir demek için gerektirdiğimiz 0.2'nin epeyce üzerinde. Ve yine üçlü (0.327), çiftten (0.264) yazı-tura çizgisine daha yakın: daha fazla karmaşıklık, daha az genelleme.
İki araç diktir — DSR parametriktir ve kazananı fiyatlar, PBO parametrik değildir ve prosedürü fiyatlar — ve zıt yönlerden aynı cevaba yakınsarlar. Bu tablonun, hangi stratejinin çıtayı geçtiği okuması yoktur. Tüm bu avı başlatan +16.35%'in sağlam bir enstrümanlar-arası kuzeni yoktur. O, bir coin'in ve bir aramanın özelliğiydi.
Perde 5 — Şampiyonu izle, sembol sembol
Toplu kapılar size bir stratejinin başarısız olduğunu söyler; sembol-başına dökümü nasıl başarısız olduğunu söyler ve bu nasıl, tüm çalışmanın en öğretici kısmıdır. Üçlü zaman dilimli şampiyonu — beş-üzerinden-medyan amaç fonksiyonunun gerçekten taçlandırdığı konfigürasyonu — alın ve her sembolün örneklem dışı test penceresinde ne yaptığına bakın:
| Sembol | Üçlü şampiyon, OOS test |
|---|---|
| ETHUSDT | −0.39% |
| BTCUSDT | −0.38% |
| SOLUSDT | +14.74% |
| BNBUSDT | −8.58% |
| XRPUSDT | −4.13% |
İşte tüm illüzyon, beş satırda çıplak bir şekilde ortada. Şampiyon, beş sembolden tam olarak birinde kârlı — SOLUSDT, gösterişli bir +14.74% ile — ve diğer dördünde negatif. Zayıf olmasına rağmen bir genelci değil. O, bir portföyün kılığına girmiş bir SOL uzmanı. Tek büyük pozitif tüm işi yapıyor; medyan amaç fonksiyonu onu ham ETHUSDT kazananının altına indirdi, tam olarak medyan tek bir uç değerle kandırılmayı reddettiği için, ama medyanla seçilmiş şampiyon bile açtığınızda neredeyse tamamen tek bir coin'e yaslandığı ortaya çıkıyor.
Holdout — hiç kimsenin karşı optimize etmesine izin verilmeyen pencere — aynı hikayeyi mümkün olan en temiz bakış açısından anlatıyor: beş ana coin boyunca, şampiyonun holdout getirisi 5 sembolden yalnızca 1'inde pozitif. Bu, strateji ailesinde gerçek bir getiri olsaydı, en azından soluk bir şekilde, birden fazla enstrümanın dokunulmamış verisinde ortaya çıkardı. Bir tanesinde ortaya çıkıyor. Bu, bir piyasa değil bir sembol öğrenmiş bir konfigürasyonun imzasıdır.
Enstrümanlar-arası eksenin, sadece olsa-güzel-olur değil, belirleyici test olmasının nedeni budur. Tek sembollü DSR zaten ETHUSDT'yi sıfıra deflate etmişti. Ama başarısızlığı teşhis etmek için — görünürdeki getirinin en baştan enstrümanlar boyunca hiç dağılmadığını, aramanın o çalışmada hangi coin'e aşırı-uyduğuysa onun bir özelliği olduğunu göstermek için — beş-üzerinden-medyan tasarımı gerekti. ETHUSDT'de ETHUSDT'ninkiydi; medyan avında SOLUSDT'ninkine göç etti. Getiri hareket etti. Gerçek getiriler böyle hareket etmez.
Bir negatif sonuç neden doğru sonuçtur

Ne iddia ettiğimiz ve ne iddia etmediğimiz konusunda açık olmak gerekir, çünkü "hiç getiri bulamadık" ifadesi ya sahte alçakgönüllülük ya da bir yetersizlik itirafı olarak kolayca yanlış okunabilir. İkisi de değil.
HMA kesişimlerinin asla işe yaramayacağını, ya da bu beş coin'in öngörülemez olduğunu, ya da hiçbir çift/üçlü zaman dilimli stratejinin var olmadığını iddia etmiyoruz. Daha dar ve çok daha güçlü bir şey iddia ediyoruz: bu strateji ailesi içinde, bu veri üzerinde, bu arama yoğunluğunda, görünürdeki performansı denediğimiz şeylerin sayısına karşı düzeltmeden sonra ayakta kalan hiçbir konfigürasyon yoktur. Getiri gibi görünen her şey, gürültünün en iyisinin güven bandının içindedir. Bu kesin, yanlışlanabilir, savunulabilir bir ifadedir — ve yayımlanması gereken doğru olandır.
Makinenin yendiği baştan çıkarma muazzamdır ve her diğer alanda bir adı vardır: dosya-çekmecesi problemi (file-drawer problem). Negatif sonuçlar gömülür; pozitif sonuçlar yazılır. İşlemde teşvik daha da keskindir, çünkü deflate edemediğiniz pozitif sonuç sadece kötü bir makale değildir — o, gürültüye karşı konuşlandırılmış sermaye, bir sinyal sandığınız bir piyango biletini işlemek için gerçek ücretler ödeyen gerçek paradır. İleriye-bakış makalesi bir sızıntının 15'lik bir Sharpe imal ettiğini gösterdi; DSR makalesi bir aramanın hiç sızıntı olmadan saf gürültüden 1.63'lük bir Sharpe imal ettiğini gösterdi. Bu makale, o araçlar kendi en sevdiğiniz fikrinize yöneltilip dürüst olmaları istendiğinde neye benzediğidir. Aygıt — DSR, PBO/CSCV, etkin-N kümeleme, enstrümanlar-arası seçim — stratejilerinizi kutsamak için var olmaz. Gürültünün en iyisini alfa diye piyasaya sürmenizi engellemek için var olur ve çalıştığının tek kanıtı, bazen hayır demesidir.
Bu aygıta sahip olmayan bir ekip +16.35%'i piyasaya sürerdi. Temiz görünen bir walk-forward, pozitif bir holdout, tespit edilebilir bir ileriye-bakış sızıntısı olmayan ve inandırıcı bir hikaye olurdu. Yanılmış olurlardı ve bunu, canlı K/Z ayrışana kadar bilmezlerdi — dürüst-ama-negatif bir sonucun asla açıklamak zorunda kalmadığı backtest-canlı boşluğu, çünkü asla canlıya geçmedi. Titiz bir hayır'ın değeri, hiç almadığınız düşüşlerle (drawdown) ölçülür.
Kaynak (Provenance)
Bu makaledeki her sayı, anlatıya değil koda dayanır. Enstrümanlar-arası getiri avı — beş sembollü yükleme, paylaşılan bölünmeler, semboller-arası medyan amaç fonksiyonu, kapılara beslenen eşit ağırlıklı portföy matrisi — backtester deposundaki scripts/edge_hunt_multitf.py (commit acd84e8) içinde yaşar. Onun çağırdığı istatistiksel kapılar — olasılıksal ve deflate edilmiş Sharpe, minimum sicil uzunluğu (minimum track-record length), ONC kümeleme aracılığıyla etkin-N ve CSCV aracılığıyla PBO, hepsi bir kara-kutu kütüphanesi yerine birincil kaynaklara karşı NumPy/SciPy üzerinde sıfırdan uygulanmış — scripts/overfit_gates.py (commit 7b966e1) içindedir; bu, saf gürültüye bilinen bir getiri yerleştiren ve kapıların onu geçirdiğini ve gürültüyü reddettiğini doğrulayan bir öz-testle birlikte gelir. Cazip +16.35%'i üreten tek sembollü ETHUSDT çalışması, avın salt-okunur olarak içe aktardığı daha önceki bench_search_multitf düzeneğinden geldi. Buradaki hiçbir şey elle hesaplanmış bir rakam değildir; cevap evet de olsa hayır da olsa kapılar aynı kod yoludur.
Çıkarımlar
- Beş ana coin üzerinde, çift ve üçlü zaman dilimli on binlerce backtest çalıştırdık ve sağlam bir getiri bulamadık — ve bu, makinenin üretmek için inşa edildiği sonuçtur. Titizlikle oluşturulmuş bir negatif sonuç, bir başarısızlık değil bir bulgudur.
- Temiz görünen bir örneklem dışı sayı bir getiri değildir. ETHUSDT kazananı, hiç ileriye-bakış sızıntısı olmadan, örneklem dışında +16.35% ve dokunulmamış bir holdout'ta +2.62% bastı — ve arkasındaki ~37,000 denemeyi saydığınızda DSR 0.00'a deflate oldu. Örneklem dışı, ileriye-bakışı temizler; yalnızca deflasyon seçimi temizler.
- False Strategy Theorem bunun nedenidir. ~30,000 denemede, saf gürültünün en iyisi, yalnızca seçimle sıfırın yaklaşık dört sigma üzerinde oturur. 0.19'luk bir günlük Sharpe, tam olarak o piyangonun ödediğidir. Kazananınızı gürültü tavanıyla karşılaştırmalısınız, asla sıfırla değil.
- Sağlamlık, sadece zaman boyunca değil, enstrümanlar boyunca yaşar. Beş sembol boyunca medyana göre seçim, tek-coinlik bir illüzyonu teşhis edilebilir bir hale getirdi: çift DSR 0.24 / PBO 0.264, üçlü DSR 0.14 / PBO 0.327 — ikisi de her iki kapıyı geçemiyor ve üçlü (daha fazla parametre) her metrikte çiftten daha kötü.
- Ona güvenmeden önce şampiyonu aç. Üçlü zaman dilimli "portföy" şampiyonu, 5 sembolden 1'inde kârlıydı (SOL +14.74%; ETH −0.39%, BTC −0.38%, BNB −8.58%, XRP −4.13%) ve holdout'ta yalnızca 5'te 1 için pozitifti. Tek bir enstrümanda yaşayan ve yeniden aradığınızda hareket eden bir getiri, bir getiri değildir — bir portföyün kılığına girmiş bir aşırı-uydurmadır.
- Negatifi yayımla. Aşırı-uydurma önleme aygıtı — DSR, PBO/CSCV, etkin-N, enstrümanlar-arası seçim — tam olarak size bazen hayır dediği için sahip olmaya değer ve disiplin, dediğinde onu dinlemektir.
En çok işe yaramasını istediğimiz strateji işe yaramadı. Bunu yakalamak için inşa ettiğimiz araçlar, tek bir dolar riske girmeden önce bize bunu dört bağımsız şekilde söyledi. Serinin tüm meselesi budur ve bu, meselenin karşılığını verdiği makaledir: makine, hakkını sizi durdurduğu gün kazanır — sizi pohpohladığı gün değil.
Yazarlar
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.