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.3k
金融時系列のためのデータ拡張入門
tonic
March 29, 2024
Tweet
Share
More Decks by tonic
See All by tonic
Optiver参戦記&銀メダル解法
tonic
0
520
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
The Invisible Side of Design
smashingmag
298
50k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Code Review Best Practice
trishagee
65
17k
RailsConf 2023
tenderlove
29
940
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
The Language of Interfaces
destraynor
154
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Gamification - CAS2011
davidbonilla
80
5.1k
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)を合成? • 分類タスクでソフトラベルを利用?