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

 
Dr.トレーダー

複雑そうだし、結果がよくわからない、パスする。
RにはGMDHパッケージ(英語では "MGUA")があります。

いろいろなアルゴリズムがあって混乱しやすいので難しいですね。

パッケージもありますが、「しょぼい」です。

よりシンプルに、より短い言葉で説明すると...。

非物理的な自己組織化コンビナトリアルモデルが

サンプルの要素(予測子)のすべての可能な組み合わせの単純な検索と、予測子が多項式または高調波であるため、OOSでこの検索の各反復をチェックすること、そのような組み合わせはより複雑になる可能性があるので、新しいレベルに行くように、組み合わせと組み合わせを作り、再びOOSでチェックし、再び新しいレベルへ、OOSでの最小誤差が見つかるまでに、これは自己組織の本質です(私がそこですべてを正しく理解するならば)。

私が提案するのは...。

どんな関数も、図のようにフーリエ級数に分解できることは周知のとおりです。

ч

その逆もまた真なりで、正しい倍音の組み合わせで、必要な関数を得る ことができるのです

さて、ある市場商品を完全に記述し、それを上回る関数(曲線)またはベクトル、好きなようにそれを呼び出す...があると想像してください...。それは、関数で表現されたスマートな季節性であったり、他の機器への依存性であったり、月のサイクルであったりする)それは絶対に重要ではなく、我々人間はそれを知らないが、 我々はそれを探す場所を知ることさえなく、この依存性を見つけることができる.この依存性-市場を動かす-をさらに超依存性と呼ぼうNW

必要なのは

1) ある程度の適切な範囲の高調波を取る

2)ターゲット1を作成する

3) 高調波の間のすべての可能な組み合わせを調べ始め、OOSを観察する。

どこを探せばいいのかわからないSPを、自分たちで合成して生み出す、そのシンプルさと奥深さがわかりますか!?

以上、単純なオーバーサンプリングアルゴリズムに見えますが、理解すると驚きの連続でした......。

でも、大きなBUTがあるんです! 組み合わせは何兆通りにもなる、それを回避する方法が必要だ、君の力が必要なんだ。

遺伝というのは、いい組み合わせを探す方法なのかもしれませんね。

アイデアとその実現について、どのようにお考えですか?

ピッ!! ............ピッ

 

あなたが説明しているのは、「OOSで良い」という結果に当てはめているのです。まず、サンプルに対して良い結果が出るようなモデルパラメータ(調和的組み合わせ)を選択します。そして、その中からOOSで良いパラメータを選択するのです。これは、良い結果のダブルフィッティングであり、新しい取引データでは、このモデルは役に立たない可能性が高い。

ハーモニックスの組み合わせで値動きを表現することができますが、ニューロニックやフォレストでも同じことができます。すでにニューロニックで何百回もやってうまくいかなかったと思うのですが、なぜMGUAの結果がプラスになると思うのでしょうか?FXの機械学習は、従来の問題のように簡単に使うことはできません。価格の 動きは時間とともに変化し、あなたが見つけて使っている依存関係のほとんどは、すぐに存在しなくなります。そして、これらのモデルはすべて、時間とともに変化しない一定の依存関係を前提に設計されており、そのため、そのような問題では利益を上げられないのです。

 
mytarmailS:

いろいろなアルゴリズムがあって混乱しやすいので難しいですね。

パッケージもありますが、「しょぼい」です。

よりシンプルに、より短い言葉で説明すると...。

非物理的な自己組織化コンビナトリアルモデルが

サンプルの要素(予測子)のすべての可能な組み合わせの単純な検索と、予測子が多項式または高調波であるため、OOSでこの検索の各反復をチェックすること、そのような組み合わせはより複雑になる可能性があるので、新しいレベルに行くように、組み合わせと組み合わせを作り、再びOOSでチェックし、再び新しいレベルへ、OOSでの最小誤差が見つかるまでに、これは自己組織の本質です(私がそこですべてを正しく理解するならば)。

私が提案するのは...。

どんな関数も、図のようにフーリエ級数に分解できることは周知のとおりです。

逆もまた真なりで、正しい倍音の組み合わせで、必要な任意の 関数を得ることができる

さて、ある市場商品を完全に記述し、それを上回る関数(曲線)またはベクトル、好きなようにそれを呼び出す...があると想像してください...。それは、関数で表現されたスマートな季節性であったり、他の機器への依存性であったり、月のサイクルであったりする)それは絶対に重要ではなく、我々人間はそれを知らないが、 我々はそれを探す場所を知ることさえなく、この依存性を見つけることができる.この依存性-市場を動かす-をさらに超依存性と呼ぼうNW

必要なのは

1) ある程度の適切な範囲の高調波を取る

2)ターゲット1を作成する

3) 高調波の間のすべての可能な組み合わせを調べ始め、OOSを観察する。

どこを探せばいいのかわからないSPを、自分たちで合成して生み出す、そのシンプルさと奥深さがわかりますか!?

以上、単純なオーバーサンプリングアルゴリズムに見えますが、理解すると驚きの連続でした......。

でも、大きなBUTがあるんです! その組み合わせは何兆にもなるので、それを回避する方法が必要であり、そのためにあなたの助けが必要なのです。

遺伝というのは、いい組み合わせを探す方法なのかもしれませんね。

アイデアとその実現に向けた思いがあれば

そんなアイデアをインジケーターに実装してみました。非常にリソースを消費するんです。1000本の履歴で調整することもできるし、10000本の履歴で調整することもできるんだ。要するに、完璧に機能して価格のポイントを予測することもある、ということだ。しかし、それ以外の時は、それどころではありません。なぜなら、これらの期間はすべて計算時点以降に市場に出回り始めるからである。おそらく、現在の値から-+の補正を入力することが可能なのでしょうが、私の場合はうまくいきませんでした。
 
Dr.トレーダー

あなたが説明しているのは、「OOSで良い」という結果に当てはめているのです。まず、サンプルに対して良い結果が出るようなモデルパラメータ(調和的組み合わせ)を選択します。そして、その中からosで良いパラメータを選択するのです。これは良い結果に対する二重のフィットであり、新しい取引データでは、このモデルは役に立たない可能性が高い...。

自分で考えて寝て、自分で理解した、デタラメだ、はめ込みだ・・・。

しかし、ここで疑問が生じます。なぜ、他のすべてに適合しないのでしょうか?OOSを使ったトレーニングは、OOSのフィッティングになるんですよね?

Dr.トレーダー

MGUAの結果がプラスになると思うのはなぜですか?

私自身、まだ全く理解できていませんし、もしかしたら一生理解できないかもしれません...。

ただ、ニコライは私信で、何か役に立つことを始めたいのなら、スペクトル解析を勉強してMSUAに精通 するようにと勧めてくれました。

彼自身、最初はそれで始めて、初めて動くロボットを作ったときは、Ivakhnenk「MSIA」とMarple「Spectrum Anal」の2冊だけを使ったという。

というのも、書籍のタイトルの翻訳が正しくないので、一般的な話を明確にするためにまとめただけなのです。

ニコラスとは?謙虚でとても賢い人であることもさることながら。

彼は人工知能の博士号を持ち、20年ほど前からロボットを作っています。彼の最新のロボットはこんな感じです。

я

つまり、彼は約30年前、まだ「ニューラルネットワーク」などという言葉を知らない時代に、このネットワークを回していたわけだ・・・・・・。

そして今、この人はフーリエとムグァの2つだけを勧めている、常識的に考えて、それは聞く価値があると思うのだが......。以下は、その理由の一端です))

 
マクシム・ロマノフ
指標にしたのは、だいたいそのあたりです。非常にリソースを消費します。1000本の履歴に合わせたり、10000本の履歴に合わせたり。要するに、完璧に機能して価格のポイントを予測することもある、ということだ。しかし、それ以外の時は、それどころではありません。なぜなら、これらの期間はすべて計算時点以降に市場に出回り始めるからである。現在の値から補正-+を入力すればいいのでしょうが、私はわかりませんでした。
なるほど、フィッティングはフィッティングとして))自分が間違っていたということに納得しました...。
 

問いかけ

ベクトル "x "と行列 "y "が存在する。

行列 "x" と行列 "y" の各行とのユークリッド距離を高速に計算する必要があります。

標準関数 "dist() "を追い越して、独自の関数を書きました

штатная

system.time(for(i in 1:nrow(m)) {dist.ve[i] <- dist(rbind(x,m[i,]))})

   user  system elapsed
   4.38    0.00    4.39

самописная

system.time(for(i in 1:nrow(m)) {dist.ve[i] <- euc.dist(x,m[i,])})
   user  system elapsed
   0.65    0.00    0.67

が、これだけでは不十分で、2つ目のゼロ0.0まで加速したい......。

どうしたらいい

のコードで表示されます。

x <- rnorm(10)
m <- matrix(data = rnorm(1000000),ncol = 10)

euc.dist <- function(x1, x2) sqrt(sum((x1 - x2) ^ 2))

dist.ve <- rep(0,nrow(m)) # distance vector
system.time(for(i in 1:nrow(m)) {dist.ve[i] <- dist(rbind(x,m[i,]))})
system.time(for(i in 1:nrow(m)) {dist.ve[i] <- euc.dist(x,m[i,])})
 
mytarmailS:

しかし、ここで疑問が生じます。では、なぜ他のものはフィッティングしないのでしょうか?なぜなら、そうするとOOSのテストがあるトレーニングはOOSに合っているということになりますよね? そうでないなら、なぜそうしないのでしょうか?

定常データ(一定の不変の依存関係を持つ)に対するクロスバリデーションとosテストは有用である。非定常なデータでは意味がない。

例えば、同じアルゴリズムで、異なる時間のデータを使って、たくさんのモデルを訓練することができます。それぞれのモデルについて、サンプルとオーズの利益を求め、これら2つの利益の相関関係を求めます。FXでよく知られているモデルでは、通常そのような相関はありません。つまり、サンプルでの利益は何も保証されず、その場合、新しいデータで結果を改善しようとするクロスバリデーションは無意味です。
一方、相関が高く正であれば、そのモデルには何らかの可能性があり、安全にクロスバリデーションを行ってモデルのパラメータを調整し、結果を向上させることができます。

 

以下は、前回の記事の例です。数ヶ月間のeurusdの始値を 取り、それに対してモデル(randomForest)を学習させ、それを使って小さな期間の新しいデータを予測します。目標値は、次のバーの価格増分(0と1の2クラス)です。これをすべて時間間隔を変えて1000回繰り返し、相関を求めます。

最後に、学習データと新しいデータの結果の相関を見ますが、この場合、約0.1でした。つまり、学習時に何かを変更する必要があり、このアプローチでは利益を得ることはできません。トレーニングデータで良い結果が出ても、将来も良い結果が出るとは限りません。

TrainModel関数は、独自のモデルの学習、クロスバリデーション、遺伝的マッチングなどを行うために使用できます。

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

以下は、前回の記事の例です。数ヶ月間のeurusdの始値を 取り、それに対してモデル(randomForest)を学習させ、それを使って小さな期間の新しいデータを予測します。目標値は、次のバーの価格増分(0と1の2クラス)です。これをすべて時間間隔を変えて1000回繰り返し、相関を求めます。

最後に、学習データと新しいデータの結果の相関を見ますが、この場合、約0.1でした。つまり、学習時に何かを変更する必要があり、このアプローチでは利益を得ることができません。トレーニングデータで良い結果が出ても、将来も良い結果が出るとは限りません。

TrainModel関数を使用して、モデルの学習、クロスバリデーション、ジェネティックマッチングなどを行うことができます。

1.なぜ手動で正規化するのですか?

2.なぜ-1と1の相関が良いのですか?1が良い場合のみ-1が非常に悪い場合、もし私の考えが正しければ、-1は逆相関である。

3.学習したモデルの誤差をスライディングウィンドウで監視し、自分に合わなければ再学習してどうなるか試したことがありますか?

4.そして、なぜそんなに悪く働くかのグローバルなアイデア、市場は静止していない、あなたは機能の形成のいくつかの他の概念を解決する必要があり、多分完全に論理的なルールのパラダイムに切り替える、私はあなたがほとんど完全に数字から離れて移動するか、スペクトル分析を勉強する必要があると思う))))。

 

昨日、あるアイデアを完成させるのに適したものを探してバッグをかき分けたのですが、適したものは見つかりませんでしたが、面白いものが見つかりました......。

それは「トレンド」と呼ばれるものです。

https://cran.r-project.org/web/packages/trend/trend.pdf

このパッケージは様々なトレンドテストなどを実装している

例えば、関数

mk.test() - トレンドの特徴、例えば上昇か下降か、など。

pettitt.test() -私が理解した ところでは、トレンドが始まったベクトル内のポイントを見つけます。

Sens.slope() - この関数で、トレンドの傾斜角度を計算することができます。

をはじめ、多くの特集が組まれています。

科学的にトレンドを観測できる以上、確認するべきだと思う)clowesに従って、mk.test()$Zgを200値のスライドウィンドウで計算してみたところ、指標のようなものが出てきた

ゼロより上は上昇トレンド、ゼロより下は下降トレンドです。

й

しかも、トレンドを捉えていて、macd-kiやstochastc-kiのように価格の方向性を混同しない...とは。総じて、常にトレンドの方向にポジションを開いてくれるところがいいのですが・・・。

期間によっては儲かることもある。

с

M5ではなく、クロノを撮れば、何か役に立つかもしれない。

私が提案するKarochは、強力なコンピュータとtrendiness、斜面、角度などのすべてのこれらのテストをカウントし、MOを養うために時間を持っている人は、多分それが動作します、ちょうど私が今フル回転で実行しているコンピュータを持って、処理に実行されると、私は今座っている4日間、それだけでサイトを見ることができるラップトップにカウント終了)(笑)。