Bu kaosun bir düzeni var mı? Hadi bulmaya çalışalım! Belirli bir örnek üzerinde makine öğrenimi. - sayfa 17

 
Valeriy Yastremskiy #:

Bir şeyin başlangıç zamanı ve bitiş zamanı (oturumlar, takvim) dışında aklıma hiçbir şey gelmiyor. Ne demek istiyorsunuz?

Neden, sadece en belirgin olası olanlar. Volatilite rakamın içindeydi, dikkate alınması gereken başka faktörler de var

Kabaca, bazı piyasa ölçütlerini alıp sineye çekmeniz gerekiyor sanırım. Bir yığın halinde değil. Herkes yığılmak isterdi ama işler öyle yürümüyor.
 
Maxim Dmitrievsky #:
Neden, bu sadece mümkün olan en açık şey. Volatilite rakamın içindeydi, dikkate alınması gereken başka faktörler de var

Kabaca, biraz piyasa ölçütü alıp sineye çekmeliyiz sanırım. Yığın halinde değil. Herkes yığın yapmak istiyordu ama öyle olmadığı ortaya çıktı.
Ayrık fiyat metrikleriyle her şeyi yapmak kolay değildir, ayrı ayrı sık sık bağlantı ve anlam kaybeder. Kanal genişliği veya volatilite ve fiyat değişim hızı. Basit görünüyor ama kafamda bir kavram yok))))).
 
Valeriy Yastremskiy #:
Ayrık fiyat metriklerinde her şey basit değildir, izole edildiğinde çoğu zaman bağlantı ve anlam kaybedilir. Kanal genişliği veya volatilite ve fiyat değişim hızı. Basit görünüyor, ama kafamda bir kavram yok))))))

Öncelikle MO'dan ne istediğimizi tanımlamalıyız. Sadece sınıflandırma veya bazı seçimler, yani farklı hedef fonksiyonların belirlendiği standart bir optimizer gibi bir araç yapmak.

Daha sonra bunu göstergeleri (nitelikleri) manipüle etmek için kullanmalıyız. Genellikle aptalca bir şekilde, kaba kuvvetle, ilginç bir şey akla gelene kadar (Kase gibi).

Bir şey öğrendiğimizde, daha derine inmeye başlarız.

Sanırım bariz şeyler yazdığımı düşünüyorum, ama sadece benim için öyle oldukları ortaya çıkıyor :D

 
Renat Akhtyamov #:

Şube sorusu kesinlikle ilginç bir soru....

Ben de bu yüzden merak ediyordum.

Belki bir model tespit edilebilir.

Arka arkaya birkaç çubuğu, örneğin 3-4'ü analiz etmenizi öneririm.

Daha sonra 3-4 barlık bu örneğin başından bir bar ilerleyin ve tekrar analiz edin.

Sanki bir örneği diğerinin üzerine bindirir gibi.

Bir model bulmak mümkündür

Bunun gibi:


Bu ne işe yarayacak? Çubuklar her zaman farklı olacaktır. Mevcut ölçeğe bağlamadığınız sürece. Bence biraz daha farklı bir teori yaklaşım olmalı, örneğin renk (polarite). Durağanlık oluşur, ancak biraz farklı bir şekilde ve kolayca yok edilebilir.
 

Bu arada, bu konu başlığındaki ilk örnekten bu modeli aldım.

Denge

Ne yazık ki test örneğinde başarısız oldu - tabii ki örnekler farklı.

 

Bir modeli eğitmenin yolunu bulma sürecinde farklı yaklaşımlar test edildi, 100 binden fazla model oluşturuldu ve daha önce iyi potansiyel gösteren yeni yaklaşımlar icat edildi. Örnek dönüşümü ve tahminci seçimi için farklı yöntemler kullanıldı. Bu yöntemler birbirleriyle birleştirildi.



Örneklem dönüşümü ve tahminci seçimi yöntemleri.

Örnek dönüşüm:

  • 1. Dönüşüm yok .
  • 2. İşlemlerin yön türüne (vektör) göre seçimi - seçimsiz, alış, satış - ayrı örneklere kaydedilerek.
  • 3. Finansal sonuca bağlı olarak hedef fonksiyonun kaydırılması .
  • 4."Bırakma" yöntemi - FP tipi tahmin edicinin güçlü kuantumuna göre satırların örneklemden çıkarılması - her iterasyonda örneklem değiştirilerek örneklem kuantumlarının tahmin edilmesinin 10-30 ardışık iterasyonu:

(a) Örneklemdeki hedefin ortalamasından belirli bir sapma yüzdesinden daha büyükse, örneklem trenindeki vektörü dikkate almadan en iyi kuantum tarafından dışlama , aksi takdirde vektörü dikkate alan örneklemler üzerinde ek olarak değerlendirilir ve en iyi varyant seçilir.

b)"a" ile aynıdır , ancak test örneğinde TN için azalan olasılık yönünde sapma gösteren kuantum segmentleri alınmaz.

c)"a" ile aynı , ancak tahmin seçimi "test" örneği üzerinde gerçekleştirilir.

Öngörücü seçimi:

  • 1. Nicelleştirme yöntemi :

(a) Her bir tahmin edici için nicelik tablolarının seçimi ile istatistik yoluyla tahmin edici seçimi.

( b) İkili örnekleme ile istatistik yoluyla kuantların seçimi .

(c ) Havuzlanmış bir ikili örnek oluşturmak için farklı vektörlere sahip alt örneklemlerden kantil segmentlerinin birleştirilmesi .

d) İkili kuantlara dayalı kuantum tablolarının seçimi ile tahmin edicilerin istatistik yoluyla seçimi .

  • 2)Güçlü korelasyona sahip tahmin edicilerinhariç tut ulması.
  • 3. Tahmin edicilerin benzer yanıt alanlarına göre gruplandırılması ve her alan için baskın tahmin edicinin seçilmesi - yalnızca tahmin edicilerin ikili hale dönüştürülmesinden sonra.
  • 4. CatBoost modellerinde tahmin edicilerin ortalama kullanım sıklığına göre seçim eğitim örneğinin 8 parçaya bölünmesi. Elde edilen istatistiklere dayalı olarak 5 öğrenme stratejisi ve 20'den fazla tahminci seçimi yöntemi kullanıyoruz.
  • 5."Drop" yöntemini uyguladıktan sonra her örnek için tahmin edicilerin özet seçimi.
 

Yeni bir rekor ve bu kez test numunesi de artı tarafta.

Denge

Model

 

Modelin nasıl türetildiğini yazacağım - muhtemelen kendim için, çünkü kimse karmaşık bir örnekten nasıl bir şey elde edileceğiyle ilgilenmiyor.

Dolayısıyla, burada yaptığım ilk şey, hedefi, kâr 50 pip'ten azsa, bunun olumsuz bir sonuç olduğu, yani daha önce "1" yerine "0" olduğu ilkesine göre kaydırmaktı. 20'den az pozitif işaret kaldı, ancak daha belirgin trend hareketlerinin seçilmesine izin verdi.

Daha sonra her bir tahminci için nicelik tablolarından bölünmeler seçtim. Örnekleme için yaklaşık 900 tablo kullandık, olasılığı %5'ten kaydırarak bölünmeleri seçtik ve kuantum bölünmesinde sinyal üretiminin istikrarını değerlendirdik.

Bir sonraki adım, seçilen kuantum bölümlerini birleştirmektir. Rastgele eleman yaklaşımını kullandım ve sonucu "ne kadar çok segment, o kadar iyi" kriterine göre değerlendirdim - yöntemin mükemmel olduğundan emin değilim ve belki de geliştirilmelidir - algoritma hakkında düşünmem gerekiyor.

Bu şekilde tahmin ediciler için birleşik bir kuantum tablosu elde ettim. Başarılı segmentleri olmayan tahmin ediciler, kuantum tablosunda sadece "0,5" ayırıcısına sahipti.

Tohum sayısı 8'den 800'e kadar olan 100 modeli 8'lik adımlarla eğittim.

Elde edilen varyantlardan en iyi modeli seçtim, onun tarafından kullanılan tahmin edicileri analiz ettim - 77 tane olduğu ortaya çıktı.

Başka bir 100 modeli eğitmeyi denedim, ancak yalnızca bu tahmin edicilerle, 8 adımda 8'den 800'e kadar Tohum ile. En iyi modellerin sonucu son modelden biraz daha kötüydü. Ve tabii ki bu beni şaşırttı.

Seed'i daha küçük bir adımla ve daha büyük bir hacimde denemeye karar verdim, çünkü tahmin edicileri daha iyi sonuçlar alabiliyor - bu kanıtlandı. Adım 1 ile 1'den 10000'e kadar Seed ile 10000 modeli eğittim.

Aşağıdaki grafik, en iyiden en kötüye doğru sıralanmış modellerin finansal sonuçlarını göstermektedir.

Modellerin yaklaşık %25'i kârsızdı, ki bu artık o kadar da kötü değil ve ortalama kâr 2116,65'tir. Modellerin %38'i 3000 puana eşit ya da daha fazla kâr elde etmiştir.

Test örneğindeki sonuçların neden sınav örnekleriyle korelasyon göstermediği tam olarak açık değildir - bu alt örneğin bir özelliği midir, yoksa başka nedenleri olabilir mi?

Aşağıdaki grafik, sınav örneğinin finansal sonucuna göre test örneğinin sonuçlarını - daha önce olduğu gibi aynı şekilde sıralanarak - göstermektedir.

Ve netlik açısından, dağılım grafiği rastgele gibi görünmektedir.

Bunun bir gösterge meselesi olduğunu düşünmüştüm - ikili istatistiksel göstergeler değil, puanlar, ancak aşağıdaki grafikte de görebileceğiniz gibi, iki örnek arasındaki doğruluk göstergesi de bağımsızdır.


Sınav örneğindeki sonuçların test ve eğitim örneklerine bağımlılığını belirlemeden bir model seçmek zordur - sanırım ek değerlendirme kriterleri geliştirmemiz gerekiyor - modelin yapabileceği ölçümler.

Yeni model (iki tane fark ettim) 50'den az tahminci kullandı. Süreci tekrarlamayı düşünüyorum - sonunda bir model oluşturmak için yeterli tahminci kalacaktır.

O zaman ne yapmalı - modeli yalnızca seçilen tahmin edicileri kullanarak tam örneklem üzerinde eğitebilir ve ardından toplamlarının yeni veriler üzerinde nasıl davranacağını görebiliriz.

Ayrıca, seçilen tahmin edicilerde eğitim olmadan seçilme olasılığını artıran bazı özel özellikler bulmaya çalışmak istiyorum - tablolardan kuantum segmentlerinin seçiminde yapıldığı gibi analoji yoluyla.

 
Aleksey Vyazmikin #:

Daha sonra her tahminci için kuantum tablolarından bölünmeler seçtim. Örnekleme için yaklaşık 900 tablo kullandık, olasılığı %5'ten kaydırarak bölünmeler seçtik ve kuantum bölünmesinde sinyal üretiminin kararlılığını değerlendirdik.

Bir sonraki adım, seçilen kuantum segmentlerini birleştirmektir. Yaklaşımı rastgele elemanla kullandım ve sonucu "ne kadar çok segment, o kadar iyi" kriterine göre değerlendirdim - yöntemin mükemmel olduğundan emin değilim ve belki de geliştirilmelidir - algoritma hakkında düşünmemiz gerekiyor.

Esasen >%55 olasılıkla yaprakları mı seçiyor?

Aleksey Vyazmikin #:

100 model daha eğitmeyi denedim, ancak sadece bu tahmin ediciler üzerinde, ayrıca 8. adımda 8'den 800'e kadar Seed ile. En iyi modellerin sonucu son modelden biraz daha kötüydü. Ve bu elbette beni şaşırttı.

Görünüşe göre Seed-a'nın rastlantısı, en iyi örneğin rastlantısının varyantıyla tamamen örtüşmüyordu. Dolayısıyla farklı/kötü sonuçlar.

Aleksey Vyazmikin #:

Test örneklemindeki sonuçların neden sınav örneklemleriyle korelasyon göstermediği açık değildir - bu alt örneklemin bir özelliği midir, yoksa başka nedenleri olabilir mi?

Aşağıdaki grafik, sınav örneği mali sonucuna göre - daha önce olduğu gibi aynı şekilde sıralanmış - test örneği için sonuçları göstermektedir.

Tıpkı normal eğitimde olduğu gibi yeniden eğitilir/trene göre ayarlanır. Bu durumda, sınava bir uyum sağladınız. Testinizde gördüğümüz gibi, hem test hem de sınav için herhangi bir uyum rastgele bir sonuca yol açar.

En iyi trenleri veya sınavları almanız gerektiğini düşünmüyorum. En iyi tren veya sınavdan çok daha kötü bir sonuca sahip olsa da istikrarlı bir şeye ihtiyacınız var.

Darch ile çalışırken, her iki örnekte de bir seçim vardı err = err_ oob * k+ err_trn * (1 - k); burada k=0,62 (önerilir, ancak değiştirilebilir)
Yani err = err_ oob * 0,62+ err_trn * 0,38;
Ancak bu, hesaplama süresi arttıkça seçim için gereksiz bir parametredir.

H1'de örnekleme ile yaptığım deneylere göre - istikrarlı bir şey vardı, ancak çok az kazanç vardı. 10000 işlem, ancak işlem başına yalnızca 0,00005. Bu da ilgi çekici değil, çünkü spreadler / kaymalar vb. normal ticarette bu 5 puanı tüketecektir.

400 işleminiz var ama sınavda 40 puanınız var. Ve testte, benim gibi - 0'a yakın (rastgele).

Pek çok yaklaşım var ama kimse işe yarayan bir yaklaşım bulamadı.
 
elibrarius #:

Temelde >%55 olasılıkla bir yaprak seçimi mi?

Hayır, diyelim ki, seçilen bir tahmin edicinin sayısal aralığıdır. 5, örnek dizideki "1" yüzdesinin değerine göredir.

elibrarius #:

Görünüşe göre Seed-a'nın rastlantısı, en iyi örneğin değişken rastlantısıyla tam olarak eşleşmedi. Dolayısıyla farklı/kötü sonuçlar.

Rastgele sabittir :) Görünüşe göre bu tohum zor bir şekilde hesaplanıyor, yani model oluşturma için izin verilen tüm tahminciler muhtemelen dahil oluyor ve sayılarını değiştirmek de seçim sonucunu değiştiriyor.

elibrarius #:

Bu, normal öğrenmede olduğu gibi yeniden eğitilir/eğitime uydurulur. Bu durumda siz sınava bir uyum sağladınız. Testinizde gördüğümüz gibi, hem test hem de sınav için herhangi bir uydurma rastgele bir sonuca yol açar.

Neden uygun, daha doğrusu neyi uygun olarak görüyorsunuz? Test örneğinin sınavdan, sınavın eğitimden olduğundan daha farklı olduğunu düşünme eğilimindeyim, yani tahmin edicilerin farklı olasılık dağılımları var. Ve bu durum ya en istikrarlı olan tahmin edicileri seçerek - tüm örneklerde kabul edilebilir sonuçlar verir - ya da olasılık dağılımını harici bir özellik (yani başka bir tahmin edici) ile değiştirerek ele alınabilir - bu tür modeller hakkında bilgim yok, ancak denemek isterim. Benzer bir etki, farklı ağaçların seçilen yaprakları veya hatta tüm modeller üzerinde tekrarlayan eğitim kullanılarak elde edilebilir. Belki de tekrarlayan nöronlar bunu yapabilir - onlar hakkında bilgim yok.

Şimdiye kadar bu yöntemi, birleşik modelin oluşturulacağı tahmin edicileri seçmenin bir yolu ve gerçek eğitimden önce diğer etkili olanları tanımlamak için bir ölçüt olarak ele aldım.

elibrarius #:

En iyi trenleri veya sınavları almanız gerektiğini düşünmüyorum. En iyi tren ya da sınavdan çok daha kötü bir sonuca sahip olsa da istikrarlı bir şeye ihtiyacınız var.

Darch ile çalışırken, her iki örnekte de bir seçim vardı err = err_ oob * k+ err_trn * (1 - k); burada k=0.62 (önerilir, ancak değiştirebilirsiniz)
Yani err = err_ oob * 0.62+ err_trn * 0.38;
Ancak hesaplama süresi arttıkça seçim için gereksiz bir parametredir.

err_ 'nin olduğu metrik nedir?

elibrarius #:

400 işleminiz var, ancak sınavda 40 puan aldınız. Sınavda, benim gibi - 0'a yakın (rastgele).

Pek çok yaklaşım var, ancak henüz kimse verimli bir yaklaşım bulamadı.

X ekseni, test örneğindeki beklenti matrisinin değeridir, yani genel olarak evet, ancak bazı başarılı örnekler var.


Neden: