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

 
Genelde yaşadığım forumda eğitimde Python kullanımı ile ilgili bir konu açarım. MTS'nin geliştirilmesi için bir tüccar için faydalı olabilecek her şey burada açıklanacaktır. Hazır stratejiler olmayacak. Görev, karlı MTS oluşturmak için bir "algoritma" bulmaktır. Hangi yöntemlerin kullanıldığı önemli değil. Ana şey, faydalı olmalarıdır. Bağlantı haber kaynağımda olacak.
 
Grigory Chaunin :
MT'deki sinir ağları ile her şey basittir. Microsoft CNTK'dan bir kitaplık var. Python, C# ve C++ için uygulanmaktadır. Tüm ağ analizi ve eğitimi Python'da yapılır ve eğitilen ağı yükleyen ve üzerinde hesaplamalar yapan C++ ile bir DLL yazılır. Bence bu en iyi seçenek. İkinci seçenek Python'u MT'ye bağlamaktır. Bunun için basit bir kütüphane yazdım. kitaplık Python'da bulunan her şeyi bağlayabilir ve kullanabiliriz. Ve çok fazla mevcut. Blogumda makine öğrenimi hakkında yazmaya başlamalı mıyım diye merak ediyorum.
Lütfen, bir noktayı açıklayabilir misiniz, komut dosyası başlatıldıktan sonra bellekte kalıyor mu? Yani, python betiği tarafından yüklenen modüller de bellekte asılı kalmalıdır, değil mi?
 
Evet. MQL kodunun her işarette Python komut dosyası işlevlerini çağırdığı varsayılır.
 
Maksim Dmitrievski :

stratejiler ve kişisel düşünceler / deneyimler hakkında okumak ilginç olurdu .. şahsen benim için

çünkü temelde burada kütüphane yığınlarını sıralamak ve ne yazmanın/yazmamanın daha iyi olduğu hakkında her türlü çöpü yazıyorlar .. salgın basit ve her şey sütte

ana fikir fxsaber tarafından uzun zaman önce dile getirilmiş olsa da - bu yaklaşımla konu kapanabilirdi, çünkü başlangıçta hatalıydı

Kabul ediyorum.

Konu, belirli örnekler ve teori olmadan tamamen çöp haline geldi.

Durumu düzeltelim.

Başlangıç olarak, herkese tahmin için örnek boyutunun nasıl belirleneceğini okumasını tavsiye ederim (ekteki dosyaya bakın).

Dosyalar:
 
Alexander_K2 :

Kabul ediyorum.

Konu, belirli örnekler ve teori olmadan tamamen çöp haline geldi.

Durumu düzeltelim.

Başlangıç olarak, herkese tahmin için örnek boyutunun nasıl belirleneceğini okumasını tavsiye ederim (ekteki dosyaya bakın).

teşekkürler Alexander, mb oradan işe yarar bir şeyler çıkarabilirsin, okuyacağım

 
Alexander_K2 :

Kabul ediyorum.

Konu, belirli örnekler ve teori olmadan tamamen çöp haline geldi.

Durumu düzeltelim.

Başlangıç olarak, herkese tahmin için örnek boyutunun nasıl belirleneceğini okumasını tavsiye ederim (ekteki dosyaya bakın).

Kendi başına mükemmel bir makale. Makalede sunulan sonuçlar bizim için son derece eksik. "Çöp içeri - çöp dışarı" dalında refahın temelini oluşturan böyle bir çalışmanın olmamasıdır.


Ancak makale, kınamak geleneği a la sovieticus'ta sunulmaktadır - pratik yararsız mükemmel bir teori: kod yok .

 

Şu anda stabil bir model var. Hala çalışmaya ihtiyacı var, ancak diğer görevlerle meşgul.

Giriş = fiyatlar + 13, 26 ema;

Önişleme, çıktı = sigmoid(max, min, close), delta(open-close), türev(max, min, close), log türev(max, min, close), detrend(kapat-em13, kapat-em26) , ema(13, 26), ema(13, 26) türevleri; Zaman serisi veri kümesine veri kümesi dönüştürme (1 mum + son 5 mum). Toplam 16 x 6 = 96 parametre.

Mimari:
Toplu Normalleştirme(96);
GRU(96, L2, Bırakma=0.5, 'elu');
GRU(64, L2, Bırakma=0.5, 'elu');
Toplu Normalleştirme(64, Bırakma=0.3);
Yoğun(32, Bırakma=0.3, 'elu');
Yoğun(16, 'elu');
Yoğun(8, 'elu');
Yoğun(3, 'softmax');
Optimize Edici=Nadam;
Kayıp=Kategorik çaprazsentropi;

İlerideki mumda BouncedMA sinyallerinden çıkın (dalda daha yüksek);

Tahminler: kayıp ~0.7-0.8; doğruluk ~0.55;
Ancak! Modelin bu tür tahminleri, sinyallerinin kalitesini göstermez. Eğitim sinyallerinin = 1.0, 0.95, 0.0, -0.95, -1.0 olması ve alış/satış için sınıf tahmininin ~abs(0.45, 0.7) dalgalanması nedeniyle daha düşüktürler.
Ayrıca, 5000 satırlık bir tarih kümesinden eğitim 0,8 parça üzerinde gerçekleşir, yani model tırnaklardaki en son verileri bile görmez (~ 1000 satır). Tahmin, son 100 mum üzerinden yapılır.

pronoz

model

kayıp acc

Gördüğünüz gibi, eğitim ~ 45 epoch'ta durdurulabilir.

tahmin etmek

Kod , Gösterge .

 
Sihirbaz_ :

)))

Takviyeli öğrenme = denetimsiz öğrenme. Çok açgözlü bir algoritma.

Taşlı Maksim kumarhaneye gelir. Önünde bir grup "tek kollu haydut" hafif makineli tüfek var. Herkesle oynamaya başlar ve sonucu yazar.

Makinelerden birinde kesimin daha iyi olduğu ortaya çıktı ve neşeli Maxim sadece onunla oynamaya başladı. Ama mutluluk uzun sürmedi...

http://www.machinelearning.ru/wiki/index.php?title=Reinforcement_learning


evet haydutları çoktan geçtim :) siz de epsilon'u açgözlü yapabilir ve periyodik olarak birinden diğerine koşabilirsiniz

 
 

Çok iyi not. Teşekkürler, bunu hiç düşünmemiştim.

Böyle çıkıyor -

I ) Bir nöron alıyoruz, ticaretini canlı hale getiriyoruz ve aynı zamanda konfigürasyonunu seçiyoruz. Kazandıklarıyla işlem masasını çıldırtır, fiyatı ona karşı hareket ettirmeye başlar, ancak bir şekilde buna hazırdır ve hala artıda işlem yapar, işlem masası ayrıca para kazanmak için bankalararası piyasada işlemleri kopyalar, bu zaten borsayı yönlendirir robotlar çıldırır, aptallaşmaya başlarlar ve dünya pazarı cehenneme döner. Ajan çevre ile etkileşime girer. Bu takviye ticaretidir. Bana öyle geliyor ki, geçen bir Pazartesi günü, bazı Google yeni takviye ticaret robotlarını test ediyordu, tam olarak uyuyor.

II) Bir nöron alıyoruz, onu tarihle takas ediyoruz. Tarihte iyi ticaret yaptığı nöronun ağırlıklarının ve konfigürasyonunun ideal versiyonunu buluyoruz. Artık pekiştireç alınmıyor, bu öğretmensiz öğrenmedir. Ve büyük olasılıkla fazla takma ve boşaltma.


Kısacası, plan, her birinde bir nöronun birkaç günlüğüne takas ettiği yüz centlik canlı hesaplar. Genetik, nöronların çalışmasının sonuçlarını toplar ve yeni konfigürasyonlarını seçer, birkaç günde bir yeni robotlar üretir ve ardından sonucun tekrar yenilerini yaratmasını bekler.