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

 
アレクセイ・ブルナコフ

これは大きな問題です。学習を損なわずに解決することは、ほぼ不可能なことです。
ここで重要なのは、過去を調べれば調べるほど、近隣の観測に依存してしまうということです。

もし、機械にNon-Specified観測を与えてしまうと、最も重要なことである観測の独立性の要件が失われてしまうのです。それ以降、学習が極端に足りなくなる。そして、統計が機能しない。

そして、これを避けるためには、最大の振り返りのラグが、観測を間引くステップと同じかそれ以下になるように、観測を間引く必要があります。そして、それが何につながるのか?学習用サンプル数の百倍削減。

ここには妥協点がある。見栄えの深さ vs サンプル数。

問題であることは認める、数週間前から白髪が増えてきた...。

振り返れば振り返るほど、隣の観測に依存して いるのはどういうことか。意味がわからない...

それと、斬り込みについてですが、私もよくわかりません・・・。

 
mytarmailS:

問題であることに同意します、私は数週間前からそのことで白髪になっています...。

過去を調べれば調べるほど、近隣の観測に依存する ようになるというのはどういうことなのか。?はっきりしませんが...

それと、斬り込みははっきり言ってください・・・私もよくわかりません・・・。

オッケーです。自分の例で言うと。

時間的に隣り合う2本のバーについて、過去の価格のヒストグラムをほぼ100%同じに描きます。つまり、2つの学習例は時間的に隣接しているというだけで、非常によく似ていることになる。これは、観測値が独立であるという統計過程の基本的な性質に反している。機械は時系列不変のパターンを学習せず、反復的な(ほとんど同じ)パターンを学習するようになる。あなたがヴァーシャに200回インタビューして意見を聞き、見つけた知識を1000人に広めようとしたと想像してください。
 
アレクセイ・ブルナコフ
オッケーです。あなたの例で言うと

時間的に隣り合う2本のバーについて、過去の価格のヒストグラムをほぼ100%同じに描きます。つまり、2つの学習例は時間的に隣接しているというだけで、非常によく似ていることになる。これは、観測値が独立であるという統計過程の基本的な性質に反している。機械は時系列不変のパターンを学習せず、反復的な(ほとんど同じ)パターンを学習するようになる。意見調査でヴァーシャに200回インタビューし、わかった知識を1000人に広げようとしたと想像してください。

おお!!それは違いますね!!これで全てがクリアになりました :)

1) ウィンドウサイズを何度か小さくすると、各スライスのセクションの類似度が低くなります。

2)ブレークを できるだけ増やすと、スムージングも 少しは解消されます

PRICE <- cumsum(rnorm(300))+1000
layout(1:2)
plot(PRICE,t="l",ylab = "цена" , xlab = "индексы",lwd=2)
Max <- max(PRICE)
Min <- min(PRICE)
range.vector <- seq(Min, Max, length.out=200)
H <- hist(PRICE, breaks = range.vector)
          

 
mytarmailS:

おお!!それは違いますね!!これですべて完璧に理解できました :)

1) ウィンドウサイズを数倍小さくすると、各スライスのセクションの類似度が低くなります。

2)切れ目を 最大にすることで、スムージングを 少し 取り除くこともできます

私はこの方法でやっています。疑似コードです。

例1=p[0]の場合
ステップ = 720
ランダム = [0;50]
例2=p[step+random]です。

ここで、過去への最大遅延=720

観測値が重ならないように、そのようにスライスしているということです。

同じ原理で、前方を見ることによるターゲットの依存性を回避する必要があるのです。
 

最初に決めるべきことは、どのような予測地平が必要かということです。これによって、調べるべき歴史の深さが決まります。

ヒストリーの深さが3000、1000、300、150バーのトレンドチャートを見てください(AUDUSD/H1)。

> library("PolyTrend", lib.loc="K:/RRO/R-3.3.1/library")
> trend3000 <- PolyTrend(price[ ,4], alpha = 0.05)
> require(magrittr)
Loading required package: magrittr
> trend1000 <- PolyTrend(price[ ,4] %>% tail(., 1000), alpha = 0.05)
> trend300 <- PolyTrend(price[ ,4] %>% tail(., 300), alpha = 0.05)
> trend150 <- PolyTrend(price[ ,4] %>% tail(., 150), alpha = 0.05)
> plot(trend3000, t="l")
> plot(trend1000, t="l")
> plot(trend300, t="l")
> plot(trend150, t="l")


写真は逆順に挿入されています。

また、3000本の場合、方向は「上」です。

Trend type: 3 (cubic)
Slope: 0.0000
Direction: 1 (positive)
Significance: 1 (statistically significant)
Polynomial degree: 3 (cubic)

短くする場合

#  trend1000
PolyTrend classification:

Trend type: 2 (quadratic)
Slope: -0.0000
Direction: -1 (negative)
Significance: 1 (statistically significant)
Polynomial degree: 2 (quadratic)
#  trend300
PolyTrend classification:

Trend type: 2 (quadratic)
Slope: 0.0000
Direction: 1 (positive)
Significance: 1 (statistically significant)
Polynomial degree: 2 (quadratic)
#trend150
 PolyTrend classification:

Trend type: 3 (cubic)
Slope: -0.0000
Direction: -1 (negative)
Significance: 1 (statistically significant)
Polynomial degree: 3 (cubic)

もし私が24本(1日)の予測水平線に興味があるのなら、3000本のバーを遡って見る必要はないでしょう。300本もあれば十分でしょう。

グッドラック






 

24歩先を予測するというのは、疑問が残りますね。

分類でも回帰でも、常に一歩先を予測する必要がありますが、例えば、H1、H4、D1についてです。H1での取引では、H1の4ステップフォワードと24ステップフォワードの予測が得られます。

理想的には、TFは基礎となる商から人為的に作られるべきです。私の例では、H1をロードし、ターミナルから他を取り込まないようにしています。この方法では、00:00にリンクしたD1は得られず、厳密に現在の時刻の24時間先が得られます

 
SanSanych Fomenko:

24歩先を予測するというのは、疑問が残りますね。

分類でも回帰でも、常に一歩先を予測する必要がありますが、例えば、H1、H4、D1についてです。H1での取引では、H1の4ステップフォワードと24ステップフォワードの予測が得られます。

理想的には、TFは基礎となる商から人為的に作られるべきです。私の例では、H1をロードし、ターミナルから他を取り込まないようにしています。この方法では、00:00にリンクしたD1は得られず、厳密に現在の時刻の24時間先が得られます

予測する内容にもよりますが。例えば、24時間のトレンド予測は非常に満足のいくものです(曲線は非常に滑らかです)。つまり、特に精度を要求されることなく、曲線の FORMを確認する必要がある場合です。

そうでなければ、あなたの例は(原則的に)まったく正しいのです。また、スライディングウィンドウのオプション(24時間)も非常に使い勝手が良い。ディテールによって大きく変わる。

グッドラック

 

早速ですが、質問です。

価格分布、つまり普通のベクトルをやっていて、一種のマーケットプロファイルが得られるのですが、本当のボリュームプロファイルを構築する、つまり分布の中で価格とボリュームをリンクさせることはできるのでしょうか?

 
mytarmailS:

早速ですが、質問です。

今まで価格分布、つまり通常のベクトルをやっていて、マーケットプロファイルのようなものはできていたのですが、本当のボリュームプロファイル、つまり分布の中で価格とボリュームを結びつけることは可能でしょうか?

価格と出来高を取り込んで、大まかなチャートを構築する指標があります。そして、その分布も計算することができます。例えば、Chaikin OscillatorやIndicator/Volumesフォルダーにあるいくつかの他の指標です。しかし、FXはティックボリュームに なり、リアルボリュームではありません。 相関性はありますが、それでも悪いので、リアルな証券取引所のボリュームを見る方が良いでしょう。

 
Dr.トレーダー

価格と出来高をとって、大まかなグラフを作る指標があります。そして、そのためのディストリビューションを読むことができます。例えば、Chaikin OscillatorやIndicator/Volumesフォルダーにあるいくつかのインジケーターを使用します。しかし、FXの場合、実際の出来高ではなくティック出来 高になる。 相関性はあるが、それでも悪いので、実際の株式市場の出来高を見た方がいい。

私はFXの取引はしませんし、メタトレーダーもよく知りません :)

Pで様々なプロファイルを試してみたいのですが、2つのベクトルの分布の作り方がわかりません。

ボリュームである必要はなく、これがスタートです。プロファイルには何でも入れることができますが、価格に接続する必要があり、それには2つのベクトルが必要です。

理由: