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

 
アレクセイ・ヴャジミキン

未来はわからないし、利用可能な予測値に基づいてもバリエーションが多いので、私たちにできることは、データに最もフィットするアルゴリズムを開発することだと考えています。運が良ければ、しばらく続くパターンを検出できるかもしれません。だからこそ、一定の基準でそのようなパターンを探すことが重要で、論理的には、少なくともサンプル全体で発生するパターンであるべきなのです。

市場で唯一のパターンがあり、それは常になります - 時間サイクル、期間:取引セッション、日、週、...、およびそれらの半期間。これらのサイクルは原理的に破壊できず、複雑な時間構造を形成し、作業するサンプルの体積を決定する。この階層構造の中の価格挙動を見極めることで、トレーディングシステムは常に機能することになる。

 
市場はそれ自体フラクタルではありません。時間軸の中で自己相似性を持ち、その中で一定の構造を形成する性質があるだけである。バルーンごとのティックの量やその他のサンプルは選択できません。ネストされた時間サイクルを満たす、何らかの定義された値でなければなりません。
 
Aleksey Vyazmikin:

標準的なアルゴリズムは、定常的な現象、閉じた系を扱うように設計されているので、そこではどんな情報も先験的に有用とみなされ、ランダム性の観点からは評価されず、目の前のタスク(ターゲットによる分類)に利用できる可能性があるだけです。一方、我々には多くのノイズがあるので、それに対処する論理的方法を提案しました。

I.e.トレーニングエリアでの成功したトレードの均一化
誤差0%で、まさに学習用としてフィットしているので、そのままで大丈夫です。

深度減少などによるモデルの正則化・粗密化の際に、そうあるべきなのでしょう。そして、例えばトレーニングエリアでの誤差が20%になったところで止める。

各ノードのバージョンを追加した後、すべてのデータをツリーの結果部分に通し、バランスラインを分析する方法しかないと思うのですが。

バージョン数 = (特徴量数 * ツリーのノード数 * 3 (四分位で割った場合))* 木の本数

計算には非常に時間がかかるでしょう、NSよりもさらに時間がかかると思います。

 
アレクサンダー_K

市場で1つのパターンがあり、それは常になります - 時間サイクル、期間:取引セッション、日、週、...だけでなく、その準周期を。これらのサイクルは原理的に破壊されず、複雑な時間構造を形成し、作業する試料量を決定する。この階層構造の中で価格の挙動を見極めることで、取引システムは常に機能することになる。

時間の重要性を否定はしませんが、モデルを作るにはそれだけでは不十分で、価格に影響を与える他の変数が必要です。

 
Aleksey Vyazmikin:

時間の重要性は否定しませんが、モデルを作るにはそれだけでは不十分で、他の価格に影響を与える変数が必要なのです。

もういいよ。

それは、聖杯が座って いる時間サイクルの中にあります。ある時間軸の構造は、別の時間軸の構造の一部である。

と連携すれば 相も変わらず 該当するサンプルサイズ このような入れ子構造は、厳密に定義された時間枠の中で、手のひらの上に乗っているようなものです。

NSでは対応できないのでしょうか?ニューラルネットワークを使わないでTSでやってみた。

 
エリブラリウス

I.e.トレーニングエリアでの成功したトレードの均一化?

個人的には、ドローダウンや回収率などの評価項目を加味して、各年度(現在は5年間)の決算を試算しています。今のところ、トレンド戦略もあり、35%正解の分類でも年末(他期)利益になることもあるので、分類も見ていません。

エリブラリウス


誤差0%まで正確に学習用にフィットしているので、そのままでも問題ありません。

問題は、そのために何本の木を使うか、そして基本的にモデルがどのようなメモリを持っているかということです。1本の木で、6分割の深さでは、こんなフィット感は出せない...。


エリブラリウス

深度リダクションなどでモデルを正則化/負荷化する必要があるのでしょうね。そして、例えばトレーニングセクションの20%の誤差で止める。

すでにスプリットや完全性制限を使っていますが、そうですね、トレーニングで使うべきですね。


エリブラリウス

各ノードのバージョンを追加した後、すべてのデータをツリーの結果部分に通し、バランスラインを分析する方法しかないと思うのですが。

