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

 
elibrarius :

Buradaki işlem sayısının dikkate alınmasına gerek olmadığını düşünüyorum. Ve sadece her işlemden komisyonlu spread'i çıkarın. Bunun gibi bir şey:

orada işe yaramaz, yine de saymalısın

 
Vladimir Perervenko :

Evet, sürümünüz doğru.

Hayır, seninki doğru!

sonuçta, "daha önce" açılan bir anlaşma (açılış vektörümüze düşmedi)

bu, komisyonun mevcut vektörde değil "daha önce" geri çekildiği anlamına gelir.

ama bunların hepsi küçük ayrıntılar.

 

2 saat zamanı olanlar için


 
mytarmailS :

2 saat zamanı olanlar için


Neyle ilgili?

 
mytarmailS :

2 saat zamanı olanlar için


Şizoid fantezileri ve yanlış çıkarımlarıyla gençlerin beyinlerini kirletiyor.

 
mytarmailS :

Hayır, seninki doğru!

sonuçta, "daha önce" açılan bir anlaşma (açılış vektörümüze düşmedi)

bu, komisyonun mevcut vektörde değil "daha önce" geri çekildiği anlamına gelir.

ama bunların hepsi küçük ayrıntılar.

İki noktayı hesaba katmazsanız, bunlar gerçekten önemsiz şeyler. Birincisi yürütme hızıdır:

cnt<-function(x){
    n <- 1 :(length(x)- 1 )
    cnt <- 0
     for (i in n) { if (x[i]!=x[i+ 1 ]) {cnt<-cnt+ 1 }}
     return (cnt)
}
cnt1 <- function(x){
    length(rle(c(x))$values)
}

sig <- rep(c( 1 , 1 , 1 ,- 1 ,- 1 ,- 1 ), 3000 )

bench::workout({
    c <- cnt(sig)
    c1 <- cnt1(sig)
})
# A tibble: 2 x 3
  exprs            process     real
  <bch:expr>      <bch:tm> <bch:tm>
1 c <- cnt(sig)     15.6 ms   9.21 ms
2 c1 <- cnt1(sig)         0    1.15 ms

İkinci seçenek 15 kat daha hızlıdır. Ve on binlerce kez denen bir uygunluk fonksiyonuna katılırsa, bu önemli bir zaman kaybıdır.

İkinci an. Al/Sat/ iki durumumuz varsa her şey yolundadır Ama kural olarak, TS üç sinyal üretir - Al/Sat/tut (1, -1, 0). Ve sonra ikinci seçenek çalışmıyor. Ve ilki biraz ince ayar yaptı

sig <- rep(c( 1 , 1 , 1 ,- 1 ,- 1 ,- 1 , 0 , 0 , 0 ), 3000 )
> length(sig)
[1] 27000
cnt<-function(x){
    n <- 1 :(length(x)- 1 )
    cnt <- 0
     for (i in n) { if (x[i] != x[i+ 1 ] & x[i+ 1 ] != 0 ) {cnt<-cnt+ 1 }}
     return (cnt)
}
bench::workout({
    op <- cnt(sig)
    op1 <- cnt1(sig)
})
# A tibble: 2 x 3
  exprs             process     real
  <bch:expr>       <bch:tm> <bch:tm>
1 op <- cnt(sig)     31.2 ms   17.43 ms
2 op1 <- cnt1(sig)         0    3.23 ms
> op
[ 1 ] 5999
> op1
[ 1 ] 9000

İlk seçenek (yavaş da olsa) doğru sonucu gösterecek ve ikincisi, pozisyondan çıkmayı yanlış olan bir ticaret olarak değerlendirecektir.

 
Vladimir Perervenko :

İki noktayı hesaba katmazsanız, bunlar gerçekten önemsiz şeyler. Birincisi yürütme hızıdır:

tamamen katılıyorum...

Fitness işleviyle ağları veya ormanları eğitmenin yolları var mı?
 
mytarmailS :

tamamen katılıyorum...

Fitness işleviyle ağları veya ormanları eğitmenin yolları var mı?

Uygunluk fonksiyonu, optimizasyon işlemi sırasında optimizasyon kriterinin değerini hesaplar. Modeli eğitmekle ilgisi yok.

 

"ticaret yapma" eklemek için catboost multiclass'ı metac'a ayrıştırmanız gerekir

strateji yelpazesi artacak

 

uygunluk fonksiyonuna, dengeyi hesaplamak ve komisyonu hesaba katmak için yeni bir fonksiyon eklendi ...

Yol boyunca öğrenmek daha da kötüleşti, neden? Sanırım artık algoritma komisyondan tasarruf etmek için işlem sayısını en aza indirmeye çalıştığı için ... sonuç olarak daha az deneyim sonucu daha az işlem ..

İşte grafikler, eğitim sırasında birkaç işlem olduğunda eğitimin başarısız olduğu doğrudan görülebilir...

gri renkte, bu eğitim TRAIN 1500 puan

siyah TEST 500 puandır

BURADA birkaç işlem vardı, algo hiçbir şey öğrenmedi, çok düşük frekans ..


Giriş noktalarını 2 gün önceden bilmek güzel))

Ama hepsini nasıl test edeceğimi bilene kadar sürekli olarak yeniden eğitmek muhtemelen daha iyidir.