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

 
Maxim Dmitrievsky #:

Savunma Bakanlığı.

Orijinal EA'nın modelinin aynı olması fark etmez: bir model gör, aç.

 
fxsaber #:

MQL5'te böyle bir matrisin elemanları eski makinemde ~55 saatte hesaplanıyor. Bellek tüketimi minimum düzeydedir.

Satır uzunluğu 100'dür.

Bir milyona bir milyon mu yoksa 100 mü? Giriş matrisi bu mu?
Ve çıktı 1000000* 1000000 mi? Bu bir terabayt eder. Satır satır okuyup diske mi attınız?
Hangi fonksiyonu kullandınız? PearsonCorrM, PearsonCorrM2, PearsonCorr2 veya standart?

 
fxsaber #:

Orijinal EA'nın modelinin aynı olması fark etmez: bir model görürseniz açın.

Orada durum farklı, EA kendi kendine sinyaller üretiyor.

Ve desen setleri mantıkla bağlanmalıdır. Yönlü alım satımları ve min tersine çevirmeyi denedim, her ikisi için de desenler var, nispeten iyi olanlar.

 
Forester #:

Bir milyon kere bir milyon mu yoksa 100 mü? Giriş matrisi bu mu?

Giriş 100x1000000.

Ve çıktı 1000000*1000000? Bu bir terabayt eder. Satır satır saydın ve diske mi attın?

Satır satır. Ben hiçbir şey dökmedim. Örüntü arayışını tartışmak bağlamında, kabaca konuşmak gerekirse, her satırda yalnızca Abs(Corr[i]) > 0.9 olduğu durumları bulmamız gerekir. Bunu yapmak için matrisi yazmamıza gerek yok, sadece satırlarını saymamız yeterli.

Sayma işlemini yapmak için hangi fonksiyonu kullandınız? PearsonCorrM, PearsonCorrM2, PearsonCorr2 veya standart olanı mı?

Satır satır hesaplama için kurum içi bir fonksiyon bulamadım. Alglib yavaş görünüyordu. Kendi versiyonumu deniyorum.

 
Maxim Dmitrievsky #:

Bu farklı, NS kendi sinyallerini üretiyor.

Ve desen setleri mantıkla bağlanmalıdır. Yönlü alım satımları ve min tersine çevirmeyi denedim, her ikisi için de desenler var, nispeten iyi olanlar

Kulağa hoş geliyor.

 
Maxim Dmitrievsky #:

Şimdilik bir kenara koydum, sonuçlar MO'dan daha iyi değil, ancak MO da dengenin pürüzsüzlüğü açısından yetersiz

5 dakika, yarım antrenman


Riski daha fazla görmek ilginç.
 
fxsaber #:

Satır satır. Hiçbir şeyi göz ardı etmedim. Örüntü arayışını tartışmak bağlamında, kabaca konuşmak gerekirse, her satırda yalnızca Abs(Corr[i]) > 0.9 olan durumları bulmanız gerekir. Bunu yapmak için matrisi yazmanıza gerek yoktur, sadece satırlarını saymanız yeterlidir.

A tamdır. Her satır için muhtemelen sadece 1-5 bin korelasyonlu satır olacaktır, gerekirse kaydedilebilirler.

fxsaber #: Satır satır hesaplama için standart bir tane bulamadım. Alglib yavaş görünüyordu. Kendi varyantımı deniyorum.

PearsonCorrM2'nin hızlı çalışacağını düşünüyorum. 1 matrisi tam olarak besliyoruz, bir satırdan 2. matris kontrol edilecek. Ve sondan gidersek, ilk matrisin boyutunu bir sonraki satırın numarası olarak belirleyebiliriz, böylece test edilen satırın altındaki satırlar için korelasyonu tekrar tekrar hesaplamayız.

 
Forester #:

PearsonCorrM2'nin hızlı bir yol olacağını düşünüyorum.

İlk başta hızlı olacağından şüpheliydim.

// Считает Pos-строку.
const matrix<double> CorrMatrix( const matrix<double> &Matrix, const int Pos )
{
  matrix<double> Res = {};
  
  const CMatrixDouble MatrixIn(Matrix);
      
  matrix<double> Column;
  Column.Assign(Matrix.Col(Pos));
  Column.Init(Column.Cols(), 1);
  
  const CMatrixDouble Vector(Column);
  CMatrixDouble MatrixOut;  

  if (CBaseStat::PearsonCorrM2(Vector, MatrixIn, MatrixIn.Rows(), 1, MatrixIn.Cols(), MatrixOut))
    Res = MatrixOut.ToMatrix();
  
  return(Res);
}

Bunlardan birini denedim, sadece vurguyu ölçtüm. Yavaş bir şey, bu yüzden kendim yapıyorum.

 

Sanki benden başka kimse bilmiyormuş gibi.


Pearson çarpma ve toplama işlemleri için değişmezdir.

void OnStart()
{
  const double a = 2, b = 7;  
  const vector<double> Vector = {1, 2, 3, 4};
    
  Print(Vector.CorrCoef(Vector * a + b));   // 1
  Print(Vector.CorrCoef((Vector + a) * b)); // 1
}

Basit formüle rağmen ben ekleme hissetmedim. Ve wiki özellikle böyle diyor.

Ключевым математическим свойством коэффициента корреляции Пирсона является то, что он инвариант при отдельных изменениях положения и масштаба двух переменных. То есть мы можем преобразовать X в a + bX и преобразовать Y в c + dY, где a, b, c и d - константы с b, d>0, без изменения коэффициента корреляции.

Özellikle, bu başlangıç matrisi
[[1,2,3]
 [1,2,3]
 [2,4,4]]

birim korelasyon matrisine sahiptir (satırlar sütunlara göre).

 
fxsaber #:

Pearson çarpma ve toplama işlemleri için değişmezdir.

Fiyat verileri için muhtemelen çok iyi değildir.