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
2
910
金融時系列のためのデータ拡張入門
tonic
March 29, 2024
Tweet
Share
Featured
See All Featured
The Language of Interfaces
destraynor
151
23k
Rails Girls Zürich Keynote
gr2m
91
13k
GraphQLとの向き合い方2022年版
quramy
33
12k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Web Components: a chance to create the future
zenorocha
306
41k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
8
3.5k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
YesSQL, Process and Tooling at Scale
rocio
165
13k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
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)を合成? • 分類タスクでソフトラベルを利用?