Makale içeriği
- Kanıt ve kapsam
- Çizim
- Süreç
- Zamana özgü bir zarf, sabit bir yüzdelik aralık değil.
- Veri hizalaması, neyin bilinebilir olduğunu belirler.
- Açık bir hedef pozisyon kuralı tanımlayın
- Volatiliteye göre pozisyon boyutu ayrı bir maruziyet kaynağıdır
- Sentetik aritmetik ve başarısız bir devamlılık
- Yayınlanmış kanıtlar ve tekrarlanabilir bir karşılaştırma
- Yaygın hatalar
- Uygulamalı kontrol listesi
- Sık sorulan sorular
- Araştırma kaynakları
Kanıt ve kapsam
Makale, Mayıs 2007–Nisan 2024 dönemi için belirtilen komisyon ve kaymayı dahil ederek +1,985% toplam getiri, 19.6% IRR, 1.33 Sharpe ve 25% azami zirveden düşüş bildirir. Bu sonuçlar yazar tarafından raporlanmıştır; burada bağımsız geriye dönük test yapılmamıştır. [1]
Uygulamalı iş akışı
- Geçmiş veriyi hazırlayınÖnceki 14 seansı aynı saatlerle hizalayın ve günlük volatiliteyi hesaplayın.
- bantlar oluşturunTutarlı kurumsal işlem düzeltmeleriyle açılış ve önceki kapanışı dayanak alın.
- VWAP güncellemesiYalnızca mevcut seansın zaten alınmış işlem hacmini kullanın.
- Planlanan şekilde değerlendirinKontrol barı kapandıktan sonra uzun, kısa veya sıfır pozisyon hedefi belirleyin.
- İcra et ve tasfiye etHer pozisyon değişiminin maliyetini işleyin ve seans son sınırına kadar pozisyonu kapatın.
- Bileşen katkılarını ayırınBant, VWAP ve pozisyon boyutunu daha önce kullanılmamış verilerde karşılaştırın.
Zamana özgü bir zarf, sabit bir yüzdelik aralık değil.
Açılış oynaklığı ve öğle oynaklığı farklı dağılımlara sahiptir. Gürültü bandı fikri, seans açılışından itibaren normal mutlak hareketi her gün içi saat diliminde ayrı ayrı ölçer. Öğleden önceki gözlemler, ardışık dakikaların kayan bir dizisiyle değil, önceki seansların öğleden önceki gözlemleriyle karşılaştırılır.
k zamanı için sigma(d, k) = mean(abs(P(d−j, k)/Open(d−j)−1), j=1…14) tanımlayın. Yalnızca tamamlanmış önceki seanslar temel değeri nedensel kılar. Üst sınır U(d, k)=max(Open(d), PreviousClose(d))×(1+sigma(d, k)); alt sınır L(d, k)=min(Open(d), PreviousClose(d))×(1−sigma(d, k)) olur. Boşluğu dikkate alan dayanak fiyatlar, gecelik fiyat boşluğunda zarfı genişletir.
Bu sigma, dakika bazındaki getirilerin standart sapması değil, ortalama mutlak yer değiştirmedir. Bunu geleneksel bir kayan volatilite göstergesiyle değiştirmek sinyali değiştirir. Ayrıca, açılışta oluşan büyük bir boşluk, açılıştan sonraki büyük bir hareketten farklı bir etkiye sahiptir çünkü ankraj noktaları ve gün içi yer değiştirme farklı roller oynar.
Strateji hipotezi, fiyatın olağan gün içi dalgalanmanın ötesine geçmesinden sonra da devam etmesidir. Bir haber kaynaklı ani yükselişin tersine dönmesi, önceki 14 seanslarının mevcut oynaklığı olduğundan düşük göstermesi veya fiyatın tekrar tekrar sınırı aşması durumunda başarısız olabilir. Yüksek hacimli bir kırılma bu sonuçların hiçbirini dışlamaz.
Veri hizalaması, neyin bilinebilir olduğunu belirler.
Çalışma, IQFeed dakika verilerini kullanmaktadır. Bildirilen sonuçlar arasında $0.0035 komisyonu ve $0.001 hisse başına kayma yer almaktadır. [1] Bunlar, geçmişteki her emrin bu maliyetle gerçekleştirilebileceğine dair bir güvence olmaktan ziyade, açık varsayımlardır.
Geçmiş matrisi borsa seansına ve saatine göre oluşturun. Tatil, yaz saati değişimi ve kısa seanslar takvime göre işlenmelidir. Eksik 10:00 gözlemi sıfır getiri değildir. Eksik geçmiş seansın dışlanacağını mı, mevcut kararın devre dışı bırakılacağını mı belirtin.
Açılış, önceki kapanış ve geçmiş fiyatlar için tutarlı bir kurumsal işlem kuralı kullanın. Ayarlanmış önceki kapanışı ayarlanmamış mevcut açılışla karıştırmak bir fark yaratabilir. Ham işlem serilerini, getirileri tahmin etmek için kullanılan dönüştürülmüş serilerden ayrı olarak saklayın.
VWAP oturumu yalnızca alınan işlemleri veya tamamlanmış çubukları kullanmalıdır. Çubuk bazlı bir yaklaşım, çubuk hacmine göre ağırlıklandırılmış tipik fiyatı ((H+L+C)/3) kullanabilir; bu, işlem düzeyindeki bir kıyaslamadan farklıdır. Bu fark, özellikle geniş aralığa sahip çubuklar için, daha yüksek çözünürlüklü verilerin mevcut olduğu yerlerde ölçülmelidir.
Açık bir hedef pozisyon kuralı tanımlayın
Önerilen uygulama yalnızca önceden belirlenen yarım saatlik anlarda değerlendirir. Fiyat max(U, VWAP) üzerinde ise hedef uzun pozisyon, min(L, VWAP) altında ise kısa pozisyon, aksi durumda pozisyonsuz olmaktır. Bar erişilebilir olduktan sonra hedef gönderilir. Bu ayrı araştırma varyantıdır; sürekli koruyucu çıkışlarla planlı pozisyon güncellemelerini sessizce eşdeğer saymayın.
Kontrol anları arasında geçici sınır geçişi yeni karar üretmez. Sürekli aktif koruyucu stop istenirse ayrı olay kuralı olarak tanımlayın ve ek işlem devrini test edin. Yarım saatlik girişlerle tik düzeyinde çıkışlar, tüm pozisyonu yalnızca yarım saatte bir değiştiren stratejiden farklı fiyat yolu bağımlılığı taşır.
Hedef, istenen bir pozisyondur, tekrar tekrar yeni bir pozisyon ekleme talimatı değildir. +q hissesinden −q'ya geçmek, 2q hissesinin satılmasını gerektirir. +q'dan sıfıra geçmek ise q hissenin satılmasını gerektirir. Maliyetler, tersine çevirme işleminin her iki ayağı da dahil olmak üzere, gerçek pozisyon değişikliğini takip etmelidir.
Zorunlu kapatma anında pozisyonu tamamen kapatmak yeni giriş sinyalinden önceliklidir. Üretim tanımında nihai çıkıştan önce gerçekleşmemiş giriş emirlerini iptal edin ve iptal sırasında gelen gerçekleşmeleri uzlaştırın.
before_session(d):
bands = build_from_completed_sessions(d, lookback=14)
daily_vol = sample_std(previous_14_daily_returns)
if data_incomplete or not isfinite(daily_vol) or daily_vol <= 0:
disable_session(); return
multiplier = min(4, 0.02 / daily_vol)
shares = floor(previous_equity * multiplier / session_open)
on_completed_bar(k):
if is_liquidation_deadline(k):
cancel_pending_entries(); submit_flat(); return
if session_disabled: return
update_session_vwap()
if is_decision_time(k):
target = 1 if close > max(upper[k], vwap) else (
-1 if close < min(lower[k], vwap) else 0)
submit_target_after_available_at(target * shares)
Volatiliteye göre pozisyon boyutu ayrı bir maruziyet kaynağıdır
Bir pozisyon boyutlandırma tanımı multiplier = min(4, 0.02/s) şeklindedir; burada s, önceki 14 tamamlanmış günlük getirinin örneklem standart sapmasıdır. Hisse adedi floor(previous account equity × multiplier / session open) olur. 2% hedefi ve kaldıraç tavanı bu yapılandırmaya aittir; evrensel risk önerileri değildir.
s sıfır, eksik veya sonlu olmayan bir değer olduğunda, sınırsız boyut oluşturmak için bölme işlemine izin vermektense oturumu devre dışı bırakmak daha güvenlidir. Minimum oynaklık tabanı farklı bir kural olarak belirlenebilir. Boyutlandırma serisi, mevcut günün kapanış getirisiyle yeniden hesaplanmak yerine, oturumdan önce sabitlenmelidir.
Kaldıraçlı ve kaldıraçsız sürümleri ayrı gösterin. Makalenin bir kat maruziyetli sürümü +380% toplam getiri, 9.7% IRR, Sharpe 1.24 ve 12% azami sermaye düşüşü bildirir. [1] Maruziyet politikası da değiştiğinde sonuç farkının tamamı daha iyi giriş sinyaline atfedilemez.
Büyüklük sınırları ek operasyonel kısıtlamalar gerektirir. Alım gücünü, brüt nominal değeri, aracı kurum marjını ve işlem aralığına katılımı kontrol edin. Son dönemdeki sakin bir döneme dayalı bir risk alma kuralı, volatilite sıçramasından hemen önce büyük pozisyonlar oluşturabilir; bu nedenle, boşluk ve gecikmeli çıkış stres testleri gereklidir.
Sentetik aritmetik ve başarısız bir devamlılık
Önceki kapanış 500, bugünkü açılış 505 ve kontrol anındaki sigma 0.003 olsun. U=505×1.003=506.515 ve L=500×0.997=498.50 olur. Asimetri açılıştaki fiyat boşluğundan kaynaklanır. 505 çevresindeki simetrik bant aynı hesap değildir.
10:00'de, VWAP'nin 506.20 ve tamamlanmış kapanışın 506.80 olduğunu varsayalım. Önerilen kural, 506.80'nin max(506.515,506.20)'yi aşması nedeniyle uzun pozisyonu hedeflemektedir. Eğer emir 506.86'de gerçekleşir ve 509.00'de kapanırsa, maliyetler öncesi hisse başına fiyat kazancı $2.14 olur. Gerçekleşme kasıtlı olarak daha geç ve sinyal kapanışından farklıdır.
Başarısız senaryoda 10:30 kapanışı 506.30, güncel üst bant 506.60, VWAP 506.50 olur. Hedef pozisyon sıfıra döner. 506.24 çıkış fiyatı, 506.86 girişinden hisse başına $0.62 kayıp doğurur. Daha önce bandın altına geçiş, planlı karar veren uygulamaya geriye dönük daha iyi çıkış sağlamaz.
Eşitlik ve zamanı açıkça test edin: katı karşılaştırmalarda tam eşikteki kapanış pozisyonsuz hedef verir; geç alınan gözlem önceki gerçekleşme fiyatını kullanamaz; yetersiz geçmişi olan seans tam hesaplanmış bant üretemez. Bu küçük durumlar açık uygulamalar arasındaki büyük farkları açıklayabilir.
Yayınlanmış kanıtlar ve tekrarlanabilir bir karşılaştırma
Makalenin günlük isabet oranı 43% iken, işlem tablosu 7,668 işlemde 37% raporlamaktadır. [1] Bu paydalar farklı soruları yanıtlamaktadır. IRR, toplam getiri, işlem başına kazanma oranı ve karlı gün sıklığını ayrı alanlarda tutun.
Yazarların kamuya açık kod makalesi, VWAP, pozisyon kaymaları ve mekaniği incelemek için faydalıdır, ancak eksiksiz örnek aynı zamanda gecelik boşluk ortalama geri dönüş bileşenini de içerir. [2]'nin birleşik öz sermayesi otomatik olarak yalnızca gün içi momentum bileşenine atfedilemez.
Ayrı bir kamuya açık depo README dosyasında, Mayıs 2024–Mart 2026 dönemi için örneklem dışı Sharpe oranı 0.39, yıllık getiri 4.8% ve maksimum düşüş 18.5% olarak raporlanmıştır; bu değerler, örneklem içi Sharpe oranı 1.34 ile karşılaştırılmıştır. Burada yalnızca README dosyası incelenmiştir; lisanslı verileri ve tam yürütülmesi bağımsız olarak yeniden üretilmemiştir. [3]
Yalnızca gürültü bantlarını, bantlar artı VWAP ve aynı sinyallerin volatiliteye göre pozisyon boyutu kullanan sürümünü ayırın. Gerçekleşme, veri düzeltmeleri ve değerlendirme tarihleri aynı kalsın. VWAP giriş kalitesini, çıkış zamanını, piyasada kalma süresini veya yalnızca işlem devrini mi değiştiriyor, raporlayın.
Getirilerden önce günlük bant dizilerini ve hedef pozisyon zamanlarını karşılaştırın. Ardından belirtilen ve artırılmış maliyetleri, bir bar gecikmeyi, yakın geçmiş pencere uzunluklarını ve bağımsız piyasa dönemlerini test edin. Amaç sonucu hangi varsayımların desteklediğini bulmaktır; istenen başlık tekrar çıkana kadar aramak değildir.
Yaygın hatalar
Varyantı yeniden adlandırmadan gürültü istatistiğini değiştirme
Açılıştan belirtilen saate ortalama mutlak fiyat hareketi, kayan standart sapma değildir. İkame hem eşik ölçeğini hem ekonomik anlamı değiştirir.
Planlanmış sinyallerin sürekli yürütülmesi
Yalnızca yarım saatte bir karar aldığını iddia eden test, her bar içi sınır geçişini kullanarak çıkışları yapay biçimde iyileştirebilir. Giriş ve çıkış olay sıklıklarını ayrı belirtin.
Birleşik kod örneğini tek bir bileşene atfetme
Boşluk ortalama geri dönüşü ve momentum içeren bir örnek, her iki bileşenin de doğrulanabilmesi için önce ayrı ayrı nitelendirmeye ihtiyaç duyar.
Bu yöntemi kullanmadan önce kontrol listesi
Her maddeyi kendi verilerinizle doğruladıktan sonra işaretleyin. İlerleme bu tarayıcıda saklanır; stratejinin kârlı olduğunu belgelemez.
Sık sorulan sorular
VWAP, üst veya alt gürültü bandıyla aynı mı?
Hayır. VWAP, hacim ağırlıklı mevcut seans fiyat referansıdır; bantlar, eşleşen zamanda önceki seanslara göre tipik sapmayı tahmin eder.
Bildirilen Sharpe oranı günümüzdeki karlılığı ortaya koyuyor mu?
Hayır. Belirli bir örneklem ve maliyet modelini tanımlar. Daha sonraki dönem kanıtları, uygulama tekrarı ve belirsizlik ayrı olarak değerlendirilmelidir.
Araştırma kaynakları
Her kaynak, yanında açıklanan tanımı veya kanıtı destekler. Sözde kod, sentetik örnekler ve önerilen parametreler ayrı ayrı doğrulanmalıdır.
- Beat the Market: An Effective Intraday Momentum Strategy for S&P500 ETF (SPY)Zarattini, Aziz, Barbon — bản 03/02/2025. 3 Şubat 2025 sürümü dahil PDF bütünü incelendi. Tablolar 3 ve 4, fiziksel ve basılı sayfalar 15 ve 16 üzerindedir. Yeni bir yeniden üretim testi çalıştırılmadı. Kontrol tarihi: .
- Designing a Profitable Intraday Strategy Using Python and AlpacaConcretum Group. Yazarların makalesi ve herkese açık kod okundu. Tam örnek, ek bir gecelik boşluk bileşeni içerir ve otomatik olarak saf bir momentum replikasyonu değildir. Kontrol tarihi: .
- Out-of-Sample Evaluation of an Intraday Momentum Strategy for SPYSheimy Paz Serpa. Yalnızca depo README dosyası incelenmiştir; tam lisanslı girdiler ve bildirilen örnek dışı yürütme bağımsız olarak yeniden üretilmemiştir. Kontrol tarihi: .
İlgili yöntemler
Risk notu
Bu içerik eğitim ve araştırma tasarımı içindir; finansal tavsiye değildir. Backtest geçmiş verileri simüle eder, gelecekteki performansı garanti etmez ve gerçek işlem emri vermez. Kütüphanedeki yöntemlerin tümü uygulamada hazır özellikler olmayabilir. İlgili bilgiler: metodoloji ve öğrenme merkezi.
Gerçek sermayeyi riske atmadan önce kuralları doğrulayın
Uygulama desteğini, verileri ve her simüle işlemi kontrol edin; gelişmiş tespit yöntemleri ayrı bir uygulama gerektirebilir.
Backtest uygulamasını App Store’dan indirin