ノードのバージョン数 = (特徴の数 * ツリーのノード数 * 3 (四分位で割った場合))* 木の本数

これは計算に非常に時間がかかるので、NSよりもさらに時間がかかると思います。

そうすれば、より効率的で、より重要な、最終的にはより市場性の高いモデルができるはずです。

今のところ、計算には15日ほどかけています。約800のユニークな葉が得られ、そのうち平均8つ、半分は似たようなもので、時間間隔で安定した結果を示します(それでもチェックには少なからずマシンタイムがかかります)。つまり、800/8の計算を100倍遅くすれば、同等の結果が得られるとさえ言える。

 
Alexander_K:

もう十分です。

それは、聖杯が座っている時間サイクルの中にあります。ある時間軸の構造は、別の時間軸の構造の一部である。

と連携すれば 相も変わらず 該当するサンプルサイズ このような入れ子構造は、厳密に定義された期間であれば、見るからに明白である。

NSでは対応できないのでしょうか?ニューラルネットワークを使わずに、TSでやってみた。

私は、フラクタルの構造や類似性、すなわち異なるTFにおける時間の入れ子などを扱うが、そこから聖杯を 得ることはない。物足りない、まだ全てを悟っていないのかもしれない。

NSはツールであり、人間の脳はより速く、より正確に解を見つけることができるかもしれないし、できないかもしれない...。

 
アレクセイ・ヴャジミキン

個人的には、各年度(現在は5年間)の決算を、ドローダウンや回収率などの評価項目を加味して評価しています。今のところ、トレンド戦略もあり、35%正解の分類でも年末(他期)利益になることもあるので、分類も見ていません。

問題は、そのために何本の木を使うか、そして基本的にモデルがどのようなメモリを持っているかということです。1本の木で、6分割の深さでは、こんなフィット感は出せない...。


分割・完全性制約は、私がすでに使っているもので、そうですね、トレーニングで使うべきものですね。


より効率的であることが最も重要であり、最終的にはより市場性の高いモデルを作ることができるのです。

今のところ、計算には15日ほどかけています。約800のユニークリーフを取得し、そのうち平均8、半分は似たようなもので、時間間隔でも安定した結果を示しています(それでもチェックには少なからずマシンタイムがかかっています)。つまり、800/8の計算を100倍遅くしても、同等の結果が得られるのです。

バルビングフォワードテストをやっているようですね。
私もですが、手書きです。これがモデルの評価方法として最適だと思います。

時間的に安定したモデルがまだ見つかっていない。半年/1年前/1年後に移動すると、モデルはすでにパフォーマンスが低下したり、流出したりし始める。同じ特徴量と同じモデルパラメータで新たに学習させたものでもつまり、機能の重要度も変わってくるのです。

 
エリブラリウス

ヴァルキングフォワードテストをやっているようですね。
私もですが、手動です。それが、モデルを評価する一番の方法だと思うんです。

時間的に安定したモデルがまだ見つかっていない。半年/1年前/1年後に移動すると、モデルはすでにパフォーマンスが低下したり、流出し始めたりする。同じ特徴量と同じモデルパラメータで新たに学習させたものでもつまり、機能の重要度も変わってくるのです。

そのため、学習時にこれらをすべて考慮し、バランスとまではいかなくても、分類精度の確率を評価しながら分割を行う必要があるのです。疑わしい部分は、単純に取引禁止にするか、99%の確率にするかして、モデル適用時にフィルタリングすればいい。

 
アレクセイ・ヴャジミキン

そのため、学習時にこれらをすべて考慮し、バランスとまではいかなくても、分類精度の確率を評価しながら分割を行う必要があるのです。疑わしい部分は取引禁止、もしくは99%の確率で取引禁止とし、モデル適用時にフィルタリングすることができる。

分割は、分類の確率に基づいて行われます。より正確には、確率ではなく、分類誤差によるものです。なぜなら、訓練ではすべてが分かっていて、確率ではなく、正確な評価をしているからです。
分離の仕方、つまり不純物の測り方(左サンプリング、右サンプリング)が違いますが。
理由: