金融データ生成に関するサーベイ論文(2020)を読んでみた
データサイエンス勉強会の皆で読んだ金融データ生成に関するサーベイ論文の解説と感想をご紹介します!データサイエンス勉強会は毎週火曜日午前11時から6号館地下1回060室データサイエンスコモンズルームでワイワイ自由に開催しています.現在は金融に関するデータコンペに皆で出ようと準備を進めています.興味のある方は是非!飛び入り参加歓迎します.
この記事でわかること
-
- 金融データの種類
- 金融データ生成の利点
- 金融データ生成の課題
- 生成・評価手法はまだ未発展であること
書誌情報
-
-
- Generating synthetic data in finance: opportunities, challenges and pitfalls
- https://dl.acm.org/doi/pdf/10.1145/3383455.3422554
※ 同じタイトルのものがSSRNにも載っているが,ACM版(2段の)が詳しいです
- https://dl.acm.org/doi/pdf/10.1145/3383455.3422554
- Generating synthetic data in finance: opportunities, challenges and pitfalls
-
論文のポイント
-
- この論文でいう合成データの定義は,実データの特性を学習して生成されるデータで,データの難読化(匿名化・機密属性の除去)とは異なる
- 数値,バイナリ,カテゴリ,画像など様々なタイプのものを生成できる
- 任意の数のデータポイントを生成できる
- プライバシーとデータのそっれぽさはトレードオフで調整できる
- 金融データ生成のモチベーションは,以下の2つ
- 歴史データの欠如やクラス間不均衡問題が解消できる
- 法律規制と内部のデータ利用制限をスキップできる
- 主な金融データにはリテールバンキングデータと,市場ミクロデータが存在する
- リテールバンキングデータ (Retail Banking Data): 一般に対するオペレーションから出てくるデータの総称
- 市場ミクロデータ(Market Microstructure Data)の中でもLimited order book(指値注文板)のデータが注目浴びている
※ 指値注文とは,取引所が持っている買い手と売り手が,この値段で売りたい・買いたいって言ってきたものをマッチングさせた時のデータのスナップショット
- この論文でいう合成データの定義は,実データの特性を学習して生成されるデータで,データの難読化(匿名化・機密属性の除去)とは異なる
- 勉強会内で気になったところ
- セキュリティ論文の文脈だとアルゴリズムは公開だけど再現は難しいというものなんだという発見
- privacy over security?
- 情報を隠すのではなく、 “entity”に関する情報を妥協しない
- Limited order bookの公開はアクセスコストの問題なの?プライバシーではなく?
- 単純にデータ取るのにお金かかるから
各章のまとめ(1章はイントロなので省略)
2. 金融データの種類
2.1 Retail Banking Data:一般に対するオペレーションから出てくるデータの総称
-
- タイプ:典型的には表、グラフ, JSONもある
- 個人情報が含まれるためプライバシー保護のための一般的なアプローチとしてk-anomality (k-匿名化)とdifferential privacy (差分プライバシー) がある
- k-anominity: 全てのレコードに対して、与えられた情報から、k人の候補までしか絞れないようになっていると言う性質
- 指数的に候補が増えていくので次元の呪いの影響を受ける
- differential privacy: 2つの ”隣接”したデータの出力の差分が小さい
- (ε: 出力の近さ(プライバシーの強さ)をコントロール, δ: 失敗の確率) でパラメタライズされる
- より人気なアプローチ
- データセットDとデータセットから一人抜いたD’があって,それぞれ合成データを作ったときに,それぞれの合成データの違いがわからない状態を目指す
- k-anominity: 全てのレコードに対して、与えられた情報から、k人の候補までしか絞れないようになっていると言う性質
- deanonymization attackに注意
- 外部データを用いて、匿名化をとく
2.2 Market Microstructure Data:取引履歴など
- Limited order bookにはレベルが存在する
- レベル3
- Order bookと個別の注文
- レベル4
- orderとそれを行うentityが紐づいたもの
- 管理機関しか見れない(インサイダー取引を監視するため)
- レベル3
- Order bookのデータ生成
- 戦略や目的,タイムスケールの違う複数のエージェントシミュレータで市場を再現して作る
- imitation learning (behavioral cloning)もあるが戦略の複雑さと再現性は微妙
- 課題1:複数の異なるアクターの決定を表現すること。
- リスク許容度
- 合理性
- 課題2:経験的なデータセットの性質の再現
- データセット間の距離定義
- 取引量の多い時間帯はスプレッドが小さく
- 取引量はその日の始めと終わりが最も大きくなるとか
- プライバシの観点
- 投資者は自分の戦略を解読されたくない
- (privacy)個人情報は公開されていないが、それを特定して取引する戦略が存在している
- (privacy)暗号化は有効な投資家保護手法だが、合成データ作成は難しくなる
3. Techniques for synthetic data generation
3.1 Tabular Data
- 様々な手法がある (Differential Privacyがあるやつとないやつがある)
- SDDL: 決定木を “invert” したもの
- 他の手法もある(random forestやSVMなど)
- invertの意味は予測モデル作って,似たような出力を出すものは似たようなものって趣旨で色々な入力を用意して,疑似データセットにする
- Abowd and Vilhuber: ベイズ手法を用いたもの
- Bayesian network (Zhang)
- コピュラ(Li)
- ギブスサンプリング
- SDDL: 決定木を “invert” したもの
- 全ての手法には(程度の差はあるが)次のような限界がある:
- Differential Privacy を確保するために、domain size 長 (列数に対して指数的に増える -> なぜ?) のbitstring表現を使っている…→次元の呪い
- ほとんどの高次元データはスパースだが、ノイズを加えて生成した合成データが実データの特徴を完全に無くしてしまうことがある(本当?)
- Zhang [83]に詳しく載っているらしい。
- 他の手法
- Agent-based modeling:
- パラメータ設定を自動化してると(privacyの意味での)データリークのおそれがある
- GANを使ったアプローチ
- プライバシの理論的保証はない
- CT-GANはこの時点でのstate of the art
- PATE-GANはdifferential privacyがある
- Agent-based modeling:
3.2 Synthetic financial time series
- GARCH / 自己回帰モデル (統計的なモデル)
- 単純な統計モデルで最尤法
- 解釈しやすい
- 強力な仮定 (単純な構造しか出力されない)
- 金融時系列の特徴を再現できない
- QuantGAN
- 入力を対数リターンのセットにして,それを似せるようにする?
- privacyを保証しない
- Agent-based models
3.3 Stream data with privacy guarantees
- privacy
- event-level privacy
- イベントがstreamで入ってくる状況を考えると、一行の差分に対する
- user-level privacy
- ユーザーの有無(ユーザが関係する行全て)の差分に対する
- w-event priavcy
- w期間に対応する行全ての差分
- d-privacy
- 行の有無などではなく、データセット間の距離が近いものに対して出力の差がない
- 連続な量に対してもprivacyが確保できる(user idとかと対比)
- (w,alpha)-indistinguishability
- w-event privacy と d-privacyのコンビ
- event-level privacy
- Dwork et al.はストリームデータでプライバシーを考慮
- 閲覧データを、一定期間の閲覧数データとして公開する
3.4 Unstructured Data
- 画像とか音声とか
- ニューラルネットワークが有望だけど発展途上
- 1データポイントの存在を守るだけ
- 顔の向きが違う同じ人が出てくるとかダメ
3.5 Network/Graph Data
- Classical models:
- Erdos-Renyi
- Barabasi-Albert
- Kronecker graphs
- Maximum entropy = minimal information methods
- 制約条件:合成データの特徴 (e.g. グラフラプラシアンのスペクトル)
- 制約条件を満たす中でもっともエントロピーが大きい(=情報が少ない)分布を作る
- プライバシー的にも良い (?)
- ネットワークに対してはプライバシーの概念がよく発展している
- 匿名化
- differential privacyを満たす良い手法が発展している
- differential privateでありながら、cut-distanceをバウンドする手法など
4. Evaluating Generative Models
- 生成モデルの発展には、(機械学習の発展のように)評価指標の整備が必要
- 画像タスクと似てる
- 人間は質的に評価できる
- 高次元でマルチモデル分布から生成される
- 以下の密度推定みたいなクラシカルな方法は性能が低い
- log-likelihood
- Parzen window estimates
- 画像の質的なスコア?
- Inception Score
- 本物と生成された画像の埋め込み間の距離
- Fréchet Inception Distance
- Recall / Precision
- Inception Score
- 表データも新しくてあんまり良いのがない
-
- 実データと生成データの経験分布の距離を比較
- コルモゴロフ・スミルノフ検定
- MMD(ノンパラメトリック)
- 実データと生成データの経験分布の距離を比較
- 時系列データ
- 統計的距離はちょっとだめだよね
- Wasserstein距離など
- 結局バックテストが良い
- スタイライズド・ファクト
- 統計的距離はちょっとだめだよね
- グラフィカル
- 最尤法が一般的
- カーネル関数でグラフ間の類似性を計測
- グラフカーネルの種類は色々ありますよ[50]
5. Towards a Compact Representation of Real Data
結局必要なこと
- プライバシー
- 人間が読める
- コンパクト データガバナンス的にデータサイエンティストがアクセスできない場合があって,実作業者の人がやらないといけないから,ローカルのPCでできないと困る
感想的なもの
-
- スタイライズド・ファクトを見てみるのが良さそう
- グラフカーネルの種類も金融の観点で見るのも面白そう
- 差分プライバシー(differential privacy)の原理的なところは少し理解できたが、ビッグデータを扱う上で、どれくらい影響があるものなの(どういう時に影響が出やすいのか)など、もう少し詳しく調べてみたいと思った
- 金融データの生成を評価するのは大変そうに感じた。統計的な評価があてになりづらいと著者は述べているが、現状はそれで生成モデルの品質を評価している記事をよく見かける
- データ生成は先進的な情報技術という印象ですが、金融領域においては法律と実務上の様々な制限を考慮しなければなりません。異なる分野の対話のようなものが見れるのは面白い
2024年11月5日 データサイエンス勉強会一同