トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 2630

 
Maxim Dmitrievsky #:
事前にわからないのが、ある種のクリエイティブ。
利益を上げているTSのトレードは、パターンを示しているはずです。価格/時間だけを使うのであれば、選択/近似は可能だと思われる
どんなものでも近似することができ、TSは近似しなくても、コードに明確なロジックがあります
 
mytarmailS #:
どんなものでも近似することができますが、TCは近似しなくても、コードの中に明確なロジックがあります。
正確なロジックはわかりません、そういえば...デコンパイルではありませんね。そうすると、「イメージと似ている」というファジーが残ります。アビバストレーナー
 
Maxim Dmitrievsky #:
正確なロジックはわかりませんからね...デコンパイルではありませんよ。そうすると、「イメージと似ている」というファジーが残ります。アビバストレーナー

だから、車2台の交差点戦略をとって、モデラーに直接交差点のサインを出さないようにすれば。

かなり良い出来で、驚きすら覚えますが、原始的なアルゴリズムなので......。

青がオリジナル信号、赤がプリフィックス信号です。

Reference
Prediction   0   1
         0 106   4
         1   1  89
                                          
               Accuracy : 0.975           
                 95% CI : (0.9426, 0.9918)
    No Information Rate : 0.535           
    P-Value [Acc > NIR] : <2 e-16          
                                          
                  Kappa : 0.9496     


そして、それを正常化しなければ...。

Prediction   0   1
         0  96   0
         1   0 104
                                     
               Accuracy : 1          
                 95% CI : (0.9817, 1)
    No Information Rate : 0.52       
    P-Value [Acc > NIR] : < 2.2 e-16  
                                     
                  Kappa : 1          
x <- cumsum(rnorm(10000))

m5 <- TTR::SMA(x,5)
m15 <- TTR::SMA(x,15)

X <- matrix(ncol = 20,nrow = length(x))

for(i in 20:length(x)){
  ii <- (i-19):i
  X[i,] <- m5[ii] - m15[ii]
}


Yn <- (m5>m15)*1
Y <-  as.factor(Yn)

tr <- 50:9800
ts <- 9801:10000

library(randomForest)
rf <- randomForest(Y[tr]~., X[tr,])
pr <- predict(rf ,X[c(tr,ts),])

prN <- as.numeric(as.character(pr))

par(mar=c(2,2,0,0))
layout(1:3, heights = c(10,1,1)) #  Heights of the two rows
      
plot(tail(x,200),t="l",col=8)
lines(tail(m5[c(tr,ts)],200),col=2,lwd=1)
lines(tail(m15[c(tr,ts)],200),col=4,lwd=1)
plot(tail(Yn,200),t="h",col=4,lwd=2)
plot(tail(prN,200),t="h",col=2,lwd=2)


caret::confusionMatrix(predict(rf ,X[ts,]) , Y[ts])
 
mytarmailS #:

だから、車2台の交差点戦略をとって、モデラーに直接交差点のサインを出さないようにすれば。

かなり良い出来で、驚きすら覚えますが、原始的なアルゴリズムなので......。

青がオリジナル信号、赤がプリフィックス信号です。


そして、それを正常化しなければ...。

だからいいんです、レポートをどう解析して、皆さんのMAのように簡単なTCをやってみる必要があるんです、ええ。今はちょっと忙しいですが、楽しい話題です。
 
mytarmailS #:

だから、車2台の交差点戦略をとって、モデラーに直接交差点のサインを出さないようにすれば。

かなり良い出来で、驚きすら覚えますが、原始的なアルゴリズムなので......。

青が元の信号、赤が予測器。


そして、それを正常化しなければ...。

MA Expert Advisorが何を使い、どのような周期を持つかは、事前に知ることができません。またはその他の指標を使用する。
MA (X)ではなく、例えば100本のバーの生の相場 (X)でモデルを訓練してみてください(あなたはブラックボックスからMAの期間を知らないので、何本が使われたかを推測するしかありません)。

まあ、Yは試験官から与えられたものですが。

 
elibrarius #:

専門家であるMAが、何を、どの時期に使うかは、事前に知ることはできません。またはその他の使用される指標。

できるできないを言わずに、「どうしたらできるのかわからない」と言ってください。その方が素直でいい。

 
elibrarius #:


MAhs (X)の代わりに生の見積書 (X)でモデルを学習させてみる。

rawも悪くはない。

 Reference
Prediction   0   1
         0  72   2
         1   5 121
                                          
               Accuracy : 0.965           
                 95% CI : (0.9292, 0.9858)
    No Information Rate : 0.615           
    P-Value [Acc > NIR] : <2 e-16          
                                          
                  Kappa : 0.9255     
 
mytarmailS #:

生も悪くない

そっちの方が面白い...。
 
mytarmailS #:

生ものも悪くない。

本当にMOが必要なのか?

 

私の結果です。解読できた人、よくやった!何が何だか忘れてしまったよ。

もう一つのテスト例、マとプライスのクロス。入力は直近の数本のバーの増分、出力は取引方向(1ベイ、0セル)です。基礎となるネットワークのパラメータ:1 Dense layer with tanh.win - 入力数, per - MA期間, total - 学習サンプル数.ネットワークは1エポックで学習されるため、学習中のサンプルの繰り返しはない。検証は、トレーニングサンプルを垂直方向に反転させたもの(*-1)を使用します。テストは、独立した別のサンプルで実行されます。すべてトータルではイコールです。これは、ネットワークが隠れたパターンを探し出すことができることを証明するために必要なことです。

小さなネットワーク(<1000ニューロン)では、CPUでの計算の方がGPUより高速です。batch=8192では、計算時間は同じです。このテストケースでは、隠れニューロンが1個の場合と100個の場合が同時に計算される。cpuの倍精度、単精度のカウントを同時に行った場合、結果は同等となります。異なる活性化タイプをほぼ同じ時間カウントし、同等の結果を得た。batch=1でtotal=10^6を18分カウントしている。バッチと時間の関係は線形である。

サンプルサイズの精度。batch=1 , per=100, win=100。1列目:サンプルサイズ(合計)、2列目:時間min.sec、3列目:テスト時の精度、4列目:トレーニング時の精度、5列目:検証時の精度。
1м 18.49 99.98.7 99.
100k 1.54 98.5 97.3 98.6
10k 0.11 97.8 88.4 98.1
1k 0.01 71.2 62.1 66.5

入力にノイズを加える。total=10^6, batch=32 , per=10, win=10.1列目:入力からのノイズ割合、2列目:テスト時の精度、3列目:トレース時の精度、4列目:検証時の精度。

0.001 99.8 98.1 99.8
0.01 99.6 98.2 99.6
0.1 96.8 96.1 96.8
1 74.9 74.2 75.1

入力数と誤差。total=10^6, batch=32 , per=100. テスト時の精度、学習時の精度、検証時の精度。

win=150: 99.5 98.7 99.5

win=100: 99.6 98.8 99.6

win=90: 98.9 98.2 98.9

win=80: 97.2 96.6 97.2

win=70: 94.8 94.3 94.8

win=60: 92.0 91.6 91.9

win=50: 88.6 88.2 88.6

win=20: 74.7 74.4 74.7

重みのグラフ。1入力ニューロン。ma(100) 100入力左、ma(50) 100入力右。


理由: