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

 
elibrarius#:

今日、現在のバーからの距離を予測するようなものを追加しました。数字でもいいし、時間だけでもいい。時間をかけました。

サイクリック・タイムがあれば、すべてが多かれ少なかれクリアになる。リニアタイムについてあまり理解していないのですが、トレイとフォワードでは違うのでしょうか?それとも、各サンプルごとに独立して「カレントバー」が取られているのでしょうか?

普通の線形ロジスティック回帰で、時間(あるいは時間の関数)でのゼロからの差の係数の有意性を見たり、この有意性を他の予測変数の有意性と比較することを思いついたのです。

 
Aleksey Nikolayev#:

周期的な時間が多少なりとも明確になる。リニアタイムではよくわからないのですが、トレイとフォワードでは違うのでしょうか?それとも、各サンプルごとに独立して「カレントバー」が取られているのでしょうか?

普通の線形ロジスティック回帰で、時間(あるいは時間の関数)ごとにゼロからの差の係数の有意性を見たり、この有意性を他の予測変数の有意性と比較したりすることを思いつきました。

一般に、リニアな時間を送り出すという発想は、あまり良いものではありません。ちなみに、トレイでは各行で異なり、フォワードでは一度に1行しか分析しません。つまり、時間は常に現在のもの(トレイにはありませんでした)、番号は常に0(トレイでは0から5000まで)です。つまり、時刻もトレイ番号も指定できない。これがテストの結果です。
 
つまり、入力に正弦波
 

正弦波は1日の時間や曜日などの周期的な時間に対応します。そして、もともと(Aleksey Vyazmikin)さんは、非定常性の影響を減衰パターンという形で捉えようと、通常の線形時間について話していたんですね。私は、このような問題を解決するためには、シンプルで解釈しやすいモデルを使うべきだと思っています。複雑なモデルは実用のため、シンプルなモデルは予備解析のためです。

しかし、このような小細工をすることの実用性には疑問がある。おそらく、私たちのパターンは時間とともに一様に 変化するのではなく、周期的に(しかし周期性を持たずに)変化するのだろう。

 
Aleksey Nikolayev#:

正弦波は1日の時間や曜日などの周期的な時間に対応します。そして、もともと(Aleksey Vyazmikin)さんは、非定常性の影響をパターン崩壊という形で捉えようと、通常の線形時間について話していたんですね。私は、このような問題を解決するためには、シンプルで解釈しやすいモデルを使うべきだと思っています。複雑なモデルは実用のため、シンプルなモデルは予備解析のためです。

しかし、このような小細工をすることの実用性には疑問がある。おそらく、私たちの規則性は一様ではなく、周期的に(しかし周期性を持たずに)時間とともに変化していくのだろう。

フラクタルのようなものです。周期的ではあるが、周期的でない。すべて正しいです。
 
elibrarius#:
一般に、線形時間を送り出すという考えは悪いものです。ちなみに、そうです:トレイでは各行で異なり、フォワードでは一度に1行しか分析しません。つまり、時間は常に現在(トレイにはありませんでした)、数は常に= 0(トレイでは0から5000まで)です。つまり、時刻もトレイ番号も指定できない。これが、今回のテストで明らかになったことです。

また番号で挑戦してみますが...。なぜなら、0番は、ある分割数(例えば5000未満)以下のツリーの一部に含まれるからです。全てではありません。間違ってテストに時間を取ろうと思ったこと。

しかし、数による分割を行うには、フォワードに最適な距離であったのか?

 

試してみました。5000本のヒストリーを学習させたモデルでは、行番号を機能として追加した後、買いでは改善、売りではある意味悪化、ある意味改善となりました。
同時に、10000本のバーで教えると、どちらのモデルも失敗します。つまり、必要な履歴の長さを自動的に決定するための行番号を追加するという主なタスクが果たされていないのです。

これまでは、学習用の履歴の長さを手動で最適化/選択するだけでした。

 

カスタムトレーダーの指標は、モデル選択の段階で使用するというのが基本的な考え方のようです。学習段階では、標準的な測定基準が使用される。おそらく、以前ドミトリエフスキーが書いていたようなことなのだろう。

アプローチを説明するための小記事 です。

The training dilemma: loss vs profit function?
The training dilemma: loss vs profit function?
  • Haris (Chariton) Chalvatzis
  • medium.com
In the world of machine learning, models are trained by minimizing some variation of a loss function. For example, when we try to predict the median house value of a specific zip code, we are dealing with a regression type problem and prime suspects for the loss function, to be used to train our model, are the Mean Squared Error (MSE), Mean...
 
Aleksey Nikolayev#:

どうやら、カスタムトレーダーの指標を使うのは、モデル選定の段階で使うというのが本筋のようです。

しかし、トレーニングの段階でカスタムメトリクスを使うという考え方もあります。同時に、トレーダー用のものに酷似しているわけではなく、MO用の標準的なものに手を加えたものである。

おそらくトレーダーの指標は、コンディショナリティの低さにつながるのでしょう。これは、例えば、本来の注目すべき誤り率ではなく、クロスエントロピーを使うことを連想させる(後者は感度が悪いと言われている)。

IRでのトレーニングとテスターでの最適化との 理論的・実践的なギャップを何とか減らすことが必要である。

 
Aleksey Nikolayev#:

もっとも、トレーニングの段階ですでにカスタムメトリクスを使うという考え方もあるようですが。しかし、それらはトレーダーの指標と全く同じではなく、標準的なMOEの指標に手を加えた変種である。

おそらくトレーダーの指標は、コンディショナリティの低さにつながるのでしょう。例えば、本来の誤差頻度ではなく、クロスエントロピーを利用することに似ている 後者は感度が悪いと言われている)。

Trust but verify.
Aleksey Nikolayev#:
MOにおけるトレーニングとテスターにおける最適 化の間の理論的・実践的なギャップを何とか減らさなければなりません。

TP/SLでモデルを作っていた頃は、精度が絶対的でした。モデルとテスターでは、同じバーで取引を開始し、同じTP/SLで取引を終了しました。しかし、収益性は0程度でした。
私は建値ベースでテストしていました。しかし、彼らには問題がある...。バーには最小スプレッドが使用されています。

つまり、テスターの注文やTP/SLの一部は、以下のタイミングでトリガーされます。

ASK HIGH = BID HIGH + 最小スプレッド。

実際の取引で発動するようなものは動作しない

ASK HIGH(リアル)=BID HIGH+ASKの最大値で計算したスプレッド

何度か、最低スプレッドではなく、バーで保存するように開発者に提案したことがありますが

スプレッド=「ASK HIGH」 -「 BID HIGH」。

このようなスプレッドでは、建値によるテストが実際のティックによるテストに近くなる。

例えば、バーの最小スプレッド=0.00002、スプレッド=ASK HIGH - BID HIGH=0.00020となります。つまり、現実のASK価格はテスター価格より0.00018円高かったのです。トレードのオープン/クローズが発生した可能性のある場所。

しかし、MetaQuotes社からは何の反応もない(ロシア語)

追記:より正確には、Low Askのスプレッドも計算する必要があります。
理由: