ニューラルネットワークによる外国為替の予測-予測の遅れ


7

ニューラルネットワークの使用について質問があります。私は現在R(neuralnetパッケージ)を使用しており、次の問題に直面しています。私のテストと検証セットは、履歴データに関して常に遅れています。結果を修正する方法はありますか?多分私の分析で何かが間違っている

  1. 毎日ログを返す r(t)= ln(s(t)/ s(t-1))
  2. シグモイド関数でデータを正規化します(セット全体で計算されたシグマとミュー)
  3. ニューラルネットワークを10の日付でトレーニングし、出力はこれらの10の日付に続く正規化された値です。

トレンドを追加しようとしましたが、改善はありません。1〜2日遅れて観察しました。私のプロセスは問題ないようですが、それについてどう思いますか?

回答:


2

デザインを改善するいくつかの方法:

  1. 別の正規化を検討してください。シグモイド関数は大きな動きを減衰させます。そもそも、最初にニューラルネットワークを使用することに惹かれたのは、おそらくこれらの大きな非線形の動きでしょう。なぜそれらを削除するのですか?単純なwhiteningデータの方が良いかもしれません
  2. Nimaが指摘したように、モデルは、与えられたデータから何がわかるかを予測できるだけです。過去の価格を使用してデータにのみ適合している場合、それはそれらから予測可能なもののみを提供します。ニュースイベント、予想外の収益、休日、オプション市場フローなどは、モデルに反映されません。これらのシリーズも追加することを検討してください。
  3. より多くの履歴データ。ニューラルネットワークは、非常に大きなパラメーター空間を推定しようとしているため、非常に大きなサンプルサイズを必要とすることがよくあります。より多くのデータが常により多くの情報を意味するわけではありませんが、これはおそらく役立つでしょう。
  4. さまざまなネットワークアーキテクチャを試します。レイヤーの数/レイヤーのサイズ/勾配の適切なアルゴリズムの違い/アクティベーション関数の違い/ドロップアウトなど

0

10個の入力サンプルのみでトレーニングしている場合、結論を出すのは非常に困難です。より多くのデータがあれば、モデルが遅れた値を予測しているという診断は、より妥当性が高くなります。現状では、モデルが最後に観測された値がほぼ正しいと言っている可能性が高いようです。これは実際のラグモデルとは異なりますが、十分なデータが表示されていない場合に推測するのは非常に合理的です。


0

私は基本的にあなたが今述べたものである多くの論文を見てきました。あなたがやっていることには何の問題もありませんが、これが市場を予測する方法には厳しい制限があります。例を挙げましょう。uにデータがあり、予測を開始したとします。データの各セットで、次のデータポイントを予測します。次に、このデータポイントを入力としてシステムにフィードバックし、これを繰り返し実行します...ほとんどの場合、システムは最後のトレンドを継続し、時系列は壊れません。これは予測ではありません。これは行の継続です...システムが実際のデータの中断を検出した場合にのみ、予測が中断し、これはあなたが話しているラグです(私があなたの質問を正しく理解している場合)。これを強化するために最初にできることは、価格からいくつかの市場指標を抽出することです。これは本当に役立つでしょう


この答えには価値のある核心があると思いますが、より具体的な例といくつかの編集からおそらく恩恵を受けることができます。
Sean Owen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.