Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 3271

 
fxsaber #:
NumPy, ALglib'den farklı bir algoritmaya sahip gibi görünüyor.

Maxim'in CPU'su benimkinden iki kat daha hızlı. Algliba için zamanlama verip vermediğini hatırlamıyorum, sanırım vermedi.

 
fxsaber #:

Alglib'in eski sürümüyle karşılaştırın. Yavaşladığına dair elimde bir veri yok.

Standart olanın mevcut Alglib olanından daha yavaş olduğunu kendiniz yazdınız. Eskisi kod şeklinde bende var ama terminalde yok.
 
Forester #:

Maxim'in işlemcisi benimkinden 2 kat daha hızlı. Algliba için zamanlama verip vermediğini hatırlamıyorum, sanırım vermedi.

Zamanlamalar.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerini test etme üzerine forum

Ticarette makine öğrenimi: teori, modeller, uygulama ve algo ticareti.

Aleksey Vyazmikin, 2023.09.26 05:19 AM

Array size: 1716.61376953125 MB
Time taken: 4.784467697143555 seconds

Bu eski bir FX-8350 üzerinde


Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi üzerine forum.

Ticarette Makine Öğrenimi: Teori, Modeller, Uygulama ve Algoritma Ticareti

Aleksey Vyazmikin, 2023.09.26 05:37 AM

İstatistikler için, bu benim sonucum

2023.09.26 06:28:23.304 Test_Corr (USDJPY,H1)   EX5: 3981 AVX Release.
2023.09.26 06:28:23.304 Test_Corr (USDJPY,H1)   TerminalInfoString(TERMINAL_CPU_NAME) = AMD FX-8350 Eight-Core 
2023.09.26 06:28:23.304 Test_Corr (USDJPY,H1)   TerminalInfoInteger(TERMINAL_CPU_CORES) = 8 
2023.09.26 06:28:23.304 Test_Corr (USDJPY,H1)   TerminalInfoString(TERMINAL_CPU_ARCHITECTURE) = AVX 
2023.09.26 06:28:23.332 Test_Corr (USDJPY,H1)   inRows = 100 inCols = 15000 
2023.09.26 06:28:45.032 Test_Corr (USDJPY,H1)   matrix<double> Matrix1 = CorrMatrix(Matrix) - 21700095 mcs, 1717 MB
2023.09.26 06:29:48.495 Test_Corr (USDJPY,H1)   matrix<double> Matrix2 = Matrix.CorrCoef(false) - 63460976 mcs, 1717 MB
2023.09.26 06:29:50.225 Test_Corr (USDJPY,H1)   IsEqual(Matrix1, Matrix2) = true 
Açıkçası Python çok daha hızlı. Ve böylece C'de daha hızlı olacak, bu yüzden MQ'nun bize bir şey söylemediği, karşılaştırılabilir performans vaat ettiği ortaya çıkıyor....

Python'un kod çalıştırırken küçük bir paralelleştirmeye sahip olduğunu belirtmeliyim - yaklaşık iki çekirdek için yarım saniye, geri kalanı bir çekirdekte sayılır.

 
Forester #:
Standart olanın mevcut alglibov'dan daha yavaş olduğunu kendiniz yazdınız. Eskisi kod şeklinde bende var ama terminalde yok.

Alglib kaynağının kendisi matrisleri için MQ tarafından yeniden yazıldı. Standart CorrCoef'i tartışmak bile istemiyorum, orada bariz sorunlar var.

Yani Alglib'in iki kaynağı vardır.

  • MQ dönüşümünden ÖNCE dinamik dizilerde orijinal olan.
  • Matris/vektör tipleri için değiştirilmiş MQ. Test ettiğim şey buydu.
Alglib'in her iki sürümünün de kaynakları mevcut olmalı, böylece birbirleriyle karşılaştırabilirsiniz.
 
fxsaber #:

Saatler.


Evet... insanlar yıllarını algoritmalara adıyor. C++'da hızlı sıralama hakkında bir makale gördüm - kod daha karmaşık görünüyor ve gereksiz eylemler yapıyor, ancak işlemcinin önceden hesaplanması nedeniyle daha hızlı çalışıyor. İleriye bakarsak...
 
fxsaber #:

Alglib kaynağının kendisi matrisleri için MQ tarafından yeniden yazılmıştır. Standart CorrCoef'i tartışmak bile istemiyorum, orada bariz sorunlar var.

Yani Alglib'in iki kaynağı vardır.

  • MQ dönüşümünden ÖNCE dinamik diziler üzerine orijinal olan.
  • Matris/vektör türleri için değiştirilmiş MQ. Test ettiğim şey buydu.
Alglib'in her iki sürümünün de kaynakları mevcut olmalıdır, böylece bunları birbirleriyle karşılaştırabilirsiniz.
Ben tembelim. Korelasyon kullanmıyorum. Sadece bir yıl önce hızda bir fark fark ettim ve konu açıldığında bunu paylaştım.
 
fxsaber #:
NumPy, ALglib'den farklı bir algoritmaya sahip gibi görünüyor

AlgLib'de, orijinal dokümantasyon neden farklı olduklarını, hangilerinin ve ne için olduklarını söylüyor. Regresyonlarla (çoğunlukla AlgLib'i araştırıyordum) oldukça orijinaldir.

Yine, yapamayacağınız gibi her şey garip bir şekilde karşılaştırılır. Farklı kütüphaneler/gerçekleştirmeler için speed=f(dimensionality,special_matrix_properties) bağımlılıklarının grafiklerini oluşturun ve bunlara bakın. Tavandan alınan uç durumları alıyorsunuz.

ve orada mutlak değere değil, semptomatolojiye ve bir "plato" varlığına bakıyorsunuz. Oradan belirli verilerle çalışmak için bir araç seçiyorsunuz.

[Silindi]  
Forester #:

Maxim'in işlemcisi benimkinden 2 kat daha hızlı. Algliba için zamanlama verip vermediğini hatırlamıyorum, sanırım vermedi.

Orada sanallaştırma yoluyla mt var, testler çok makul olmayacak.

Ayrıca python'da bir şeyler hesaplamayı ve sonra bunu herhangi bir platforma aktarmayı seçtim. Örneğin, kripto için terminallere hiç ihtiyacınız yok.

Hız açısından tam bir saçmalık
 
Maxim Kuznetsov #:

Tekrar ediyorum, bu sizin yapamayacağınız şekilde garip bir karşılaştırma yöntemi.

Karşılaştırma yapmıyorum, herkesin kendi durumu için ölçebileceği bir kod sağlıyorum.

100'lük dize uzunluğu kalıbın uzunluğudur. Muhtemelen bundan daha fazlasına ihtiyacınız yoktur.

15000 örnek, korelasyon matrisinin ikinci dereceden boyutu nedeniyle bellekle sınırlıdır. Ne kadar çok örnek, o kadar iyi. Bu yüzden bir milyon örneğe sahip olabileceğiniz ev yapımı bir tane yazdım.

Nesnel karşılaştırma yapmak için ne isteğim ne de zamanım var. Bunu kendi görevlerim için yaptım ve çalışma kodunu paylaştım. İhtiyacı olan herkes görecektir.

 
Ehhh... Tüm çabalarımızın %5'i bile ortak bir göreve yönlendirilse, bu pazarı aylar içinde fethederdik.

Ve böylece yıllardır, onlarca yıldır herkes kendi çorbasında kaynıyor ve faydalı zamanın %90'ı bu işe yaramaz forumda harcanıyor.