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

 
Dr.トレーダー

私は「買い」と「売り」の2つのクラスしか予測しません。つまり、常に何らかのトレードをオープンにしておくということです。私は1つのモデルで仕事をしていますが、単純に反対の結果を出す2つのモデルを作る意味がわかりません。

しかし、徐々に「買い」/「すべて決済、取引しない」/「売る」の3クラスに移行していきたいと思っています。そうすれば、より複雑な戦略で取引する機会が得られるでしょう。私も何度か試しましたが、3クラスへのモデルの学習、特に逆行するモデルの後に結果をクラスに丸めるという問題がありました。
もともとの1/0/1クラスを、1モデル目(購入のみ)は1/0/0、2モデル目(販売のみ)は0/0/1に変換して2モデル作ってみる価値はあると思います。そうすると、各モデルのクラスが偏ってしまう(あるクラスを持つ例の数が他よりずっと多い)のですが、そのような条件下で機能するモデルを評価する良い指標として、Fスコアとカッパを見つけました。まだそのようなことはしていませんが、十分に可能なプランだと思います。

この分野の手法の問題点は、時系列の非定常性(同じパターンでも価格や時間によってスケールが異なる)だけでなく、パターンのばらつきもある。つまり、昨日は成長を予感させたパターンが、今日はその後の横ばい、あるいは下落を意味することがある。

売りと買いを別々に教えることで、これらの問題を部分的に解決しています。数ページ前に書きましたが、私は2つのグリッドを持っていて、一つは買いシグナル(1;0)-買うか何もしないか、もう一つは売りシグナル(-1;0)-売るか何もしないかで学習しています。この2つのグリッドの出力に、信号を(-1;0;1)のパターンにまとめるためのスイッチがある。このグリッド委員会の仕事は、非常に興味深いことが判明:フィードバックに良い信号を開始すると、徐々に信号の数が減少し、つまり、より頻繁に答えが出力で0(パターンが認識されて停止し、これは偽の貿易信号よりも優れている)、およびいくつかの時間後にそこに間違った貿易信号を開始(パターンが変更された)。そのため、信号の数が所定の閾値以下になった段階ですでに、新しいデータでの新たな学習の必要性が始まったと考えることができますし、そう考えるべきです。

しかし、実際にはそのような「訓練」「練習」はありません。あらゆる種類の交差検証やOOSテストは、それらに期待される効果をもたらさないし、与えることもできない。要は、学習領域とテスト領域の両方でおおよそ満足に動作する値を探し、それを選択することに他ならない。つまり、このパラメータセットは、可能な限りのバリエーションの中から初期状態で既に存在しており、履歴領域全体を一度に選択することと等価なのである。

とはいえ、2つのモデル(私の場合は2つのグリッド)を使うことは、現在利用できる「機械学習」の手法の中では、最も良い方法だと私は考えています。トレーニングでもコーチングでもなく、モデルを最適化するための方法なのです。

今の時代、本当の意味でのトレーニングはないのです。同じ、あるいは似たようなパターンを認識することは、学習の結果ではなく、記憶の結果である。訓練には、新しい情報を受け取ったときに推論し、結論を出すことができるような、何らかの思考プロセス(たとえ原始的であっても)が必要であり、また、新しい情報を独自に生み出す能力も必要である。市場には、まさにそのようなアプローチ、つまり思考が必要なのだが、私の知る限り、今の時代には存在しない。そして、今日私たちが使っているのは暗記であり、残念ながら考えることではありません。

 
アンドレイ・ディク

しかし、実は「トレーニング」と「コーチング」というのは別物なのです。あらゆる種類のクロスバリデーションやOOSチェックは、それらに期待される効果を生み出さないし、生み出せないのです。要は、このような仕掛けは、学習領域とテスト領域の両方でおおよそ満足に動作する値を検索して選択することに他ならない。つまり、このパラメータセットは、可能なすべてのバリエーションの中に初期状態で既に存在し、履歴領域全体を一度に選択することと等価である。

クロスバリデーションに合格しても、新しいデータではテストに失敗するモデルもあります。そして、クロスバリデーションをパスして、なぜか何か利益をトレードできるモデルもあります。しかし、もしモデルがクロスバリデーションに失敗したら、新しいデータでそのモデルを使って取引しようとしても意味がない。
私の考えでは、予測因子と モデル・パラメータを選択するための非常に良い最初のステップだと思います。次に - ロールフォワードテストで、モデル(またはモデルパラメータと予測変数の適合のためのヒューリスティック)が新しいデータで機能するかどうかを調べます。それができないのであれば、何かを変えなければなりません。

