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

 
アレクセイ・テレンテフ
OHLCによる分類問題で、ネットワーク[64 GRU + 32 GRU + 2 Dense] → Buy/Sell モデル (7000 bar)、~24回のトレーニング実行で0.9 - 0.8%の精度を得る。しかも、これを30秒程度で。

サインとアウトの中身は?
 
pantural
サインとアウトの中身は?

"OpenHighLowClose→Buy/Sell "です。

update: このスレッドですでに売買シグナルが投稿されています。

 
エリブラリウス
この結果は、トレーディングではどうなのでしょうか?預金の増加率(月/年)はどのくらいですか?7000本ではなく、100000本を目指してトレーニングすると?

取引は開始していない。自動化で忙しい。

また、ニューラルネットワークのモデルの選択もかなりセンシティブです。層の活性化関数の種類、誤差関数、学習方法、正しい出力の事前学習、その他たくさんのMOのニュアンスを考慮する必要があります。すべてのトレーニングは、各信号を[-1;1]の範囲で非常に迅速に0にすることができます。

だから、結果を急ぐことはないんです。

 
what mean l2 norm?? - MATLAB Answers - MATLAB Central
  • www.mathworks.com
what mean l2 norm??. Learn more about matlab
 

ありがとうございます。必要なものだけ

 

Rを理解している人はいますか?quantmod 経由で引用符をダウンロードする最初の例では、受信した引用符を描画 することができない不具合があります。

getSymbols("AAPL", src = "google")
plot(AAPL[, "AAPL.Close"], main = "AAPL")

//
[1] "AAPL"
> plot(AAPL[, "AAPL.Close"], main = "AAPL")
Error in if (on == "years") { : missing value where TRUE/FALSE needed


https://www.r-bloggers.com/an-introduction-to-stock-market-data-analysis-with-r-part-1/

An Introduction to Stock Market Data Analysis with R (Part 1)
An Introduction to Stock Market Data Analysis with R (Part 1)
  • ntguardian
  • www.r-bloggers.com
Around September of 2016 I wrote two articles on using Python for accessing, visualizing, and evaluating trading strategies (see part 1 and part 2). These have been my most popular posts, up until I published my article on learning programming languages (featuring my dad’s story as a programmer), and has been translated into both Russian (which...
 
マキシム・ドミトリエフスキー

Rを理解している人はいますか? 最初の例でquantmod 経由で引用符をロードする際に、結果の引用符を描画 できない問題があります。

記事中のコードを実行したところ、初回からすべてうまくいきました。
バージョンR 3.4.2ですが、あまり関係ないような気がします。

 

分類モデルを学習する場合、クラス「1」の学習例数とクラス「2」の学習例数が一致するように、クラス数のバランスを取る(不要な例を削除する)ことが知られています。

回帰 モデルにも同様の要件があると思いますが、より複雑です。0.001を目標とする例数と-0.001を目標とする学習例数は等しくなければなりません。
0.002を目標とする例数は-0.002を目標とする例数と等しくなければならない、等々です。

このバランシングを行うためのスクリプトは以下の通りです。

#Подготовка  таблички для обучения модели, тут рандомные значения
#таргет  в колонке 11
trainTable <- cbind(matrix(runif(10000), nrow = 1000, ncol=10), 
                    round(sample(c(-runif(480)*runif(480), runif(520)*runif(520))*0.1), 3))#рандомные  значения для таргета, 3 знака после запятой.
                                                                                           #Позитивных значений на 40 больше чем негативных имитируя тренд в исходных ценах.


#Требуется  взять для обучения модели только такие строки таблицы когда число позитивных и негативных значений будет равно и отбалансировано по уровням

target <- trainTable[,11]
target <- round(target, 3) #округление  до определённой точности, тут 3 знака после запятой
targetFactor <- factor(target)
targetFactorLevels <- as.numeric(levels(targetFactor))
balancedIndexes <- c()
for(i in 1:length(targetFactorLevels)){
  idx <- which(target == targetFactorLevels[i])
  idxN <- which(target == -targetFactorLevels[i])
  minLength <- min(length(idx), length(idxN))
  balancedIndexes <- c(balancedIndexes, tail(idx, minLength), tail(idxN, minLength))
}
balancedIndexes <- sort(unique(balancedIndexes))

trainTableBalanced <- trainTable[balancedIndexes, ] #новая табличка на которой можно обучать модель
 

ウェーブレットはどんな時に役立つのか?

多くの高頻度金融時系列に典型的に見られるように、データが高いボラティリティとギャップを示す場合、予測はさらに困難となる。高頻度為替レートデータを用いて、高いボラティリティとギャップに頑健なウェーブレットが、評価額推定、ゾーン予測、またはその両方に影響を与える高いボラティリティが支配的な特徴である高頻度アプリケーションにおいて有用な予測因子であることを示す。この結果は、時系列を均質な成分に分解し、それを時系列予測 モデルに用いることが非常に重要であることを示している。異なる構成要素は、ボラティリティ領域に関連する異なるデータに対して、他よりも有用となる。我々は、為替レート上昇の高周波数系列を予測するための線形および非線形時系列モデルを幅広く検討する。その結果、データが高いボラティリティを持つ非標準的な特徴を示す場合、非線形モデルは線形代替モデルを上回ることが示された。しかし、推定値、予測値ともにデータが低ボラティリティの範囲にある場合、ウェーブレットによってデータのノイズを除去するためにかなりの努力が必要であるにもかかわらず、単純な線形自己回帰モデルが優勢になります。

 
Dr.トレーダー

分類モデルを学習するためには、クラス「1」の学習例の数とクラス「2」の学習例の数が一致するように、クラスの数をバランスさせる(不要な例を削除する)という考え方がある。

回帰モデルにも同様の要件がありますが、より複雑で、レベル「0.001」の例数とレベル「-0.001」の学習例数は等しくなければなりません。
0.002をターゲットとする例の数は、-0.002をターゲットとする例の数と同じでなければならない、など。

このバランスをとるためのスクリプトは以下の通りです。

本来はどういう意味なのでしょうか?
もし、ドルが何ヶ月か成長していた(トレンドになっていた)場合、学習例の量を平滑化することで、その間ずっと横ばいだったかのようにNSを表示します。そして、それに従って、それを平らにすることを学びます。これでいいのでしょうか?もしかして、やっぱりトレンドに教えるべき?
理由: