記事「データサイエンスとML(第36回):偏った金融市場への対処」についてのディスカッション

 

新しい記事「データサイエンスとML(第36回):偏った金融市場への対処」はパブリッシュされました:

金融市場は完全に均衡しているわけではありません。強気の市場もあれば、弱気の市場もあり、どちらの方向にも不確かなレンジ相場を示す市場もあります。このようなバランスの取れていない情報を用いて機械学習モデルを訓練すると、市場が頻繁に変化するため、誤った予測を導く原因になります。この記事では、この問題に対処するためのいくつかの方法について議論していきます。

為替市場やその他の金融商品は、時期によってさまざまな動きを見せます。たとえば、株式や株価指数などの一部の金融市場は長期的には上昇傾向(ブル相場)を示すことが多い一方で、為替市場のように下降傾向(ベア相場)やさらに複雑な挙動を示す市場もあります。こうした不確実性は、人工知能(AI)技術や機械学習(ML)モデルを用いて市場を予測しようとする際に、予測の難しさをさらに高める要因となります。

データサイエンスとML:偏った金融市場への対処


作者: Omega J Msigwa

 
ありがとう、オメガさん、これをまとめてくれて感謝するよ。添付ファイルをダウンロードしました。ありがたいことにgithubがあるので、前提条件(preprossing.mqh、plots.mqh、Matrixextend.mqh、Metrics.mqh、Random Forext.mqh)を見つけてインストールすることができました。残念なことに、if (!random_forest.Init(StringFormat("%s.%s.%s.onnx", symbol_, EnumToString(timeframe_), technique_name), ONNX_COMMON_FOLDER)) という行から、'Init - Undeclared Identifier'というメッセージに引っかかってしまいます。//共通フォルダからONNX形式でRFCを初期化する。確認したところ、MQL5CommonフォルダにUSDJPY.PERIOD_D1.randomundersampling.onnxがありました
 
linfo2 USDJPY.PERIOD_D1.randomundersampling.onnxがありました

必要なコンポーネントは、ノートブックにインポートされているすべての最新バージョンなので、バージョンの競合を気にせずにpip installを行うことができます。また、添付ファイルのリンクからKaggle.comに移動し、そこでコードを編集・修正することもできます。

未宣言の識別子は、変数やオブジェクトが定義されていないことを意味します。コードを確認するか、DMでコードのスクリーンショットを送ってください。

 
テスト 結果は信用できない。テスト期間はトレーニングデータの期間を含む。モデルはトレーニングセットでは良い結果を出し、テストセットでは悪い結果を出します。多くのテスト結果が2024.07.06から2025.01.01の時間範囲にあることがわかります。このモデルの成績は悪く、その前の時間帯のモデルの成績は素晴らしい。トレーニングセットが80%を占めると計算しました。ランダム割り当てのためにデータが乱れることはなく、トレーニングセットとテストセットが直接順番に割り当てられる。モデルは前回のトレーニングデータは認識しますが、その後のテストデータは認識しません。トレーニングデータをテストで使用したため、全体の結果が膨らみ、その後のテストデータでのパフォーマンスは非常に悪く、損失が発生します。それからクラスタ重心も信頼できません。クラスタリングではすべてのデータを使用し、全体のデータをクラスタリングに使用し、次にトレーニングに使用する。したがって、この方法で使用される訓練データは、2023.01.01~2025.01.01の時間範囲を含む。これは、未知のデータでテストすることなく、完全にトレーニングデータでテストしていると言えます。訓練データとテストデータは時系列で厳密に区別されなければならない。2023.01.01~2024.01.01をトレーニングデータ、2024.01.01~2025.01.01をテストデータとして、テストデータのみをモデルの性能テストに使用することができる。テストモデルはテストデータでのみテストできる。情報漏えいのリスクがあってはならない。そうでなければ、モデルの優れた性能はすべて信頼できなくなる。