ニューロンが2つあるわけですが、そのパラメータをゼロから取得したわけではありませんよね?層、学習速度、抑制、ウェイトコントロールなど、ニューロンが持つ数十のパラメータ。適切なパラメータを決定するために、何らかのロールフォワードテストを行ったのでしょうが、これも本来はクロスバリデーションです。デフォルトのパラメータで2つのニューロンを取って、利益で取引を開始できるとは思えません。

 
Dr.トレーダー

デフォルトのパラメータでニューロンを2つ取って、一気に利益を出すような取引はできないと思っています。

なぜダメなのか?
 
Dr.トレーダー

1.クロスバリデーションに合格しても、新しいデータではテストに失敗するモデルもあります。

2.そして、クロスバリデーションをパスして、なぜかプラスで何かをトレードできるモデルもあります。

しかし、もしそのモデルがクロスバリデーションに失敗したら、新しいデータでそのモデルを使って取引しようとしても意味がありません。

4.私の考えでは、これは予測因子とモデルパラメータを選択するための非常に良い最初のステップだと思います。

5.次に - ロールフォワードテストで、モデルが新しいデータで取引できるかどうかを調べます。それができないのであれば、何かを変えなければなりません。

6.ニューロンが2つあるわけですが、そのパラメータを地面から取ってきたわけではないんですね?層、学習速度、抑制、重量制御など、神経細胞が持つ数十のパラメータ。適切なパラメータを決定するために、何らかのロールフォワードテストを行ったのでしょうが、これも本来はクロスバリデーションです。デフォルトのパラメータで2つのニューロンを取るだけで、すぐに利益の出る取引を始められるとは思えません。

1.そうですね、モデルが悪いということではありません。これは、与えられたデータ量に対してモデルのメモリが不足していることを意味するか、あるいは、学習プロットと検証プロットを合わせたプロット全体に対して適切なパラメータセットが見つかっていないことを意味します。問題は、新しいデータでのテスト失敗を正確に判断する方法がないことです。

2.そう、「十分なメモリ」という意味です。学習データの量を減らすだけで、ポイント1と同じことができるのです。なぜなら、システムが知っているパターンと同じか非常によく似たパターンを見つけ、同時に、対応するパターンの前に起こった市場の反応を正確に把握することができたからです。問題は、パターンは常に少しずつ、時には突然変化し、将来への保証がないことです。

3.はい。 しかし、上記の理由から、もし通過していたとしても、それほど悪いことではありません。

4.はい、良いものです。しかし、将来的にモデルのロバスト性に自信を持たせるためではなく、バリデーションを通過させるだけで、それ以上はない。

5.ウォークフォワードは、システムを検証するための唯一の方法です。唯一無二の存在。私の考えでは、少なくとも55〜60%の効率(つまり「学習」プロットに比べて30%以上の効率低下)を実現するシステムを作ることができれば、成功したと考えてもよいでしょう。しかし、それすらも、市場パターンの変化のスピードと、必要な情報量を記憶するシステムの能力との妥協点を意味するだけで、システムが30%「間抜け」になるわけではなく、新しいパターンや変化した古いパターンを30%学習しないことになるのである。

6.私が申し上げた2つのニューロニクスのアプローチは、そのような「学習」を意味するものではありません。同じ「暗記」でも、巧妙な方法で応用しているだけなのです。私も皆さんのように古いパターンを忘れ、新しいパターンを認識できていないのですが、慣れないパターンでトレードしていると、時間とともにトレードがフェードアウトし、偽のシグナルが起こります。私は(以前)ヴァルクフォワードのテストをしていて、時間単位あたりの取引回数 が許容閾値以下になると新しい学習が行われるようにしています。その結果、平均で30%の効率低下を招いた。

 
Combinator:
なぜ?

Neuronicsは、他のモデルと同様に、利用可能なデータからいくつかのパターンを見つけるだけです。このパターンがFXの内部プロセスに対応するものなのか、それとも「何かと何かを掛け合わせ、その結果さえ一致すればよい」という原則に従って神経回路が拾い上げただけなのか、誰にもわからないし、保証もないのだ。FXの内部プロセスを検知するためには、その構造(層、接続)が何らかの形でFXに対応していなければならず、FXのために特別に設定されなければなりません。

例えば、写真を分類するための畳み込みニューラルネットワークは、今とても人気があります。PythonのライブラリをダウンロードすればOKという簡単な使い方ですが、多くの大学が何十年も前から「画像認識」コンテストに参加し、勝率を競っていることを忘れています。ゴッホのような絵を描こう」とか「絵の中の顔を入れ替えよう」といった流行りものは、大学の学部生や大学院生(そしておそらく教授も)が、モデルのパラメーターを調整したり、新しいモデルを開発したりするのに多くの時間を費やした、数十年の研究の結果なのです。
FXでもそれは可能ですが、それと同じだけの労力が必要です。この場合、賞金は本物のFXの利益です。だからこそ、モデルの構成は自慢されず、一般公開されないので、新しい出場者はすべて一からやり直さなければならないのです。

 
Dr.トレーダー

