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.4k
金融時系列のためのデータ拡張入門
tonic
March 29, 2024
Tweet
Share
More Decks by tonic
See All by tonic
Optiver参戦記&銀メダル解法
tonic
0
570
Featured
See All Featured
Designing Experiences People Love
moore
140
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Being A Developer After 40
akosma
89
590k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Visualization
eitanlees
146
15k
Speed Design
sergeychernyshev
27
800
Optimising Largest Contentful Paint
csswizardry
34
3.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Designing for humans not robots
tammielis
250
25k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
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)を合成? • 分類タスクでソフトラベルを利用?