Stratejiler
Açık Genişleyen Uygunlukla Sektör ETF 52 Haftalık Zirve Çıpa Farkı
Sonuç: Terk Edildi
IndustryEtfHighAnchoringSpread
Sonuç Özeti
Dört yinelemeden sonra IndustryEtfHighAnchoringSpread, genişleyen ETF uygunluğu ve korunan erken geçmişle aylık uzun-kısa yüksek çıpa farkını test etti. 39 kapanmış pozisyonu -7.08% getiri ve -0.0725 Sharpe üretti; belirlenen drawdown kilidi uyarınca işlemler 2001 tarihinde sona erdi. Backtest incelemesi, optimizasyona geçmeden önce negatif beklenti nedeniyle temel yapılandırmayı terk etti; ancak muhasebe veya veri kusuru olduğunu ileri sürmedi ve yüksek çıpa fikrini evrensel olarak reddetmedi.
Hipotez
Ayrıntılı hata, yapılandırma uyuşmazlığını ortaya koyuyor: point_in_time_universe’ın atlanması, geç başlayan ek ayak geçmişinin deneyin ilk yıllarını kaldırmasına izin verdi. Bu parametreyi açıkça düzeltip koruyun, bireysel uygunluk ısınmasını sürdürün ve eksik sıralama panellerinin risk izlemesini engellemesini önleyin. Danışma amaçlı kısa pencere kayıpları, amaçlanan geçmiş değerlendirilmeden önce istenen deneyi değiştirmeyi haklı çıkarmadığından mekanizmayı ve kısa kolu koruyun. Önceki çalışmaların taraması, ilgili çapraz varlık ETF ve OKX çıpa testlerini buldu; bu nedenle genel sinyal yeniliği iddia edilmiyor. Portföy ve veri kümesi yoğunlaşma ölçütleri sunulmadı; sayısal çeşitlendirme iddiası yapılmıyor.
Bu Araştırma Lideri uygulamasında ölçülen beklenti negatiftir: 39 kapanmış pozisyon $7,083.20 kaybettirir; PF 0.748 ve işlem başına ortalama net getiri, +0.05% USEQ inceleme referansına kıyasla -1.6312% düzeyindedir. Modellenen piyasa etkisi ve borçlanma maliyeti geri eklendiğinde de yaklaşık $5,409.89 kayıp kalır. Optimizasyonu destekleyecek kanıtlanmış bir uygulama kusuru veya test edilmiş uygulanabilir parametre bölgesi yoktur. Kayıtlı drawdown kilidi hareketsiz kuyruğu açıklar; muhasebe ya da veri kusuru ileri sürülmemektedir. Bu sonuç, ölçülen temel yapının ilerletilmesini reddeder; sunulan yüksek çıpa fikrini evrensel olarak reddetmez. Alternatif geriye bakış süreleri test edilmemiştir.
Uygulama
Günlük 20-ETF genişleyen uygunluk paneli, her ayın son seans kapanışında kapanış fiyatının önceki günlük zirveye oranına göre sıralanır. Eşit dolar tutarlı ilk üç uzun pozisyon öz sermayenin 50%’sini, son üç kısa pozisyon ise 50%’ünü alır. Tam hisse adetli piyasa emirleri sonraki seans açılışında gerçekleşir. 15% portföy düşüşü pozisyonları kapatır ve değerlendirme döneminin geri kalanında işlemleri kilitler.
Gözden geçirilmiş mekanizmayı sıfırdan uygular. Açıkça point_in_time_universe=true koşulunu ve yapıcı doğrulamasını kullanarak ilk, optimizasyon, yeniden uyarlama ve tekrar oynatma yapılandırmalarında birincil geçmiş penceresi seçimini korur. Her ETF kendi tam geriye bakış süresini gerektirir. Artımlı, monotonik zirve tamponları her bar için gereken işi sınırlar. Yalnızca sıralama, uygun varlıkların hizalı panelini gerektirir; günlük portföy riski ile kalıcı skaler hisse hedefi yönetimi birbirinden bağımsız sürer. Azaltmalar eklemelerden önce tamamlanır; eksik paneller bekleyen hedefleri korur. Takvim ayı planlaması ile skaler risk/hedef durumu yeniden başlatmalar boyunca korunur. Araştırma planı tüm portföy kurallarını sabitler ve yalnızca 189–315 içinde lookback_sessions kullanımına izin verir. Sabit kalan-ETF listesi seçim yanlılığını korur; temettü ve borçlanma maliyetleri eksik modellenmeye devam eder. Amaçlanan geçmiş değerlendirilmeden önce, kısa pencereye ait danışma amaçlı kayıplar kısa kolun kaldırılmasını gerektirmez.
Doğrulama Sonuçları
Sandbox toplam getirisi +2.16481%; pozisyon nominal tutarı başına ortalama net getiri ise -0.075325%. Ekonomik sonuçlara varmadan önce tam geçmiş defterinde nominal tutar ağırlıklandırmasını ve kısmi pozisyon ayarlamalarını uzlaştırın; yalnızca bu işaret farkı muhasebe kusurunu kanıtlamaz. Sabit kalan-ETF evreni ile temettü/borçlanmanın eksik temsili, kayıtlı deneyin sınırlamaları olarak sürüyor.
Geriye Dönük Test İncelemesi
- Sharpe
- -0,07
- Toplam Getiri
- -7,08%
- Maksimum Düşüş
- 16,34%
- Toplam İşlem
- 39
- Kazanma Oranı
- 38,5%
- Kâr Faktörü
- 0,75
Genişleyen uygunluk etkindir ve erken geçmiş korunmuştur.
Defter uzlaşıyor: 39 kapanmış pozisyonun toplamı -$7,083.20; dönem sonu öz sermaye kaybı $7,083.19 ve açık pozisyon bulunmuyor.
PF 0.748; Sharpe -0.0725 ve işlem başına ortalama net getiri -1.6312% olup, USEQ +0.05% inceleme referansının altındadır.
Uzun pozisyonlar $12,364.85 kaybettirir; kısa pozisyonlar $5,281.66 kazandırır.
Tüm pozisyonlar 14, 2001 tarihinde kapanır. Sonraki hareketsizlik, belirlenen drawdown kilidiyle tutarlıdır; bu nedenle kataloğun tüm zaman aralığı onlarca yıllık aktif kanıtla eşdeğer değildir.
QA’ın ekonomik kaygısı doğrulanıyor. Sabit kalan-ETF seçimi ve temettü/borçlanmanın eksik temsili sınırlamalar olarak sürüyor.
Sunulan kıyas ölçütü bu uzun-kısa portföy için anlamlı değil.
Analiz
Araştırma Lideri, önceki öncül işe yaramadığı için bu hipotezi REVISED. REVISED hipotezini (hipotez açıklamasına bakın) sıfırdan uygulayın; önceki stratejiyi yeniden kullanmayın. Revizyon gerekçesi: Ayrıntılı hata, yapılandırma uyuşmazlığını ortaya koyuyor: point_in_time_universe’ın atlanması, geç başlayan ek ayak geçmişinin deneyin ilk yıllarını kaldırmasına izin verdi. Bu parametreyi açıkça düzeltip koruyun, bireysel uygunluk ısınmasını sürdürün ve eksik sıralama panellerinin risk izlemesini engellemesini önleyin. Danışma amaçlı kısa pencere kayıpları, amaçlanan geçmiş değerlendirilmeden önce istenen deneyi değiştirmeyi haklı çıkarmadığından mekanizmayı ve kısa kolu koruyun. Önceki çalışmaların taraması, ilgili çapraz varlık ETF ve OKX çıpa testlerini buldu; bu nedenle genel sinyal yeniliği iddia edilmiyor. Portföy ve veri kümesi yoğunlaşma ölçütleri sunulmadı; sayısal çeşitlendirme iddiası yapılmıyor.
İterasyon Geçmişi
Bir sonraki seans açılışında işlem gerçekleştirmek üzere ay sonu hedef geçişini uygulayın; NETTING hesabında doğru büyüklükte, işaretli pozisyon farkı emirleri kullanın (azaltmalar ve yön değişiklikleri dahil) veya desteklenen eşdeğer bir koordineli geçiş uygulayın. Birbirinden bağımsız yeni bacakları tüm kapanış pozisyonlarının tamamlanmasına bağlamak yerine, ilk yeniden dengeleme kararından gönderin. Bir bileşen değişiminin ve bir pozisyon büyüklüğü değişikliğinin, tam hisse ve uygun marjin işlemleriyle N+1 açılışında hedeflerine ulaştığını doğrulayın.
Tasfiye gerektiren herhangi bir bacak, küresel kapanış işaretini ayarlar ve ALL yeni giriş göndermeden önce döner. N ay sonunda, çıkan ETF için çıkış emri gönderilir; ancak farklı bir enstrümandaki yeni ETF için emir gönderilmez. Çıkış, N+1 seansının açılışında gerçekleşir; yerine geçen giriş emirleri ilk kez N+1 kapanışında gönderilir ve bu nedenle N+2 açılışında gerçekleşir. Büyüklüğü değiştirilen ve yönü tersine çevrilen bacaklarda da aynı gecikme vardır. Gerçek kapanış/giriş bloğunun yalıtılmış çalıştırılması bu sıralamayı yeniden üretti. Hipotez, N kapanışında alınan yeniden dengeleme kararının NEXT seansının açılışında gerçekleşmesini ve belirtilen uzun/kısa portföyün korunmasını gerektirir; bu gecikme, eksik bacaklarla izinsiz bir seans ekler ve muhtemel yönlü maruziyet yaratır. Strateji gerekçesindeki açıklama hipotezi değiştirmez.
Doğrulama başarısız (Katman 2 — sentetik senaryolar): Kullanılan parametreler: ['top_k', 'gross_exposure', 'lookback_sessions', '_optimization_plan', 'stale_bar_sessions', 'tiebreak_vol_sessions', 'resize_drift_tolerance', 'rebalance_every_sessions', 'book_drawdown_flatten_pct'] __init__ yönteminin self.parameters.get() ile tüm öznitelikleri ayarladığını kontrol edin. - steady_uptrend: AttributeError: 'NoneType' object has no attribute 'client_order_id' (bar zaman damgası: 1769806800000) - steady_downtrend: AttributeError: 'NoneType' object has no attribute 'client_order_id' (bar zaman damgası: 1769806800000) - flat_ranging: AttributeError: 'NoneType' object has no attribute 'client_order_id' (bar zaman damgası: 1769806800000) - volatility_spike: AttributeError: 'NoneType' object has no attribute 'client_order_id' (bar zaman damgası: 1769806800000) - zero_volume: AttributeError: 'NoneType' object has no attribute 'client_order_id' (bar zaman damgası: 1769806800000) - price_gap: AttributeError: 'NoneType' object has no attribute 'client_order_id' (bar zaman damgası: 1769806800000)
hypothesis_revised: Doğrulamada, kodlama denemeleri 3 tüketildi; bu bir kod hatası değil, CONTRACT sorunudur: inceleme, geliştiricinin uygulayamadığı veya değiştirmesine izin verilmeyen bir araştırma sözleşmesi gereksinimi buldu
config.parameters.point_in_time_universe=true ayarını yapın ve optimizasyon/yeniden uyarlama yapılandırmalarında koruyun. Her ETF için geriye bakış uygunluk mantığını koruyun. Tam geçmiş ve arama penceresi seçiminin, birincil ETF'nin mevcut geçmişinde başladığını; sonraki ETF'lerin ise yalnızca kendi lookback_sessions barlarından sonra katıldığını doğrulayın.
Sunulan config.parameters içinde point_in_time_universe=true yok. IPO farkındalıklı sıralamaya izin vermek için 26 satırı _sync_extra_iids değerini temizlese de geçmiş pencere seçimi stratejinin dışında gerçekleşir: src/backtesting/leg_window.py barrier_legs, bu parametre etkinleştirilmedikçe aynı zaman dilimindeki tüm ek ayakları içerir; runner.py/subprocess_entry.py ise yüklenen pencereyi en son ilk bara göre sınırlar. Sonuç olarak XLC’nın daha geç başlangıcı (veya katalog kapsamındaki daha sonraki bir sınır), özgün ETF’lerin kendi ısınma dönemleri sonrasında işlem görmesine izin vermek yerine XLC öncesi dönemi kaldırır. Bu, belirtilen 1998-2026 genişleyen uygunluk deneyiyle çelişir.
Sıralama için gereken hizalama koşulunu portföy risk izlemesinden ve mevcut hedeflerin yürütülmesinden ayırın. Eksik hizalı panel gerektiren sıralamayı erteleyip birincil seanslarda defter drawdown’ını izlemeyi sürdürün.
Yaşı en fazla beş seans olan ve ısınma dönemini tamamlamış herhangi bir ETF için aynı seansta bar bulunmaması, defter öz sermayesi/drawdown kontrolü ve _transition_targets çağrısından önce geri döner. Böylece geçici olarak verisi eksik tek bir ayak, diğer ETF’lerde güncel barlar olsa bile tüm portföyün drawdown izlemesini ve bekleyen hedeflerin yeniden denenmesini duraklatır.
Sonuç Özeti
Aktif işlem kanıtını uzun bir hareketsiz backtest kuyruğundan ayırın ve alternatif geriye bakış süreleri test edilmediğinden, bu temel yapılandırmanın reddini test edilen yapılandırmaya özgü kabul edin.
Backtest incelemesi, ölçülen beklenti negatif olduğu ve modellenen piyasa etkisiyle borçlanma maliyetleri geri eklendiğinde bile yaklaşık $5,409.89 tutarında kayıp kaldığı için terk edilmesi yönünde oy kullandı. Optimizasyon ve sonraki inceleme aşamalarına geçilmedi; temel yapının ilerletilmesini destekleyen kanıtlanmış bir uygulama kusuru veya test edilmiş uygulanabilir parametre bölgesi yoktu.
20 sektör ETF’lerini, son 52 haftalık zirvelerine yakınlıklarına göre her ay sıralayın; uygunluk kapsamını genişleterek en yakın üç ETF’yi eşit dolar tutarlarıyla alın, en uzaktaki üçünde eşit dolar tutarlarıyla açığa satış yapın.
Backtest, 39 kapanmış pozisyon boyunca -7.08% getiri ve -0.0725 Sharpe; 0.748 kâr faktörü ve işlem başına ortalama -1.6312% net getiri üretti. Maksimum drawdown 16.34% düzeyine ulaştı; tüm pozisyonlar 14, 2001 tarihinde kapandı ve sonraki hareketsizlik belirlenen drawdown kilidiyle tutarlıydı.
Stratmill bir araştırma ve kağıt üzerinde işlem (paper trading) aracıdır; finansal danışmanlık veya aracı kurum değildir. Geriye dönük test ve kağıt üzerinde işlem sonuçları varsayımsaldır. İşlem yapmak kayıp riski taşır.