デフォルトのパラメータでニューロンを2つ取って、一気に利益を出すような取引はできないと思っています。

もちろん、私も信じてはいません。なぜなら、それは一生に一度しか訓練する必要のない思考マシンを作ることを意味するからです。人類が考える機械になるには、まだまだ遠い。
 
アンドレイ・ディク

購入と売却を別々に学習することで、これらの問題を部分的に解決することができます。数ページ前に書きましたが、私は2つのグリッドを持っていて、一つは買いシグナル(1;0)-買うか何もしないか、もう一つは売りシグナル(-1;0)-売るか何もしないかで学習しています。

私の3値分類器も2つのメッシュを持ちますが、隠れ層が異なり、どちらも次の価格方向予測、すなわち1か-1を分類します。出力にはスイッチがあり、片方のグリッドが1を出力し、もう片方が-1(互いに矛盾する)を出力した場合、スイッチは0を出力します - 何もしません。

パターンに続く価格の動きの方向 - 彼らは事実によって決定することができるように、すべてが従属変数の値の売買で明確である。しかし、ここで厄介な問題が発生します。二値分類器は、どのような条件で従属変数を0にするのか、つまり何もしないのか?

自然界に事実という条件は存在しない、IMHO。

 
アンドレイ・ディク

5. ...

6. ...

このような説明だと、本当みたいですね。また、どの程度のレアパターンを取引しているのでしょうか?例えば、 買いポジションを持つ」と「すべてのトレードを閉じる」というクラスのトレーニング例があったとして、これらのクラスの比率はどうなるでしょうか?買いクラスは、価格が数百ポイント上昇するような急激な動きに対応している、つまり、買いクラスの量は全トレーニング例の10%程度と想定してよいでしょうか。
 
アンドレイ・ディク

1.だからといって、このモデルが悪いというわけではありません。これは、提供されたデータ量に対するモデルの「メモリ不足」のどちらかを意味する可能性があります。

2.なぜなら、システムが知っていることと、対応するパターンが起こる前に起こった正確な市場の反応と同じか非常に類似しているパターンが起こったからです。問題は、パターンは常に徐々に、時には突然に変化し、将来の保証がないことです。

1) 今まで知らなかったデータを受け取ると事前学習できるネットワークがあります。 興味のある方は読んでみてください。ネットワークはSOINNと呼ばれています。https://www.google.com.ua/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=soinn

2) もう書くのに飽きた。しかも、相場が自分の統計に反することを実質的に証明し、そのメカニズム、なぜそうなるのか、古典的な学習方法はすべて適用できないことまで説明したのに、誰も興味を持たず、みんな同じことをする。

Google
Google
  • www.google.com.ua
Голосовой поиск – это очень удобно! Чтобы найти нужную информацию, скажите "О'кей, Google" и произнесите запрос.
 
ユーリー・レシェトフ

私の3値分類器も2つのメッシュを持ちますが、隠れ層が異なり、どちらも次の価格の方向、すなわち1か-1を分類します。出力にスイッチがあり、片方のメッシュが1を出し、もう片方が-1を出す場合、スイッチは0を出し、何もしない。

パターンに従った値動きの方向性という事実で識別できるため、売買はすべて明確である。しかし、ここで厄介な問題に直面します。2値分類器は、どのような条件で従属変数を0(何もしない)とマークするのでしょうか?

自然界に事実というものは存在しないのです。

売 買 解 釈

-1 0 売却

0 0 フェンス

0 1 購入

-1 1 フェンス

こちらがスイッチ表です。そこから、グリッド信号があるときに信号が発生し、互いに矛盾しないことがわかります。トレーニングの後、パターンが認識され、取引が成功すると、時間の経過とともに、読み取り値が互いに矛盾し始めるか(アウト0-フェンス)、両方のグリッドがパターンを認識しなくなる(アウト0-フェンス)。つまり、時間が経つにつれて取引 回数が減っていく、つまり「確信が持てない-取引しない」原則があるのです。

しかし、あなたの質問は別のもののようです:フェンスに座っているのではなく、関連するグリッドを購入/販売するようにするにはどうすればよいのでしょうか?- 答えは簡単で、ポイント制です。正解にはポイントが与えられ、誤答やフェンスにはペナルティが与えられます。最終的に2つのグリッドの協調作業を実現する必要があるので、ポイントの比率を選択するのも大変な作業ですが、その分、苦労した甲斐がありました。

イマイチ、買いと売りでパターンが違うんです。あなたの場合もそうかもしれませんが、そういうことです。

理由: