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

 
mytarmailS :

bir uyarı aldım

mantıksal olarak, betik önceden oluşturulmuş tabloyu rdata dosyasından okumaya çalıştı ama yapamadı, uyarı bu. rdata komut dosyasını bir sonraki çalıştırışınızda, etiketli dosya okunacak ve herhangi bir uyarı olmayacaktır.


NA da mantıklı, bir model oluşturmak için verilerin hazırlanması ve bu göstergelerden ham çıktı almaması gerekiyor. Yapılabilecek daha çok şey var -

<NA> tablonun başında normaldir, çünkü şamdanlar en az 23 çubuk gerektirir. İlk 23 bar için her zaman NA beklenebilir.
Tabloyu pencerenin genişliğine kadar doldurmadım, sadece NA olmayacak, aynı zamanda gösterge hesaplamalarının daha düşük derinliği nedeniyle “bazı farklı” sonuçlar bekleyebilirsiniz.
Tüm ilk satırları pencerenin genişliğine kadar kesmek daha iyidir.
trainData <- trainData[-(1: göstergeDepth ), ]

Hedef dışındaki sütun adlarında <NA> öğesini düzeltin: colnames(trainData)[-ncol(trainData)] <- paste0("pred",1:(ncol(trainData)-1))

Tüm pozitifler için hedefi 1 ve tüm negatifler için -1 olarak değiştirin. Veya bir nöronunuz varsa {0;1}.

Fiyatlara yakın bazı değerler içeren göstergeler - 0-1 ölçeğinde veya deltaları sayın. (Örneğin MA değerleri her zaman fiyata yakın bir yerdedir, ölçeklenmesi veya deltaize edilmesi gerekir. Ve RSI her zaman kendi 0-100 aralığındadır ve bu kendi içinde iyidir. Gösterge değerleri ise ​Eğitim sırasında bilinen değerlerin ötesine geçebilir - delta, daha da kötüleşmeyecek)

Bir nöron için, genel olarak, tüm göstergeleri 0-1'de ölçeklendirmek daha iyidir.

Peki, vb.

Ancak 46-51 sütunlarındaki NA gerçekten yanlış bir şey. Orada veya farklı bir biçimdeki göstergeler her şeyi döndürür ve bunları özellikle tabloya eklemek için farklı bir koda ihtiyacınız vardır.
Veya - bu göstergeler kendi başlarına NA döndürür; daha büyük bir pencere genişliği gerekebilir; veya her zaman son çubuk için NA döndürürler ve ardından yeniden çizim olan ve hatalı olan yeni çubuğun verilerine dayanarak NA'yı değiştirirler.

 
San Sanych Fomenko :

İşte piyasanın geri dönüşünün habercisi olan yeni bir bar geliyor. Ama biz kutsal ineği beslemeye devam ederken "analiz" bölümünden aldığımız bir fikir uğruna tarihe bakışımızı değiştirmiyoruz.

Basit ticaret için bu oldukça mükemmel, katılıyorum. Gösterge yeni ortaya çıkan bir düzenlilik buldu ve bize gösterdi, her şey yolunda.

Ama verileri hazırlamamız ve modeli eğitmemiz gerekiyor. Gösterge yeniden çiziliyorsa, genellikle geçmiş çubukların değerlerinin daha yeni verilere göre sürekli değiştiği anlamına gelir, yani. geleceğe bir bakış atıyorlar. Ve model sonunda bu geleceğe dönük değerlerden öğrenir, bundan iyi bir şey çıkmaz.
Bu tür göstergeler öğrenme için bir hedef olarak kullanılabilse de, örneğin aynı zikzak 100 bar ileride görünüyor, bu yüzden trendleri bu kadar güzel çiziyor.

 
Dr.Tüccar :

Ancak 46-51 sütunlarındaki NA gerçekten yanlış bir şey. Orada veya farklı bir biçimdeki göstergeler her şeyi döndürür ve bunları özellikle tabloya eklemek için farklı bir koda ihtiyacınız vardır.

Veya - bu göstergeler kendi başlarına NA döndürür; daha büyük bir pencere genişliği gerekebilir; veya her zaman son çubuk için NA döndürürler ve ardından yeniden çizim olan ve hatalı olan yeni çubuğun verilerine dayanarak NA'yı değiştirirler.

Kontrol edildi, yeniden çizim gibi görünüyor. Son çubuk için nextCandlePosition göstergesi her zaman NA döndürür. Sonra bir sonraki çubukta NA'yı gerekli bir şeyle değiştirir. @mytarmailS İlk kodunuzu tekrar deneyin, ancak bu gösterge olmadan ve modeli eğitin, sonucun daha kötü olacağını düşünüyorum.

Komut dosyamı, son yerine nextCandlePosition'ın sondan bir önceki değerini alacak şekilde düzelttim, şimdi tablonun son satırlarında NA olmayacak.

 
Dr.Tüccar :

Basit ticaret için bu oldukça mükemmel, katılıyorum. Gösterge yeni ortaya çıkan bir düzenlilik buldu ve bize gösterdi, her şey yolunda.

Ama verileri hazırlamamız ve modeli eğitmemiz gerekiyor. Gösterge yeniden çiziliyorsa, genellikle geçmiş çubukların değerlerinin daha yeni verilere göre sürekli değiştiği anlamına gelir, yani. geleceğe bir bakış atıyorlar. Ve model sonunda bu geleceğe dönük değerlerden öğrenir, bundan iyi bir şey çıkmaz.
Bu tür göstergeler öğrenme için bir hedef olarak kullanılabilse de, örneğin aynı zikzak 100 bar ileride görünüyor, bu yüzden trendleri bu kadar güzel çiziyor.

Basit bir örnek verelim.

1. Hodrick-Prescott'a göre kenar yumuşatma çizin. Yeniden çizer.

Mevcut çubukta, teğet yukarı baktı. Bir sonraki çubukta, teğet aşağıyı gösterir - mevcut değişiklikler dikkate alındığından gösterge yeniden çizilir. Bir adım ileriyi - aşağıyı tahmin edin.

2. Bir araba çiziyoruz.

Mevcut çubukta, teğet yukarı baktı. Bir sonraki çubukta teğet görünür - gösterge henüz değişikliklere ulaşmadı. bir adım ilerisini tahmin edin.

HP göstergesinin 10-15 çubuktan bir yerde yeniden çizmeyi bıraktığına dikkat edilmelidir.

Seçiminiz nedir ve neden?

 
San Sanych Fomenko :

Seçiminiz nedir ve neden?

Ellerle ticarette - Bu göstergelerin her ikisini de kullanan iyi stratejiler olduğunu varsayabilirim. Bu tür stratejileri bilmiyorum, bu yüzden onlarla ticaret yapmayacağım.

Makine öğreniminde bir makine seçeceğim. Aptal bir gecikme göstergesi, herhangi bir yeniden çizimden daha iyidir.

 
Dr.Tüccar :

Kontrol edildi, yeniden çizim gibi görünüyor. Son çubuk için nextCandlePosition göstergesi her zaman NA döndürür. Sonra bir sonraki çubukta NA'yı gerekli bir şeyle değiştirir. @mytarmailS İlk kodunuzu tekrar deneyin, ancak bu gösterge olmadan ve modeli eğitin, sonucun daha kötü olacağını düşünüyorum.

Komut dosyamı, son yerine nextCandlePosition'ın sondan bir önceki değerini alacak şekilde düzelttim, şimdi tablonun son satırlarında NA olmayacak.

Evet, yeniden çizilebilecek olanları kaldırmak için en iyi tahmincilerden yaklaşık altı tanesini sildiğimi yazdım, ancak doğruluk tam anlamıyla %3 düştü, muhtemelen orada her şey yeniden çiziliyor ...

Yani modeli zaten eğittiniz mi? belki bir başlangıç için bir örnek için birkaç bin alın ve hemen 50k saymayın?

 
orada xs yeniden çizilebilse de, mum formasyonlarının büyük çoğunluğunda çıkışta sadece üç seçenek DOĞRU, YANLIŞ, NA
 
mytarmailS :

Evet, yeniden çizilebilecek olanları kaldırmak için en iyi tahmincilerden yaklaşık altı tanesini sildiğimi yazdım, ancak doğruluk tam anlamıyla %3 düştü, muhtemelen orada her şey yeniden çiziliyor ...

Kodunuzu aldım, nextCandlePosition'dan (X27) alınan 6 göstergeyi kaldırdım, %100 yerine %52 doğruluk elde ettim. Eğitim için biraz farklı endekslerde, doğruluk bazen %50'den azdır. Genel olarak - rastgele.

mytarmailS :
orada xs yeniden çizilebilse de, mum formasyonlarının büyük çoğunluğunda çıkışta sadece üç seçenek DOĞRU, YANLIŞ, NA

nextCandlePosition'ı kullanarak - bir sonraki çubukla gerçekten ilgili değerleri alırsınız, burada geleceğe 1 adım bakarsınız.

Genel olarak, işe yaramadı.

 
Dr.Tüccar :

Kodunuzu aldım, nextCandlePosition'dan (X27) alınan 6 göstergeyi kaldırdım, %100 yerine %52 doğruluk elde ettim. Eğitim için biraz farklı endekslerde, doğruluk bazen %50'den azdır. Genel olarak - rastgele.

nextCandlePosition'ı kullanarak - bir sonraki çubukla gerçekten ilgili değerleri alırsınız, burada geleceğe 1 adım bakarsınız.

Genel olarak, işe yaramadı.

Şey, her şeyin netleşmesi güzel, kaseye gerçekten inanmadım

 

KEEL'e bir geçit olan yeni ve çok umut verici bir RKEEL paketi ortaya çıktı.

İyi şanlar

KEEL: Software tool. Evolutionary algorithms for Data Mining
  • www.keel.es
KEEL contains classical knowledge extraction algorithms, preprocessing techniques, Computational Intelligence based learning algorithms, evolutionary rule learning algorithms, genetic fuzzy systems, evolutionary neural networks, etc.