NOT 0014 / ARAŞTIRMA
1.000 yazı turanın en iyisi, en iyi trading kuralımı yendi
Döviz bar verisinde uzun bir süre işlem yapılabilir bir edge aradım. Bulamadım. Bu yazı, bunu kabul edene kadar ne ölçtüğümü anlatıyor — çünkü ölçümler sonuçtan daha faydalı ve neredeyse kimse yayınlamıyor.
Sonuncusu başlığın sebebi. Hiç fiyat okumayan bin strateji ürettim — kararlarını yazı tura ile veriyorlar — ve diğer her şeyle aynı 28 enstrüman ve 3.113 günlük bar üzerinde koşturdum.
tried best so far median so far
------------------------------------------
1 824.40 824.40
10 1067.65 93.35
50 2194.70 -319.20
100 2194.70 -132.20
500 2447.70 -405.70
1000 2862.55 -392.40
the best rule this crate actually found, on these bars
cross-sectional momentum, 20-day 944.30
it beats 901 of 1000 coins (90th percentile)
Medyan para kaybediyor — maliyetlerin yaptığı şey bu. Ama en iyi para, hiçbir şey okumadan 2.862 yaptı; benim her şeyi okuyarak bulduğum en iyi kural 944. Yani gerçek sonucum saf gürültünün 90'ıncı yüzdeliğinde oturuyor. Bir şeye benzeyecek kadar iyi, ve bin kez yazı tura atıp en şanslısını saklayarak ulaşılabilir.
Denediğin her konfigürasyon, bir sonucun anlam ifade etmesi için aşması gereken barajı yükseltiyor — ve zayıf bir edge'in büyümesinden daha hızlı yükseltiyor.
Düzenek nasıl kuruldu
Aşağıdaki her şey tek bir taşınan hesap üzerinde walk-forward koşuyor: dilimler ardışık, bakiye aralarında devam ediyor, ve bir risk kapısı günlük ya da ömür boyu zarar sınırını aşacak emirleri reddediyor. Bu son kısım kulağa geldiğinden daha önemli. Kapı hangi işlemlerin hiç gerçekleşeceğini değiştiriyor, yani bir konfigürasyon küçükken kârlı olup, büyükken iyi işlemlerine hiç ulaşamayabiliyor. Pozisyon boyutu sona eklediğin bir çarpan değil.
Maliyetler varsayılmıyor, her dolumda enstrümanın kontrat şartlarından tahsil ediliyor. Gidiş-dönüş spread'i bir kez ödüyor, komisyon lot başına ve taraf başına.
1. Kural para kazanıyor mu
Dokuz seri, 1.764 işlem, üç maliyet modeli:
series trades no costs retail raw + comm -------------------------------------------------------------- EURUSD_M15 214 1000.00 874.75 573.92 GBPUSD_M15 281 3515.25 3155.50 2960.44 AUDUSD_M15 205 -1242.25 -1503.75 -1654.62 NZDUSD_M15 166 -384.25 -757.75 -716.89 USDCAD_M15 244 -2340.00 -2549.16 -2815.70 EURUSD_H1 200 750.00 595.50 351.42 GBPUSD_H1 211 1125.00 932.75 705.22 AUDUSD_H1 111 625.00 515.00 404.18 USDCAD_H1 132 720.00 642.24 466.64 -------------------------------------------------------------- total 3768.75 1905.08 274.62
Pozitif, ama kıl payı, ve tek bir enstrümanda toplanmış. Sonucun tamamını on beş dakikalık GBPUSD taşıyor; onu çıkarırsan toplam derin negatife düşüyor. O 1.764 işlem üzerinde 0,38'lik bir t-istatistiği, düz Türkçesiyle sıfırdan ayırt edilemez demek.
2. Sorun maliyetler mi
Bariz sonraki hamle daha ucuz bir hesap: perakende markup yerine ham spread artı komisyon. Fatura:
the bill, retail: 1863.67 the bill, raw: 3494.12
Ham hesap daha pahalı. Bu işlem boyutlarında ve sıklıklarında komisyonu, tasarruf ettiği spread'den fazlaya mal oluyor. Maliyet, göründüğü kaldıraç değilmiş.
Bu maddede net olmak istiyorum, çünkü önce yanlış yaptım. Maliyet tablomdaki komisyon sabiti yüz kat küçüktü — yanındaki yorum 7_000_000 derken kodda 70_000 yazıyordu. Yanlış sabitle ham hesap daha ucuz görünüyordu ve sonuç tersine dönüyordu. Düzeltmesi tek bir hane; yukarıdaki tablo düzeltilmiş koşu, ve artık birimi sabitleyen bir test var, o hane bir daha kayamaz.
3. Sorun zaman dilimi mi
Etki gerçek ama küçükse, daha hızlı bir saat sana daha çoğunu verir. Dört saat, aynı kurallar:
total -72015.24 -68845.50 -48774.23 -41090.31 trades 116959 121139 63936 2094 spread paid 73863.09 61259.14 27256.02 798.08 before costs 1847.84 -7586.35 -21518.20 -40292.23
Önce en alt satırı oku. Maliyet öncesi, piyasayı doğru okuyan tek saat bir dakikalık olan — ve dördü içindeki en kötü hesap da o, çünkü piyasayı bir dakikalık saatte okumak, bir dakikalık saatte işlem yapmak demek.
73863.09 spread ödeyip 1847.84 edge satın alındı tarife, sinyalin 40 katı
Diğer uçta günlük saat neredeyse hiçbir şey ödemiyor — 798 spread — ve ödeyecek bir şeyi de yok: tek kuruş maliyet işlenmeden önce eksi 40.292. Etki gerçek ve tam olarak quote akışının söylediği yerde. Bar üzerinde ise kendi boyutunun katlarını ödemeden ulaşılamıyor.
4. Sorun genişlik mi
Temel Yasa, bilgi oranının bağımsız bahis sayısının kareköküyle ölçeklendiğini söylüyor. O zaman: bir enstrüman yerine 28, ve her pariteyi tek başına almak yerine bir sıralamanın iki tarafını birden tutmak.
rule net costs trades
--------------------------------------------------------------------
each pair on its own -3170.50 2047.85 8241
ranked, both sides held -1344.55 887.15 3480
gross of costs
each on its own -1122.65
paired -457.40
what holding both sides was worth: 1825.95
Eşleştirme 1.826 değerinde ve bu gerçek, temiz bir iyileşme. Aynı zamanda konu dışı: iki kural da maliyet öncesi kaybediyor. Şekil piyasayı baştan yanlış okuyor, ve genişlik içinde iyileştirilecek bir şey olmayan bir şeyi iyileştirmiş.
Genişlik, sahip olduğun bir edge'in t-istatistiğini yükseltir. Edge imal etmez.
Ölçümün beni yakaladığı üç yer
Faydalı kısım burası.
Spread'i iki kez saydım. Erken bir tick seviyesi tahmininde bir gidiş-dönüşe girişte iki yarım spread, çıkışta iki yarım spread yazdım. Gidiş-dönüş onu bir kez öder. Hata, yaşayabilir görünen bir etkiyi gerçek boyutunun yaklaşık yarısı gösterdi — ve yanlış yönde, ki tehlikeli olan o: gerçek bir şeyi elemem ile sonuçlanabilirdi.
Market-neutral kurgum bir no-op'muş. Nötrlüğü, kesitsel skorları sıralamadan önce ortalamalarından arındırarak uyguladım. Her skordan aynı sabiti çıkarmak monoton bir dönüşüm. Hiçbir sıralamayı değiştirmez, dolayısıyla hiçbir pozisyonu değiştirmez. Nötrlük iki tarafı aynı anda tutmaktan geliyor ve düzenek onu zaten yapıyordu; ortalamadan arındırma tören. Kaldırdığımda ölçüm değişmedi, zaten böyle öğrendim.
Trailing stop işi kötüleştirdi. Erken koşulardaki her pozisyonun sabit bir kâr hedefi vardı, ki bu sağ kuyruğu kesip slipaj yüzünden sol kuyruğu açık bırakıyor — momentum şeklindeki her şey için yapısal olarak ölümcül. Edge'i bunun sakladığından emindim. Trailing çıkış ekledim ve sonuç beş lookback'in dördünde kötüleşti. Yapısal kusur gerçekti, arkasında bir şey yoktu.
Bunların her biri inandığım bir hipotezdi. Hepsini bitiren şey, her birinin koşmadan önce iliştirilmiş bir sayısı olması ve sayının geri gelip hayır demesiydi.
Aramayı asıl kapatan şey
Yukarıdakilerin hiçbiri değil. Tek bir negatif ölçüm yanlış şeyi denedin demektir; bu açıklama her zaman elinin altındadır ve bu tür aramaların kendi kendine bitmemesinin sebebi de odur.
Kapatan şey paralar. 1.764 gözlem ve 0,38'lik bir t ile, bin şekil daha denemek edge'i daha erken bulmaz — orada olmayan birini bulmayı garantiler, ve o bulduğun şey veriyi okuyarak bulduğum her şeyden daha iyi görünür. Baraj, kabaca denediğin şey sayısının logaritmasının iki katının kareköküyle yükseliyor, ve zayıf bir etki hiç büyümüyor.
Yani dürüst ifade "FX barlarında edge yoktur" değil. Daha dar ve test edilebilir: bu örnekleme frekansında, bu maliyet varsayımlarıyla, bu enstrüman kümesinde, denediğim hiçbir şey şanslı bir paranın ürettiğinden ayrışmadı. Bu, bir arama hakkında sınırlı bir iddia — ve bu tür bir çalışmanın destekleyebileceği tek iddia türü.
Başlayan birine söyleyeceğim şey
Önce null'ı kur. İlk gerçek stratejiden önce, hiç okumayan birkaç yüz tane üret ve sonuçlarının dağılımını kendi verinde, kendi maliyetlerinle, kendi düzeneğinden geçirerek kaydet. Bir öğleden sonraya mal olur, ve o andan itibaren aldığın her sonuç yanında gürültünün ne sıklıkta o kadar iyi yaptığını söyleyen bir sayıyla gelir. Benimki 90'ıncı yüzdelik dedi, ve o cümlenin funded hesapla biten hiçbir versiyonu yok.
Maliyetleri kontrattan tahsil et, yazdığın bir sabitten değil. Birimi bir testle sabitle. Bir maliyet sabitindeki yüz katlık hata sonuçlarımdan birini tersine çevirdi ve bunu yaparken çıktıda yanlış görünen hiçbir şey yoktu.
Ve aramayı neyin bitireceğini başlamadan önce yaz. Ben yazmadım, iki ölçüm yerine sekiz ölçüm sürmesinin sebebi bu.