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

 
ユスフホジャ・スルトノフ

MAは本来、あなた-市場の法則を理解していない人-を欺くために設計されているのです。そして、みんなそれにひっかかってしまった。 驚くべきことに、それは事実なのです。周りを見渡せば、MAは市場やランダムを問わず、すべての数値系列の特性であることがわかる。トレーダーは目を覚まして、騙されないようにしましょう。

パラノイアと呼ぶべきでしょう))

MAは何の罪悪感もない最も一般的なフィルターです。どのようなチームメイトのメソッドも、適用される場所とそのために良いものです。

 
マキシム・ドミトリエフスキー

では、実際に機能を探すとなると、どのようなことが問題になるのでしょうか?

私たちの場合は価格だけです。どんな価格変換も、プロセスのある種の「記憶」(n期間にわたって構築された指標)という形で、先験的な規則性を持っているのである。つまり、規則性がわからない場合は、記憶プロセスを考慮し、異なる周期で価格、増分を入力するしかないのです。

価格差以外に何があるのか、ないのか、そこまでこだわって選んでいるのか、あるのか。:)

オーダーでアトボレジション加工があるので、NSから同じように加工してください。それだけが、教えられることのような気がします。経済学的なモデルを拡張するという意味です。

IMHO...だから私はチップを拾おうともしない :) そして神経は大丈夫(でも本当はダメ)。

つまり、トレンド、季節性、循環性、ノイズなど、価格から何を見出すことができるかということです。

数ページ前に、螺旋の認識を学習するニューロンの例を掲載されていましたね。標準的な2つの機能には、3つの隠れ層の神経回路が必要です。また、機能を追加する場合は、1層で十分です。
ですからここでも、ニューロンに100個の過去の増分を与えて、それを12個の隠れ層ですべて処理したり、90年代の単層グリッドで処理できるような良い自家製の特徴を得ることができます。

 

もう一つ、予測因子を選別するための面白いパッケージを見つけました。FSelectorと呼ばれるものです。予測因子を選別する方法として、エントロピーを含む約12種類の方法が用意されています。

https://www.mql5.com/ru/forum/86386/page6#comment_2534058 から予測変数とターゲットのファイルを入手しました。


library(FSelector)
library(corrplot)

load("ALL_cod.RData")
trainTable <- Rat_DF1

PREDICTOR_COLUMNS_SEQ <- 1:27
TARGET_COLUMN_ID     <- 28

targetFormula <- as.simple.formula(colnames(trainTable)[PREDICTOR_COLUMNS_SEQ], colnames(trainTable)[TARGET_COLUMN_ID])

impMatrix <- matrix(NA, nrow = 0, ncol = length(PREDICTOR_COLUMNS_SEQ))

impMatrix <- rbind(impMatrix, colnames(trainTable)[PREDICTOR_COLUMNS_SEQ] %in% cfs(targetFormula, trainTable))
rownames(impMatrix)[nrow(impMatrix)] <- "cfs"
impMatrix <- rbind(impMatrix, chi.squared(targetFormula, trainTable)[[1]])
rownames(impMatrix)[nrow(impMatrix)] <- "chi.squared"
impMatrix <- rbind(impMatrix, colnames(trainTable)[PREDICTOR_COLUMNS_SEQ] %in% consistency(targetFormula, trainTable))
rownames(impMatrix)[nrow(impMatrix)] <- "consistency"
if(class(trainTable[,TARGET_COLUMN_ID]) != "factor"){
  impMatrix <- rbind(impMatrix, linear.correlation(targetFormula, trainTable)[[1]])
  rownames(impMatrix)[nrow(impMatrix)] <- "linear.correlation"
  impMatrix <- rbind(impMatrix, rank.correlation(targetFormula, trainTable)[[1]])
  rownames(impMatrix)[nrow(impMatrix)] <- "rank.correlation"
}
impMatrix <- rbind(impMatrix, information.gain(targetFormula, trainTable)[[1]])
rownames(impMatrix)[nrow(impMatrix)] <- "information.gain"
impMatrix <- rbind(impMatrix, gain.ratio(targetFormula, trainTable)[[1]])
rownames(impMatrix)[nrow(impMatrix)] <- "gain.ratio"
impMatrix <- rbind(impMatrix, symmetrical.uncertainty(targetFormula, trainTable)[[1]])
rownames(impMatrix)[nrow(impMatrix)] <- "symmetrical.uncertainty"
impMatrix <- rbind(impMatrix, oneR(targetFormula, trainTable)[[1]])
rownames(impMatrix)[nrow(impMatrix)] <- "oneR"
impMatrix <- rbind(impMatrix, random.forest.importance(targetFormula, trainTable)[[1]])
rownames(impMatrix)[nrow(impMatrix)] <- "random.forest.importance"
impMatrix <- rbind(impMatrix, relief(targetFormula, trainTable)[[1]])
rownames(impMatrix)[nrow(impMatrix)] <- "relief"

impMatrix

for(i in 1:nrow(impMatrix)){
  if(length(unique(impMatrix[i,]))==1){
    impMatrix[i,] <- 0
  }else{
    impMatrix[i,] <- -1 + (impMatrix[i,]-min(impMatrix[i,]))/(max(impMatrix[i,])-min(impMatrix[i,]))*2
  }
}

while(nrow(impMatrix) < ncol(impMatrix)){
  impMatrix <- rbind(impMatrix, 0)
}
while(ncol(impMatrix) < nrow(impMatrix)){
  impMatrix <- cbind(impMatrix, 0)
}

impMatrix <- as.matrix(impMatrix)
colnames(impMatrix) <- colnames(trainTable)[PREDICTOR_COLUMNS_SEQ]

corrplot(impMatrix)

それぞれの方法で予測器を評価した結果を、最後にグラフで示しました。

