skip to content

モデルの学習

Train Val Forward Term

学習データの作成

  • リアルなAsk/Bidデータ(執行環境より取得)
  • N週分のドル円(USD/JPY)、秒足
  • ターゲットラベルの付与
  • 特徴量の作成

学習の設定

  • データセット

    • Train 36週〜、Val 12週、Forward 14週〜
    • 期間違いのパターン23〜を作成
    • 週別ファイル 時系列、シャッフルなし
    • チャンクサイズ 2.5日分、シャッフルあり
    • バッチサイズ 512
  • モデル

    • 回帰ニューラルネットワーク
      • 3層のMLP(Multi-Layer Perceptron)
      • 入力: 特徴量73個
      • 出力: 期待値pipsスコア
      • Leaky ReLU
      • Dropout
      • Leaky ReLU向けのHe初期化、出力層のみ微小ランダムバイアス初期化
  • 手法とパラメーター

    • Robust Scaler
    • ターゲットラベルへのExtra runup値の加算
    • Huber Loss損失関数 カスタマイズした重み付け
    • オプティマイザー AdamW weight_decay設定あり
    • 学習率 カスタマイズ設定

学習と評価

  • Train

    • エポック 〜50
    • Seed 複数5〜
  • Val、Forward評価

    • Ask/Bid 決済Lotに応じた0.01pip単位の正確性
    • 単体モデル、複数アンサンブル
      • Avg pips/tradeの確認
      • ターゲット vs 予測の方向符号一致率
      • トレード数、Total pips、TP率、ばらつきの確認
      • Pred出力の順位付け形成の確認

Prediction Distribution Graph

  • 最適化
    • 遺伝的アルゴリズム(Genetic Algorithm)による閾値の探索
      • モデル毎のBuyシグナルの閾値(0.17など)
      • モデルのアンサンブル時の閾値(0.17 - 0.01など)
      • ポジションサイジング(最大6ポジションまで)

ずっと生き残るための適応力

  • モデルの週次ローリング更新(MLOps)
    • 毎週末、その週のデータをデータセットに追加して、Baggingサンプリングし、モデルを学習(Concept Drift対策)
    • 単体モデルの評価、アンサンブルモデルへの追加で評価
    • ローリングGA(Walk-Forward Optimization)による閾値のアップデート
    • 採用可否と、推論モデルへの追加