Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
金融時系列のためのデータ拡張入門
Search
tonic
March 29, 2024
4
1.2k
金融時系列のためのデータ拡張入門
tonic
March 29, 2024
Tweet
Share
More Decks by tonic
See All by tonic
Optiver参戦記&銀メダル解法
tonic
0
480
Featured
See All Featured
Faster Mobile Websites
deanohume
304
30k
Embracing the Ebb and Flow
colly
84
4.4k
4 Signs Your Business is Dying
shpigford
180
21k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
The Language of Interfaces
destraynor
154
24k
Building Adaptive Systems
keathley
38
2.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
GitHub's CSS Performance
jonrohan
1030
460k
Docker and Python
trallard
40
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
Optimizing for Happiness
mojombo
376
69k
Facilitating Awesome Meetings
lara
49
6k
Transcript
金融時系列のための データ拡張入門 tonic 2024/3/28
1. 自己紹介 tonic(@tonic3561) ・フリーランスDS ・Kaggler
目次 1. データ拡張、mixupとは? 2. テーブルデータとデータ拡張 3. 金融時系列でのmixup検証 a. 問題設計(Optiver vs
Jquants API) b. 結果・考察 4. まとめ
1. データ拡張、mixupとは? ◼ データ拡張(Data Augmentation) • 学習データにある変換をかけ、データ量を増やす手法 • 画像や文章をNeural Networkで扱う場合に広く用いられる
Flip Crop Rotate
1. データ拡張、mixupとは? ◼ mixup … 2つのデータを適当な割合で合成するデータ拡張の手法 • 特徴量、ラベルの両方を混ぜ合わせるのがポイント 𝑦1 =
[1, 0] 𝑦2 = [0, 1] 𝑦 = [0.7, 0.3]
2. テーブルデータとデータ拡張 ◼ (金融時系列を含む)テーブルデータでは、データ拡張の有効性は不明瞭 • ラベル情報を保存する変換が自明ではない • 「ミニバッチごとに拡張データを生成」というフローがGBDTと相性悪い … etc
◼ ただし夢はある • 金融時系列のデータ不足問題を解消? • ノイズを乗り越えた汎化性向上? ? 金融時系列のmixupは いいぞ… 某マケデコAMAにて
3.金融時系列でのmixup検証 ◼ そこで、以下の2つの問題設計でmixupの効果を検証 1. 板情報データから1分後のリターンを予測 2. Jquants API データから日次リターンを予測 ?
データ拡張はロバストな 問題設計なら効くぞ… 某マケデコ Discord chにて ← ロバスト ← 非ロバスト
3.a. 問題設計 ◼ 分次リターン予測(Optiver) • Kaggle で最近開催された金融コンペの問題設計を利用 • データ範囲: 匿名の200銘柄
* (480日 * 55 snapshot) • 評価指標: MAE • 目的変数: 各銘柄の60秒後のスペシフィックリターン • 特徴量: NasdaqでのClosing Auction板の集約情報 例) インバランスサイズ、ベスト価格・サイズ、WA …
3.a. 問題設計 ◼ 日次リターン予測(Jquants API) • Jquants API ライトプランで取得可能な日次データ(4本値、財務情報)を利用 •
データ範囲: 198銘柄(N225から抽出)* 5年分 • 評価指標: 相関係数 • 目的変数: 各銘柄の日次相対リターン • 特徴量: ファクター別指数ランキングから10個程度ピックアップ 例) ROE、時価総額、移動平均乖離…
3.a. 問題設計 ◼ モデル・評価方法 • Optiverの解法で用いたNeural Networkのアーキテクチャを使用 • mixupの有無、適用率(※)による精度の違いを調べる •
特徴量集合に対して、ミニバッチごとにランダムに拡張を行う • mixupのPytorchでの実装はこちら(2023マケデコアドベントカレンダー) ※適用率 … ミニバッチ内でmixupを適用するデータの割合
3.b. 結果・考察 ◼ 分次リターン予測 … mixupの効果あり • リーダーボードなら、tonicの位置(89位)から -50~+40位くらい ◼
日次リターン予測 … mixupでむしろ悪化 • ただし、適用率は大きいほど精度が上がる傾向 適用率 相関係数 MAE 0.0 0.2107 6.2440 0.7 0.2122 6.2402 適用率 相関係数 標準誤差 0.0 0.0346 0.0031 0.5 0.0278 0.0044 0.7 0.0280 0.0049 1.0 0.0290 0.0047 分次リターン 日次リターン
4. まとめ ◼ 金融時系列におけるデータ拡張(mixup)の有効性を検証 ◼ ロバストな問題設計では効果あり! • 汎用かつ手軽にデータを増やせるのでぜひお試しあれ • データ不足で解けなかったタスクも解けるかも?
◼ 非ロバストな問題では工夫が必要かも • 今回は特徴量集合をランダムに合成したが…考えられる方法はたくさん • 特徴量を合成 vs 元系列を合成? • 似たデータ点(同日、同銘柄、同セクターetc)を合成? • 分類タスクでソフトラベルを利用?