Bir filtre olarak makine öğrenmesi
69. ders bu sayfaya bir ızgara bıraktı. Altı hiperparametre, her biri beş değerli, 15.625 yapılandırma eder; bir aceminin alçakgönüllü diyeceği bir ızgaradır ve 64. dersin aritmetiği, o genişlikte bir aramanın 156 işlem üzerinden yargılandığında, piyasa daha hiçbir şey yapmadan işlem başına 0,318 R ürettiğini söyler. Makine öğrenmesine yöneltilen alışıldık itiraz budur ve yanıtı olan itiraz da budur: ızgarayı say, çıtayı 1,645’ten 4,507’ye yükselt ve modelin onu aşıp aşmadığına bak. Bu yolla yanıtlanamayan itirazın içinde hiç model yoktur. Bir filtre işlem yaratmaz, işlem çıkarır; bu yüzden sana ancak yakalayabildiği kaybedenleri geri verebilir ve iyi görünen bir stratejinin yakalanacak neredeyse hiç kaybedeni yoktur. 63. dersin kazanan kuralında altı kazanan ve bir kaybeden var. Kazananları tutmakta kaybedenleri elemekte olduğu kadar iyi bir filtre, o kuralda yalnızca başa baş gelmek için bile görülmemiş işlemlerin yüzde 96,04’ünde haklı çıkmak zorunda kalırdı; kusursuz bir filtre ise, tek kaybedeni yakalayıp başka hiçbir şeye dokunmadan, kuralı yüzde 4,30 iyileştirirdi.
Ön koşullar: 64. ders, beklenen en büyük değer formülü ve bir yapılandırma sayısının koyduğu çıta için, 63. ders, bu sayfanın parçalarına ayırdığı yedi işlem için, ve ders 17, bir kâr faktörünün yapıldığı iki sayı için.
Bir ızgara daha tek bir fiyat görmeden neye mal olur
Bir kuralın parametreleri vardır ve 64. ders onları saydı. Bir modelin hiperparametreleri vardır, ki bu başka adla aynı şeydir, ve bir kuralda olmayan bir boyutu vardır: içine hangi öznitelikler girer. İkisi de çarpılarak büyür ve bir aramayı fiyatlayan aritmetik hangisinin hangisi olduğuna aldırmaz. Yapılandırma sayar, ve o sayı hiçbir şey çalışmadan önce bellidir.
Duyurunun bıraktığı ızgarayı al. Altı hiperparametre, her biri beş değerli, 15.625 eder ve yerine koyma baştan sona yazılır ki buradaki hiçbir şeyin güvene bırakılması gerekmesin. Bir bölü 15.625, 0,0000640’tır ve üst kuyrukta o kadarını bırakan standart normal değer 3,83028’dir. Ardından 15.625 çarpı e, 42.473 eder; bir bölü o, 0,0000235; onun normal değeri de 4,06963’tür. Bu ikisini 0,4228 ve 0,5772 ile ağırlıklandırınca 3,96843 çıkar, ki bu bir t’dir. 156’nın kareköküne, yani 12,49’a böl; üretilen üstünlük işlem başına 0,318 R olur. O genişlikte bir aramanın, değersiz aramaların ancak yüzde beşi tarafından geçilmek için aşması gereken çıta 4,507’dir.
Şimdi kimsenin saymadığı boyut. Yirmi özniteliklik bir liste ve içinden üç ila altı tanesini seç yönergesi, bu alıştırmanın alışıldık biçimidir ve o yönerge bir basitleştirme gibi okunur. O bir aramadır. Yirmiden tam dört tanesini seçmek 4.845 ayrı model, üç ila altı seçmek 60.249 eder; liste sen başlamadan önce yazılmıştı, dolayısıyla sayı isteyen herkesin elinin altındadır. Yirmide dört sayısını hiperparametre ızgarasıyla çarp ve bir öğleden sonralık iş 75.703.125 yapılandırma olsun.
| Neyi değiştirdin | Yapılandırmalar | Yüzde beşteki çıta | 156 işlem üzerinde üretilen işlem başına R |
|---|---|---|---|
| Üç hiperparametre, her biri beş değerli | 125 | 3,346 | 0,209 |
| Dört hiperparametre, her biri beş değerli | 625 | 3,769 | 0,250 |
| Altı hiperparametre, her biri beş değerli | 15.625 | 4,507 | 0,318 |
| Yirmilik bir listeden seçilmiş dört öznitelik | 4.845 | 4,252 | 0,295 |
| Son ikisi birlikte | 75.703.125 | 6,061 | 0,453 |
Son satır bir öğleden sonranın dürüst sayısıdır ve 6,061, fikir ne kadar iyi olursa olsun birkaç yüz işlemin üretmeyeceği bir t’dir. Yine de üçüncü sütunu yukarıdan aşağıya oku; biçim kulağa geldiğinden daha yumuşaktır: 15.625 yapılandırmadan 75.703.125’e geçmek 4.845 kat daha fazla arama demektir ve çıtayı 1,554 oynatır. Ceza sayının logaritmasıyla büyür ve bu, kimsenin anmadığı taraftan keser. Kötü biçimde açıkta kalmak için modaya uygun bir model gerekmez. Dört hiperparametre ve hiç öznitelik seçimi yok, zaten 3,769’dadır.
Öyleyse tüm bunları düzgün yaptığını varsay. Izgarayı saydığını, çıtayı aştığını ve kendi kurulumlarını rastlantıdan gerçekten daha iyi sıralayan bir modeli elinde tuttuğunu varsay. Sayfanın geri kalanı bunun bir değeri olup olmadığıyla ilgilidir ve hiçbir yapılandırma sayısına, hiçbir benzetime ve piyasalar üzerine hiçbir varsayıma ihtiyaç duymaz.
Paranın gerçekte nasıl işlediği gibi kur. Bir filtre yeni işlem bulmaz. Yönteminin zaten ürettiği kurulumların üzerine oturur ve bir kısmını çıkarır; dolayısıyla dürüst karşılaştırma, aynı özgün fırsatlar üzerindeki toplam kârdır, alınan işlem başına kâr değil. İsabet oranını p, ödemeni b diye yaz — ikisi de 17. dersten — öyle ki bir kazanan b öder ve bir kaybeden bir tanesine mal olur. Filtre kazananların s kesrini tutsun, kaybedenlerin t kesrini de doğru biçimde elesin. Özgün işlem başına p çarpı bir eksi s çarpı b’den vazgeçer ve bir eksi p çarpı t kadar tasarruf eder. İkincisi en az birincisi kadar olduğunda tutmaya değer:
(1 − p) t ≥ p (1 − s) b
Bunu iki biçimde böl ve iki ayrı işe yarar şey söylesin. p çarpı bir eksi s’ye böl: filtrenin attığı kaybedenler, attığı kazananları en az b kadar, yani senin payoff ratio kadar geçmek zorundadır; bu, bir işlem kaydı üzerinde iki sayımla ve hiç istatistik olmadan yapabileceğin bir sınamadır. Bunun yerine bir eksi p’ye böl: sağ taraf p b bölü bir eksi p olur, yani brüt kâr bölü brüt zarar, genellikle kâr faktörü denen ve bu sayfadaki tek yeni ad olan büyüklük. Bu, 17. dersin iki sayısının tek sayı olarak yazılmış hâlidir.
Model iki yönde de aynı ölçüde iyiyse, yani s ile t aynı a sayısıysa, koşul yalnızca doğruluk üzerinde bir eşiğe iner: a en az, kâr faktörü bölü bir artı kâr faktörü olmalıdır. Tersine çevrildiğinde, doğruluğu a olan bir filtre, kâr faktörü a bölü bir eksi a’nın altında kalan her stratejide yerini hak eder.
Yüzde 52 doğrulukta, kâr faktörü 1,08’in altındaki her stratejide.
Yüzde 55’te, 1,22’nin altında.
Yüzde 60’ta, 1,50’nin altında.
Yüzde 65’te, 1,86’nın altında.
Yüzde elli iki bir dolgu sayısı değildir. Gu, Kelly ve Xiu bu model ailesinin tamamını örneklem dışında, binlerce hissenin aylık getirileri üzerinde ölçtüler ve en iyi ağları aylık örneklem dışı R karesinde yüzde birin yaklaşık onda dördüne ulaştı. Bunu bu sayfanın diline çevir: iki değişkenli normal altında bir öngörünün işaretinin sonucun işaretiyle uyuşma olasılığı, bir bölü iki artı korelasyonun ark sinüsünün pi’ye bölümüdür; korelasyon R karesinin kareköküdür, yani 0,0632, ve doğruluk yüzde 52,01’dir. Alanın yayımlanmış en iyi sonucu, kâr faktörü 1,08’in altındaki stratejiler için bir filtredir.
Kendi işlemlerine bir model uydurmuş olanların neredeyse hiçbiri kendi brüt kârını kendi brüt zararına bölüp iki sayıyı yan yana koymadı. Bir işlem kaydından iki toplam ve bir bölme; kararın tamamı budur.
Bu modülün 62. dersten beri kurduğu çizelge dokuzuncu sütununu kazanmıyor. Burası onun harcandığı yer: sekizi birden, dersin 63. dersten beri izlediği tek kural üzerinde.
Çizelge, tek bir kural üzerinde harcanıyor
63. ders altmış kapanış boyunca 253 hareketli ortalama yapılandırmasını taradı ve 2 barlık bir ortalamayı 5 barlığa karşı tuttu: yedi işlem, hisse başına brüt 10,70, maliyetlerden sonra 9,84, tutmanın 5,68’ine karşı. Sekiz sütunu doldur ve çizelge şöyle okunur.
Cümle, 62. dersten: kapanışların 2 barlık ortalaması 5 barlığı yukarı kestiğinde uzun ol, aşağı geri kestiğinde düz ol, bir sonraki kapanışta gerçekleştir.
Çift, 63. dersten: ölçüte göre 4,16 fazla; buna karşılık yapısız aramaların yüzde 52,5’i 4,16 veya daha fazlasını döndürüyor.
Çıta ve sayım, 64. dersten: 253 hücre, 3,537’lik bir çıta, 3,65’lik bir t, ki bunu aşar — ta ki bir asgari işlem sayısı koyana kadar; o an oran, alt sınır yedide yüzde 0,68 ile alt sınır ikide yüzde 50,48 arasında gezinir.
Önceden sabitlenen işlem sayısı, 65. dersten: boş. O yedi işlem, olan yedi işlemdir.
Maruziyet payı, 66. dersten: 0,5085, ve brüt 10,70’in 2,95’ini piyasa verdi.
Duracağın derinlik, 67. dersten: boş.
Kapasite, 68. dersten: 0,9101R’lik bir ortalama işlem hisse başına 1,4055 eder, ki 103 dolaylarındaki bir fiyatta bu 136 baz puandır; dolayısıyla 68. dersin küçük ölçeklisinde bu işlem 1.390.545 doları taşır ve en iyi tekil pozisyon 618.020’dir.
Pozisyon sınırı ve denetim aralığı, 69. dersten: boş.
Üç boşluk, ve iki sayısı ters duran bir ikinci sütun. Karar budur ve çizelge yarılanmadan gelir. Yine de sonuna kadar yürüt, çünkü bu sayfanın sorusu kuralın işe yarayıp yaramadığı değil. Soru, bir modelin onu daha iyi yapıp yapamayacağıdır ve o sorunun, hiçbir işe yaramayan bir kural için bile bir yanıtı vardır.
Maliyetlerden arındırılmış yedi işlem 2,577, 1,877, 2,377, 1,377, eksi 0,423, 1,177 ve 0,877’dir. Toplamı 10,262 eden altı kazanan ve 0,423’lük bir kaybeden; yani kâr faktörü 24,26, ortalama kazanan 1,1075R, ortalama kaybeden 0,2739R ve payoff ratio 4,04. Şimdi çizelgenin öteki sütunlarını işe koş ve her biri uygulandıkça ne olduğunu izle. Aşağıdaki tablonun son satırı, 63. dersin kendi boş modelinin bu sayfa için yeniden koşturulmuş hâlidir: bardan bara 59 hareket yerine koymalı çekilir, 20260903 tohumundan 4.000 seri üretilir, her birinde aynı 253 hücrelik arama, kazananın kendisinin karşıladığı aynı yedi işlemlik alt sınırla yapılır ve kazanan hücrenin kâr faktörü alınır. Bunun medyanı 2,34’tür ve o yapısız aramaların yüzde 3,08’i kâr faktörü 24,26 veya daha yüksek bir kazanan döndürür.
| Ne çıkarıldı | Kâr faktörü | Bir filtrenin geçmesi gereken doğruluk | Kusursuz bir filtrenin ekleyebileceği en çok şey |
|---|---|---|---|
| Hiçbir şey | 36,67 | %97,35 | %2,80 |
| Maliyetler, 63. dersin uzlaşımıyla | 24,26 | %96,04 | %4,30 |
| Maliyetler ve 66. dersten gelen piyasa payı | 14,22 | %93,43 | %7,57 |
| Aynı aramanın hiçlik üzerinde döndürdüğü, medyan | 2,34 | %70,01 | %74,91 |
Üzerinde durmaya değen sütun dördüncüsüdür ve aynı eşitsizlikten düşen ikinci bir saf sayıdır. Kusursuz bir filtre her kaybedeni çıkarır ve her kazananı tutar; dolayısıyla ekleyebileceği en çok şey brüt zararın tamamıdır ve stratejinin hâlihazırda net kazandığının payı olarak bu, bir bölü kâr faktörü eksi bir eder. Bu kuralda yüzde 4,30. Model iyiyse yüzde 4,30 değil: model kusursuzsa yüzde 4,30, çünkü kayıtta tek bir kaybeden var ve o da 9,839’un içinde 0,423 ediyor.
Ortadaki iki sütunu birlikte, yukarıdan aşağıya oku; aynı nedenle ters yönlere giderler. Kâr faktörü gerçeğe doğru söndürüldükçe — önce maliyetler, sonra piyasanın payı, sonra aynı genişlikteki bir aramanın içinde hiçbir şey olmayan veride döndürdüğü — filtrenin ihtiyaç duyduğu doğruluk yüzde 97,35’ten 70,01’e düşer ve ödül yüzde 2,80’den 74,91’e çıkar. Arama üstünlüğü üretti ve aynı hareketle hiçbir modelin onu iyileştiremeyeceğinin nedenini üretti.
Bir filtre sana yalnızca kaybedenlerini geri verebilir ve iyi bir stratejinin neredeyse hiç kaybedeni yoktur.
En alttaki satır bu yüzden göründüğünden fazlasını taşır. Kâr faktörü bir olan bir strateji tam olarak sıfır beklentili bir stratejidir ve orada eşik yüzde ellidedir; yüzde 52’lik bir filtre gerçekten tutmaya değer. Ödemesi iki olan üç yüz işlem üzerinde say: iki ödeyen yüz kazanan ve bir tanesine mal olan iki yüz kaybeden sıfır eder. Kazananların 52’sini ve kaybedenlerin 96’sını tut, 104 eksi 96 elde et; yani özgün üç yüz işlem üzerinde 8R, ya da işlem başına 0,027 R. Filtre stratejiyi iyileştirmiyor. Stratejinin kendisi o ve küçük. Kâr faktörü ikiye çık, aynı yüzde 52’lik filtre 0,50 kazanan bir stratejiden işlem başına 0,22R alıp götürür.
Öyleyse kazananlarını topla, kaybedenlerini topla, böl ve yanıtı, herhangi bir filtrenin sen onu kurmadan önce geçmesi gereken doğruluk olarak oku.
Bunun çözmediği şeyler
Filtrenin dengeli olduğu. Doğruluk eşiği, modelin kazananları tutmakta kaybedenleri elemekte olduğu kadar iyi olduğunu varsayar; oysa eşiğin çıktığı eşitsizlik böyle bir şey varsaymaz: yalnızca özgüllüğün bir eksi duyarlılığa bölümünün kâr faktörünü aşmasını ister. Kaybedenleri elemeye sertçe ayarlanmış, karşılığında gösterilen kazananların neredeyse hepsini tutmayı kabullenen bir model, genel doğruluğu eşiğin çok altındayken bile o çıtayı aşabilir; ve inşa etmeye değen yön de budur. Bu sayfa dengeli sayıyı basıyor, çünkü bir sınıflandırıcının kendiliğinden bildirdiği sayı odur; bu da piyasalar hakkında değil yazılım hakkında bir saptamadır.
Filtrenin tuttuğu işlemlerin, attıklarının ödeyeceğini ödediği. Model büyük kazananları öncelikle tutuyorsa aritmetik iyileşir ve eşik düşer; işlemleri işarete göre ayırmak yerine beklenen büyüklüğe göre sıralayan bir model de burada fiyatlanandan farklı ve daha iyi bir şeydir. Sayfa bir sınıflandırıcıyı fiyatlıyor, çünkü insanların kurduğu şey bir sınıflandırıcıdır ve alanın andığı doğruluk sayısı yalnızca onun için tanımlıdır.
Yedi işlem üzerinde hesaplanmış bir kâr faktörünün bir sayı olduğu. O, iki toplamın oranıdır ve o toplamlardan birinde tek bir terim vardır. 63. dersin tek kaybeden işlemi 0,423 değil de 1,423’e mal olsaydı, kâr faktörü 7,21, eşik yüzde 87,82 ve ödül yüzde 16,10 olurdu — aynı kuralla, aynı kapanışlar üzerinde. Birkaç yüz işlemde oran yatışır, ama hiçbir zaman kesin olmaz ve ondan hesaplanmış herhangi bir eşiğin ikinci ondalığı süstür.
Yüzde 52’nin senin modelin için doğru ölçüt olduğu. Gu, Kelly ve Xiu binlerce hisselik bir kesitte yüze yakın öngörücüyle aylık getirileri tahmin ediyor; bu, kendi yönteminin zaten ürettiği kurulumlara not vermekten başka bir sorundur: onların çok daha fazla verisi var ve senin giriş kuralına erişimleri yok, sende ise tersi. Sayı bu sayfada, alanın en iyi işinin ulaştığı büyüklük mertebesinin denetimi olarak duruyor; senin kendi sınıflandırıcının ne yapacağının öngörüsü olarak değil.
Yapılandırmaların sayılabilir olduğu. Bu 64. dersin ödünüdür ve bir model onu iyileştirmek yerine kötüleştirir. Bir ızgaraya yazdığın hiperparametreler sayılabilir. Kurduğun, çizdiğin, beğenmediğin ve sildiğin öznitelik sayılamaz; ilki eğitilmediği için bir sonraki barın yönünden sonraki üç barın yönüne yeniden tanımladığın hedef de öyle. Yeni veriyle her yeniden eğitim bir yapılandırma daha demektir ve iki yıl boyunca her ay yeniden eğiten bir takvim sessizce yirmi dört tane daha koşturmuştur.
Ve en pahalıya mal olan ödün: bu sayfa bir modeli fiyatladı ve bir modelin bir nedenden ötürü haklı olabileceği hakkında hiçbir şey söylemedi. Kaybedenlerin ilk on beş dakikada kümelendiği için o dakikalarda alınan işlemleri reddeden bir filtre bir kuraldır, tek satırda yazılır ve çıtası 1,645 olan tek bir yapılandırma sayılır. Bu sayfanın aritmetiğinin cezalandırdığı şey kendi kaydından bir şey öğrenmek değildir. Ondan çok şey öğrenip en iyisini tutmaktır, ki bir modeli uydurmak tam olarak budur. 71. ders portföy modülünü, dört kuralın bir kuralın almadığı neyi aldığı sorusuyla açıyor ve kurallar arasındaki korelasyonu varsaymak yerine ölçerek 67. dersin fiyatladığı 14,7 ayın 14,1’e indiğini, 3,7’ye değil, buluyor.
Problemler
- Izgaranı say. Uydurduğun son modeli, ya da sana gösterilen son modeli al ve düzgün say: denediğin her hiperparametre değerini çarparak, ve bunu bir kez daha göz önüne aldığın öznitelik alt kümelerinin sayısıyla çarparak. Çıtayı yukarıdaki ilk tablodan oku ya da sayıdan hesapla. On dakika, ve sonunda elinde tek bir sayı kalır: modelinin geçmesi gereken t, ki neredeyse kesinlikle 1,645 değildir.
- Kendi eşiğini hesapla. Son iki yüz işlemini al, kazananların kazandırdığı her şeyi topla, kaybedenlerin mal olduğu her şeyi topla ve birinciyi ikinciye böl. Yarım saat, ve sonunda elinde tek bir sayı kalır: kâr faktörün. Bir filtrenin geçmesi gereken doğruluk o sayının bir artı kendisine bölümü, kusursuz bir filtrenin ekleyebileceği en çok şey ise bir bölü o sayı eksi birdir.
- Gerçekten kurabileceğin filtreyi ölç. Kaydını zaman sırasına göre ikiye böl. İlk yarıda, bir cümlede gerekçesini söyleyebileceğin tek bir öznitelik seç ve kazananlarını kaybedenlerinden en iyi ayıran o tek eşiği bul. O tek eşiği değiştirmeden ikinci yarıya uygula ve iki şeyi say: kaç kaybedeni attığını ve kaç kazananı attığını. Bir akşam, ve sonunda elinde tek bir sayı kalır: birinci sayımın ikinciye oranı. Kurabileceğin en basit filtrenin bir değer taşıması için bu oranın senin payoff ratio’nu aşması gerekir, ve bunu kaydı bölmeden önce beklediğinle karşılaştırmalısın.
Kaynaklar. David H. Bailey, Jonathan M. Borwein, Marcos López de Prado ve Qiji Jim Zhu, «Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance» (Notices of the American Mathematical Society, 2014), ilk tablonun hesaplandığı beklenen en büyük değer formülü için; 64. dersten devralındı ve burada bir parametre ızgarasına değil bir hiperparametre ızgarasına uygulandı. Shihao Gu, Bryan Kelly ve Dacheng Xiu, «Empirical Asset Pricing via Machine Learning» (The Review of Financial Studies, 2020), bu sayfanın yüzde 52’ye çevirdiği ve içindeki her eşiğin karşısına konduğu örneklem dışı ölçüm için. Marcos López de Prado, Advances in Financial Machine Learning (Wiley, 2018), sıradan çapraz doğrulamanın finansta sızdırdığı savı için ve ilk tablonun küçük bir örneği olduğu çoklu sınama düzeltmesi için. Robert D. Arnott, Campbell R. Harvey ve Harry Markowitz, «A Backtesting Protocol in the Era of Machine Learning» (The Journal of Financial Data Science, 2019), deneme sayısının aramadan önce kayda geçirilmesini şart koşan yordam için; bu, 64. dersin eklediği ve bu sayfanın harcadığı çizelge sütunudur.
Aramanın bedeli
Beklenen en büyük değer formülü ve bir yapılandırma sayısının koyduğu çıta.
Dersi oku →Kanıt olarak backtesting
Bu sayfanın parçalarına ayırdığı yedi işlem ve onları üreten arama.
Dersi oku →Yalnızca eğitim amaçlıdır. İşlem yapmak önemli ölçüde kayıp riski taşır. Finansal tavsiye değildir. Geçmiş performans gelecekteki sonuçları garanti etmez.
💬 Tartışma (0 yorum)
Yorumlar yükleniyor…
Signal Pilot ile işlem yapmaya hazır mısın?
Öğrendiklerini profesyonel göstergeler ve gerçek zamanlı piyasa analizi araçlarıyla uygula.
Signal Pilot'a dön →