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

 
ヴィザード_。
ゆっくりでいいんです。クラスタリング方式にかかわらず。1パスする。いくつかの観察をトリミングします。もう一度やってください。結果を比較する。

の結果です。今後の対応策を策定する。そうでないと、「grails」を作っておいて、「なんで動かないんだろう」と思うことになります)))


仮に500人いたとしても、最終的には5人分しか計算できないかもしれません。

と、それだけを残して...。

 
Dr.トレーダー

mytarmailSとして、バーごとにスライドさせて検索すると、各パターンには、各バーの値がどの程度の間隔になるかという情報が含まれています。パターン数が多いほど、各バーに割り当てられるインターバルが小さくなる.........................

スライディングウィンドウのデータフィードは、あくまで私のスタイルであり、それ以上のものではありません。良いも悪いも、みんなと同じだと思うので、どうでしょう......。

しかし、私が説明したアプローチとは何の関係もないのですが...。

このアプローチにより、従来のMOでは不可能だった数パーセントの有用なデータをクラスタリングし、抽出することができます...

予測値をネットワークに送り込み、クラスタリングし、私が説明したアルゴリズムで実行すれば、安全です。

 
Dr.トレーダー

大雑把に言えば、新しいデータを持つ特定のウィンドウが、先に見つけたどのパターンにも当てはまるためには、それぞれのパターンに固有のこのような頂点制約に当てはまらなければならない。

どの程度教え込むかにもよりますが、クラスターをあまり作らず弱く教えるのであれば、モデルの頭の中の図形が滑らかになり、 理論的には おっしゃるような欠陥はなくなるはずですが......。

以下は、50の値が49のクラスタにまとめられた価格系列をモデルがどのように見ているかです。

й

コード...

price <- cumsum(rnorm(30000))+1000
plot(price,t="l")

# делаем скользящее окно (50 знач) через матрицу хенкеля
hankel <- function(data, r=50) {
  do.call(cbind,
          lapply(0:(r-1),function(i) { data[(i+1):(length(data)-(r-1-i))]}))}
price <- hankel(price)

# скалирую, центрирую, в общем нормализирую каждую строчку в матрице
price <- t(apply(price,1,function(x){scale(x,center = T,scale = T)}))

# запускаем пакет с кластеризацыей, в дан. случ с кохоненом
# хорошый мануал  
#https://cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html
install.packages("SOMbrero")
library(SOMbrero)

# тренируем модель, с матрицей 7 х7 те 49 кластеров
model <- trainSOM(price, dimension=c(7,7), verbose=T)
plot(model,what="prototypes",type="lines",print.title=T)
 
mytarmailS:

まあ、どの程度モデルを訓練するかにもよりますが、あまりクラスタを作らないような弱い訓練をすれば、モデルの頭の中の形状はかなり滑らかになり、 理論的に 言う欠点はなくなるはずですが......。

以下は、49のクラスタにまとめられた50の値からなる価格系列をモデルがどのように見ているかです。

コード...

price <- cumsum(rnorm(30000))+1000
plot(price,t="l")

# делаем скользящее окно (50 знач) через матрицу хенкеля
hankel <- function(data, r=50) {
  do.call(cbind,
          lapply(0:(r-1),function(i) { data[(i+1):(length(data)-(r-1-i))]}))}
price <- hankel(price)

# скалирую, центрирую, в общем нормализирую каждую строчку в матрице
price <- t(apply(price,1,function(x){scale(x,center = T,scale = T)}))

# запускаем пакет с кластеризацыей, в дан. случ с кохоненом
# хорошый мануал  
#https://cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html
install.packages("SOMbrero")
library(SOMbrero)

# тренируем модель, с матрицей 7 х7 те 49 кластеров
model <- trainSOM(price, dimension=c(7,7), verbose=T)
plot(model,what="prototypes",type="lines",print.title=T)


Vo.私も昔、同じようなことをしました。コホーネンは面白いものですね。しかし、これをクラスタリング・アルゴリズムと呼ぶのは間違いであることを忘れないでください。畳み込みアルゴリズムです。そして、得られた2次元空間に対してクラスタリングを行う...。
 
アレクセイ・ブルナコフ
Vo.私もずいぶん前にやりました。コホーネンって面白いですね。しかし、これをクラスタリングアルゴリズムと呼ぶのは正しくないことを覚えておいてください。畳み込みアルゴリズムである。そして、得られた2次元空間に対してクラスタリングを行う...。

ありがとうございます!知らなかったです。

しかし、モデル出口をクラスタとして使うことは可能ですよね。

head(model$clustering , 100)
  [1]  7  7  7  7  7  7  7  7  6  6  6  5  5  4  4  3  3  2  2  1  1  1  1  1  8 15 15 22 22 29 36
[32] 43 43 43 43 43 43 43 44 44 45 45 45 46 46 46 46 47 47 47 47 48 48 48 49 42 35 35 28 28 21 21
[63] 21 21 21 21 21 21 21 21 21 14 14 14  7  7  7  7  7  7  7  6  5  4  3  3  2  1  1  1  1  1  1
[94]  8  8 15 22 22 29 36
 
mytarmailS:

ありがとうございます!知らなかったです。

でも、モデルの出力をクラスタとして使うことはできるんでしょう?

head(model$clustering , 100)
  [1]  7  7  7  7  7  7  7  7  6  6  6  5  5  4  4  3  3  2  2  1  1  1  1  1  8 15 15 22 22 29 36
[32] 43 43 43 43 43 43 43 44 44 45 45 45 46 46 46 46 47 47 47 47 48 48 48 49 42 35 35 28 28 21 21
[63] 21 21 21 21 21 21 21 21 21 14 14 14  7  7  7  7  7  7  7  6  5  4  3  3  2  1  1  1  1  1  1
[94]  8  8 15 22 22 29 36

もちろん、できますよ...。本来、これらの細胞には類似のベクターが集合しているのです。

ただ、こうかもしれません(自分も仕事でやったことがあるので、よくわかります)。n万件の応募がある。入力のベクトルは数百にも及ぶ。クラスター化したいが、クラスターがいくつあるのか事前にわからない。普通のコンピューターでは、このようなデータの配列を処理できるアルゴリズムはない。そこで、まず入力空間を潰して、例えば50×50のグリッドを作ります。その結果、2500人の典型的な代表者が...。このようなアレイで、私のコンピュータはアグネス(階層型クラスタリング)を引きます。すべての人がすべての人に近づけるマトリックスを構築する...。

そして、この2500を例えば10のクラスターに分類すると、集計指標が良いことがわかりました。

 
アレクセイ・ブルナコフ

はい、もちろんできますよ...。その細胞には、基本的に類似したベクターの集合体が存在します。

ただ、そうかもしれません(自分も職場でやっていたのでよくわかります)。n万件の応募がある。入力のベクトルは数百にも及ぶ。クラスター化したいが、クラスターがいくつあるのか事前にわからない。普通のコンピューターでは、このようなデータの配列を処理できるアルゴリズムはない。そこで、まず入力空間を潰して、例えば50×50のグリッドを作ります。その結果、2500人の典型的な代表者が...。このようなアレイで、私のコンピュータはアグネス(階層型クラスタリング)を引きます。それは、万人が万人に近いというマトリックスを構築する...。

そして、この2500を例えば10のクラスターに分類すると、集計指標が良いことがわかりました。

in the manualhttps://cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html

得られたSOMからスーパークラスを構築

おっしゃるとおり

 

市場の実態を知りたい方へ・・・。

古い映像から新しい映像へ...。

https://www.youtube.com/channel/UCsdK6s9i_I0NEMvis6wXhnQ/featured

難しそうですが、プログラミングは?僕にはまだ無理です...。

このようなアプローチをMoD用にエンコードする方法を議論するか、あるいはエンコードするだけにした方がいいと思います。

 

R言語と新しいMetaTrader 5 build 1467の情報については、こちらをご覧ください。

  • Rに似た統計ライブラリのアップデート版がリリースされました。

    MQL5で統計分布 - Rの良いところを取り入れ、より高速に

  • MQL5での計算は、Rに比べて3倍から7倍速い(Rの関数がC++で実装されていることを考慮しても)。
  • 一部のR関数には、古い最適化・簡略化手法によるエラーがあり、誤った結果を導くことがある
  • Rに似たグラフィカルなライブラリのベータ版が追加され、Rのようにデータを可視化することができるようになりました。
  • 標準的な配列とRのような構造体の両方を表示する便利なArrayPrint関数を追加しました。


MetaQuotes-Demoサーバーから1467にアップデートすることができます。

Rに似た数学的・統計的な新機能が、今後のバージョンアップで多数追加される予定です。これにより、MetaTrader 5でより多くの計算と視覚化を直接行うことができます。
 
また、実際のボリュームとボリュームからの指標を使用する人はいますか?
理由: