機械学習戦略のよくある落とし穴を回避するために

  • URLをコピーしました!

アルゴリズム取引のための機械学習における研究の大部分は、密室で行われています。特定の戦略のアルファ値が消えた後でも、その知識と方法論は秘密にされています。

私たちの目標は、あらゆるレベルの経験豊かなクオンツが創造性を発揮できる環境を作ることであり、分散化の精神に則り、投資のアイデアと資本はコミュニティ内でクラウドソーシングされます。私たちは、研究者、エンジニア、トレーダーが最も重要なこと、すなわちアルファを生み出すことに集中できるよう、必要なツールとインフラを提供します。私たちは、アルファ値そのものは十分に保護された秘密であるべきだと確信していますが、オープンな議論に入り、知識を共有することが、コミュニティ全体の利益となり、大手企業との競争にも役立つと信じています。

この最初のブログ記事シリーズでは、よくある落とし穴、金融データ集計、定常時系列の3つのトピックを取り上げる予定です。

目次

よくある落とし穴

他の分野と同様に、現在利用可能な研究状況の概要を把握することから始めるとよいでしょう。その際、重要なことは、他の人がすでに犯した間違いを知り、それを避けることです。そうすれば、行き止まりの道をたどって無駄にする時間を大幅に節約することができます。

機械学習のアイデアを実装し始める前に、誰もが知っておくべき最も一般的な落とし穴のいくつかを見ていきます。これは、あなたの研究の旅に先鞭をつけることになるでしょう。

タイムラグ

アルゴリズム取引のための機械学習について考えるとき、最初に思い浮かぶのは、最近の価格履歴から将来の価格を単純に予測すること、つまり、金融時系列データで予測することでしょう。しかし、金融時系列の予測には特に厄介な落とし穴があり、非常に騙されやすいのです。 それはタイムラグです。

価格データを入手し、お気に入りの機械学習ライブラリで一般的な深層学習モデルを実装した後、私たちはいくつかの結果を見たいと思います。いくつかのエポックについてモデルを学習し、損失関数(例えばMSE)の改善を見た後、我々は予測をプロットし、自分の目でいくつかの結果を見たいと思います。

そして、最初に見たとき、我々は我々のモデルが達成したことに非常に感銘を受けました。結果は図1のようになり、オレンジの予測値は青の実測値とかなり正確に一致しているように見えます。

図1-LSTMで1時間のビットコイン価格を予測した結果です。一見すると、評価セットとテストセットでの結果はかなり有望に見えます。次の図で詳しく見ていきましょう。

しかし、何かが足りないのです。それが何かは、図2の結果を拡大するとわかります。

図2-この図では、前の図の結果を拡大しました。予測値は実際の値に似ていますが、1日ずれていることがわかります。このモデルは、次の値を最後の既知の値と予測することで、損失を最小にするように学習しました。

拡大すると、予測値は実際の値にかなり近いですが、ちょうど1段階未来にシフトしていることがわかります。これは、我々のモデルが次の価格を予測するために、直近の既知の価格値である最新の履歴を使用していることを意味します。モデルがこの予測を学習するにつれ、しばしば実際に指標を改善することになり、私たちが見たように、モデルの性能に対する私たちの認識をも欺くことになります。この予測はしばしばローカル・ミニマムに似ているため、モデルはそれ自体何も間違ってはいないのです。残念ながら、これは明らかに価格がどの方向に動くかを予測する役には立ちません。

タイムラグ予測を扱うために、それらを素早く識別するのに役立ついくつかの指標を導入することができます。手始めに、時間遅れの場合に起こることをそのまま行う「モデル」を導入します。任意の入力長に対して、tにおける次のステップの予測は、単にt-1における値になります。このモデルをベンチマークとして、機械学習モデルで計算した損失や指標を、この単純なタイムラグ予測と比較することができる。もし機械学習モデルでより良い結果を得ることができれば、それは正しい方向である可能性が高い。もう一つの方法は、ラグ予測と機械学習モデルとの相関関係をチェックすることです。両者に相関がある場合、ラグ予測を表す潜在的なローカル・ミニマムに遭遇する可能性が高くなります。

Vegard Flovikは彼の素晴らしい記事の中で、この問題をランダムウォークで説明している。

機械学習の使い方.

リーク

私たちはすでに最初の落とし穴で、「一見良さそうでも、実はそうではない」ことを学びました。これは機械学習全般に当てはまりますが、金融時系列の予測では特に重要です。なぜなら、信号とノイズの比率が低いため、ほとんどの場合、多くのノイズの中から非常に小さな信号を探しているからです。もし、そのような貴重なシグナルを見つけたとしても、情報漏洩の可能性を排除するために、非常に正確でなければなりません。その反例が、アダム・キングの記事です。 ディープラーニング。収益性の高いビットコイン取引ボット.

から引用しています。 リンク

情報漏えいは、機械学習プロジェクトの様々なポイントで起こりうるが、特にデータの前処理は漏えいの影響を受けやすい。

情報漏えいはしばしば検出が困難であり、この問題に対する簡単な教科書的解決策は存在しない。このことから得られる最も重要な教訓は、特に結果が予想を大きく上回る場合、それに基づいてさらに研究を進める前に、優れた予測に漏れがないか常に二重、三重にチェックすることである。さらに、モデルを実運用に移す前に、常に「ペーパー」テストを行うべきです。これは、トレーディング戦略にとって特に重要です。

定常データの不使用

最後になりますが、よくある間違いは、データの前処理を怠ることです。金融時系列に最先端のディープラーニングモデルをやみくもに適用しても、満足のいく結果は得られないでしょう。ほとんどの機械学習モデルは、ほぼ一定の統計的特性を持つ定常データを入力として想定しています。この要件を満たすためには、データの前処理が必要です。最も簡単なアプローチは、時系列の最初の差分を使用することです。

これを行うには、時間ステップごとにリターンを計算します。リターンrは、現在の価格p

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次