青が良い、赤が悪い(corrplotの結果は[-1:1]にスケーリングされ、正確な評価はcfs(targetFormula, trainTable), chi.squared(targetFormula, trainTable) 等の結果を参照してください)。
X3、X4、X5、X19、X20は、ほぼすべての手法で良好な評価を受けていることがわかりますので、まずはこれらから始めて、さらに追加・削除を試みてください。

しかし、RattleのモデルはRat_DF2においてこれらの5つの予測変数でテストに失敗し、ここでも奇跡は起こりませんでした。つまり、残りの予測変数の場合でも、モデルのパラメータを調整し、クロスバリデーションを行い、予測変数の追加や削除を自分で行う必要があります。

 
サンサニッチ・フォメンコ

マージ結果をウィンドウで表示し、グラフを表示することができますか?

  • エントロピーの値
  • adfTestの結果
  • ArchTestの結果

今年1月頃のeurusd m1だけを取り出して、1日分のスライドウィンドウ。

論理的には、エントロピーが増大している場合は取引を中断し、低エントロピーの場合は取引を継続する必要があります。しかし、ここではフラットでトレードしやすいのですが、なぜか低エントロピーでトレンドが発生しています。

(添付のコードのタイプミスを修正しました。すでに古いものをダウンロードした方は再度ダウンロードしてください)

ファイル:
 
Dr.トレーダー

数ページ前に、スパイラル検出を学習するニューラルネットワークの例が掲載されていましたね。標準的な2つの機能には、3つの隠れ層の神経回路が必要です。また、機能を追加する場合は、1層で十分です。
ですからここでも、ニューロキーに100回の過去刻みを与えて、それを12回の隠れ層ですべて処理したり、90年代の1層グリッドで扱えるような自作の良い機能を得たりすることができるのです。

それはわかるが、螺旋は時間の中で変化しない。時間の中で螺旋が四角になり、今は楕円になるというのは、何と誤った問題を解いているのだろうかと思う。

であり、状態遷移がランダムであるため、クロスバリデーションは役に立ちません。

 
Dr.トレーダー

論理的には、エントロピーが上昇すれば取引をやめ、エントロピーが低下すれば取引を継続すればよいことになります。しかし、ここでは、エントロピーが低いときは、フラットでトレードしやすいのですが、なぜかトレンドが発生しており、珍しいです。


だから、ゆっくりでいいんです。

高エントロピーでは、カウンタートレンドの取引で正規分布が得られます。

低エントロピー時 - パレート分布、トレンド、「メモリー」、呼び方は何でもいい。

Rには既成のものがあることがわかったから、そっちの方が楽だよ。一方、私はというと、非エントロピーを考慮するために今やるべきことがたくさんあり、フォーラムの議論からは退いています。

私は、エントロピー会計がすべての鍵であるという意見を持っています。

 
マキシム・ドミトリエフスキー

状態遷移がランダムであるため、クロスバリデーションは役に立ちません。

もし状態遷移がランダムであれば、プロセスはマルコフであり、このフォーラムのスレッド全体は無用であるとして削除されるかもしれない :)

しかし、私などは、その過程が非マルコフ的であると考えています。アレキサンダーもそう思っているようだ。彼は私よりずっと統計に長けているから、彼を信じよう。

 
Dr.トレーダー

状態遷移がランダムであれば、プロセスはマルコフであり、このフォーラムのスレッド全体は無用であるとして削除することができる :)

しかし、私などは、その過程が非マルコフ的であると考えています。アレキサンダーもそう思っているようだ。彼は私よりもずっと統計のことをよく知っている。

すでに書きましたが、ローカルレベルでランダムだと、大きなラグや他のスケールにシフトしないと全てを考慮できず、そこでまたプロセスが予測可能になります。BUTの1つは、一般的な母集団が不明で、別の規模への移管が限られていること。だから、アレクサンダーはティックを使っているのです。しかし、歴史がないために歴史が不十分 で、その結果、調査したBPのパターンについての明確な考えがない場合、この方法は必ずしもうまくいかない。

つまり、ローカルレベルの遷移は全く予測できないので、別のレベルの表現が必要になる

 
Dr.トレーダー

状態遷移がランダムであれば、プロセスはマルコフであり、このフォーラムのスレッド全体が無駄であるとして削除される可能性がある :)

しかし、私などは、その過程が非マルコフ的であると考えています。アレキサンダーもそう思っているようだ。彼は私よりもずっと統計のことをよく知っている。

私はニューラルネットワークを使っていませんが、ファインマンが、粒子の状態Aから状態Bへのさらなる動きを予測することが可能であると確信していたので、このスレッドを読みました(単に無限大に外挿するのではなく、状態から状態へ正確にです)。

この目的のために、彼は現在の状態と以前の状態の間の通常の増分を入力として使用し、多くの追加パラメータを考慮した。シェレピンL.A.はノンエントロピーを最初に使い始めて、なぜか死んでしまったが...。が、その仕事を終わらせることはなかった。だから、このテーマを終わらせるのは私たち次第なのです。

 

はい!言い忘れました。

状態とは、粒子をほぼ完全に特徴づけるデータの集合と考えられている。つまり、尖度、非対称性、非エントロピーなどの特徴を持った、簡単に言えばサンプル量のようなデータセットである。

すなわち、R.Feynmanの確信をもって、コンクリート対のサンプル量を正しく定義し、このサンプルに対するこれらの係数の履歴特性平均値を計算することで、現時点であるパラメータのセットを持ち、ある時間間隔で、システムがその定常パラメータで状態に移行することを予測することが可能である、と主張することが可能である。

このスレッドに期待することです。適切なサンプルサイズを決定するために助けが必要な場合は、私に連絡してください。

理由: