blog

人工知能学会金融情報学会第21回での発表について

人工知能学会 金融情報学研究会(SIG-FIN)第21回では、為替市場における機械学習を用いた売買アルゴリズムの研究と、適時開示情報のリスク自動判定に関する研究の2本が発表された。本稿では、それぞれの研究の背景・手法・結果・考察を詳細に解説する。金融×AIの最前線で取り組まれたこれらの研究は、機関投資家から個人投資家まで幅広い実務応用の可能性を示している。

為替情報の幾何的特徴を用いた売買アルゴリズムの検討

はじめに:AI×金融トレーディングの現状と本研究の目的

近年、AIを用いて金融市場の売買タイミングを判定しようという試みが活発に行われている。例えば石原(2017年、SIG-FIN第19回)は、多層ニューラルネットワークと遺伝的アルゴリズムを組み合わせたトレーディング手法によって、TOPIXを上回る運用成績を達成したことを報告している。また今村ら(2017年、SIG-FIN第19回)は、金融実務において伝統的に用いられているペアトレードと呼ばれる裁定取引手法と、LSTM(Long Short-Term Memory)を組み合わせることで良好な結果を得ている。

今回の研究では、為替取引(ドル円)に対して機械学習を用いたアプローチによってリターンを上げることを目標とした。

ユーザーのニーズと相場環境:なぜ従来手法では不十分か

機関投資家をはじめ、「FX取引で利益をあげたい」「大損を避けたい」というニーズは普遍的に存在する。しかし現在の為替市場では、金利・金融システムの安定度・政治情勢・モメンタムといった様々な条件が複雑に絡み合っているため、既知の統計分布を仮定してもうまく相場変動を説明できない場合がある。

梅田ら(富士通技術研究、2018年)は、従来の手法がデータに対して分布を仮定することで情報を取りこぼしてきたと指摘している。この指摘を踏まえ、今回の研究では特別な確率分布の仮定を置かずに、データの「形(幾何的構造)」を把握することでデータ本来の構造を捉えようとした。この目的に対して、点群処理ネットワークであるPointNet++が有効と判断した。

PointNet++とは:成立過程と特徴

PointNet++の理解のために、その開発の経緯を整理する。

PointNet(2017年)

C.R.Qi et al. が提案。物体を描画した点群(3次元座標の集合)を、3次元ボクセルや2次元画像に変換することなく直接処理できるアーキテクチャ。3次元物体の分類・セグメンテーションで高い性能を発揮した。

PointNet++(2017年)

C.R.Qi et al. が同年に発展させた手法。PointNetのネットワークに階層的な構造を導入することで、入力情報の局所的な構造を捉える精度を大幅に向上させた。

本研究ではこのPointNet++を、3次元空間内の点群を処理する本来の用途から転用し、金融時系列データの「幾何的構造」の把握に応用している。時系列の各時点における複数の指標値を3次元空間上の点として配置し、その点群の形状からポジション(買い・売り・ニュートラル)を予測するというアプローチである。

3次元点群データの幾何的構造を視覚化したイメージ
3次元点群データの幾何的構造を視覚化したイメージ

売買戦略の設計

学習後のPointNet++を用いた売買ルールは以下のように定義した。

  • ドル円がn pips以上上昇すると予測された場合:ドル買いを執行
  • ドル円がn pips以上下落すると予測された場合:ドル売りを執行
  • 検証パラメーター:n = 1、および n = 5 の2水準

結果の評価は、学習に用いていない未知のテストデータに対するシミュレーションにおける通算の利益(あるいは損失)の推移を観察することで行った。

データ準備と前処理

使用したデータとその処理手順は以下のとおりである。

  1. 生データの入手:FXDDから2005年1月〜2018年7月のドル円為替データ(1分足)を入手した。
  2. 時間軸の変換:1分足データを5分足に変換した。
  3. 学習・テスト分割:データ全体の4分の3を学習用データ、残りの4分の1をテスト用データとして割り振った。
  4. テクニカル指標の算出:各時点で金融実務でよく用いられる15のテクニカル指標を算出した(詳細は後述)。
  5. 次元削減:主成分分析(PCA)とt-SNEを用いて、15次元のデータを3次元に削減し、これをPointNet++の入力(3次元点群)とした。

今回用いた15指標一覧

各時点で計算したテクニカル指標は以下の15種類である。これらは金融実務において広く使用されているオシレーター系・トレンド系・ボラティリティ系の指標を網羅的に選定した。

分類 指標名
トレンド系 Absolute Price Oscillator(APO)、Rate Of Change(ROC)、Simple Moving Average(SMA)、Midpoint
方向性指標 Aroon Down、Aroon Up、Minus Directional Movement(-DM)、Plus Directional Movement(+DM)
オシレーター系 Chande Momentum Oscillator(CMO)、Relative Strength Index(RSI)、Slow %D、Slow %K、Ultimate Oscillator、William’s %R
ボラティリティ系 Average True Range(ATR)

PCAとt-SNEによる次元削減の比較

15次元の指標データを3次元に削減する手法として、PCA(主成分分析)とt-SNEの2種類を採用した。これらは性質が大きく異なる。

手法 原理 特徴 想定されるメリット
PCA 線形変換により分散が最大の軸を発見 計算効率が高く、グローバルな構造を保持 大局的なトレンドの捕捉
t-SNE 非線形変換により局所的な類似構造を保持 局所構造の可視化に優れる。非線形な構造も表現可能 局所的なクラスター構造の捕捉

PCAによる3次元散布図では、データ点が大きな軸に沿って分布する傾向が見られた。一方、t-SNEによる3次元散布図では、局所的なクラスター構造がより顕著に現れた。この違いが、後述するシミュレーション結果に影響を与えることとなる。

学習方法の詳細

PointNet++への入力と学習の具体的な手順は以下のとおりである。

  • 入力形式:PCAまたはt-SNEで次元削減した3次元データを使用。
  • 正解ラベルの定義:5分後の価格変動に応じて3クラスに分類した。具体的には「n pips以上の上昇(買いシグナル)」「n pips以上の下落(売りシグナル)」「それ以外(ニュートラル)」の3ラベルである。
  • 学習の単位:連続する512時点分の3次元データを1サンプルとして入力した。スライド幅は256時点とし、時系列方向にオーバーラップさせながら順次入力してパラメーターを最適化した。

結果:損失関数・予測精度・売買シミュレーション

学習の結果として、損失関数・予測精度・売買シミュレーションの3観点から評価した。

【損失関数および予測精度(1 pips / PCA)】
訓練データに対しては損失関数の減少が見られた一方、未知データに対しては損失が減少しておらず、過学習の傾向が確認された。予測精度も未知データでは伸び悩んだ。

【損失関数および予測精度(1 pips / t-SNE)】
PCA同様に、訓練データへの過学習の傾向が見られた。ただし、損失曲線の形状にPCAとの違いが見られ、t-SNEによる次元削減が学習挙動に一定の影響を与えることが確認された。

【売買シミュレーション(1 pips)】
1 pipsの閾値では、PCAおよびt-SNEのいずれも最終的に大きなプラスのリターンには至らなかった。ただし、2017年以前においてはPCA版とt-SNE版でかなり異なった結果となっており、次元削減手法の選択がトレーディング結果に影響することが示唆された。

【売買シミュレーション(5 pips)】
5 pipsの閾値では、t-SNE版が最終的に黒字となった。同じ5 pipsの閾値でもPCA版はどんどん負け越す結果となっており、t-SNEとPCAの間に明確なパフォーマンス差が生じた。

学習データの表現について

学習データを3次元散布図として可視化した際、人間の目で見て明らかな特徴パターンは発見できなかった。これは、学習データが持つ有意な構造が人間の視覚認識では捉えにくい高次の統計的パターンであるか、あるいはそもそも有意な構造が弱いことを示唆している。

この点は、後述するディスカッションにおける過学習問題とも関連している。人間にとって自明な視覚的特徴がないデータに対して、ニューラルネットワークが意味のある抽象表現を学習することは難しく、データ自体のランダム性がネットワークを混乱させた可能性がある。

ディスカッション:学習の問題と次元削減手法の差異

学習に関して

想定通りに学習が進まなかった。訓練データに対しては損失関数の減少が見られるにも関わらず、未知データに対しては損失が減少しないという、典型的な過学習の症状が確認された。今回使用したPointNet++のアーキテクチャには、dropout等ある程度の過学習防止機構が組み込まれている。それにもかかわらず想定通りに学習が進まなかったことから、アーキテクチャの問題というより、データ自体の性質(高いランダム性)の影響が大きいと考えられる。

為替市場は効率的市場仮説が完全でないとしても、短期的な価格変動には相当程度のランダム成分が含まれており、それが学習の収束を妨げた可能性が高い。

参考:別データでの学習結果

同一の学習モデル(PointNet++)を用いて異常検知タスクを実装した際には、テストデータのLossも下がって学習が正常に収束し、実際の異常判別結果は97%の精度を達成した。これははじめバグを疑うほど良好な結果であったが、別データでは正常に学習できることが確認されたため、単純なケアレスミスではなく、データ(為替の価格変動)自体の難しさによるものと判断できる。すなわちPointNet++というアーキテクチャ自体の問題ではなく、金融時系列データの特殊性が主因である。

売買シミュレーションに関して

最終的に黒字となったのはt-SNE / 5 pipsの組み合わせのみであった。同じ5 pipsでもPCAではどんどん負け越しており、両者の間には明確な差がある。これが偶然でないとすれば、PCA適用時に欠落した情報がt-SNEでは保持された可能性がある。PCAは線形変換であるため、金融指標間の非線形な関係性を失ってしまう可能性があるのに対し、t-SNEは非線形な局所構造を保持するため、そのような情報を3次元空間内に保存できた可能性がある。

なお、1 pipsにおいても2017年以前はPCA版とt-SNE版でかなり異なった結果となっており、次元削減手法の選択が結果に与える影響の大きさが改めて示された。

今後の課題

  • 入力データの改善:ローソク足チャートの代わりになるデータとして今回の15指標を選択したが、動画として可視化しても明らかな特徴パターンが現れなかった。人間が視覚的に認識できるような「物体」としての表現を模索し、より意味ある入力表現の開発が必要である。
  • 過学習の克服:dropoutやバッチ正則化だけでは不十分であり、より強力な正則化手法やデータ拡張の検討が求められる。
  • マルチモーダルな入力の導入:チャートデータだけでなく、金利・株価・経済のファンダメンタルデータをインプットに加えることで、予測精度の向上が期待できる。
  • 次元削減手法の最適化:t-SNEとPCAで大きくパフォーマンスが異なることから、最適な次元削減手法の検討が必要である。あるいは、そもそも多次元データをそのまま扱えるネットワーク(例:Transformer系の手法)を試すことも有力な方向性である。

参考文献

[1] R.Fujimaki, S.Morinaga: Factorized Asymptotic Bayesian Inference for Mixture Modeling. Proceedings of the fifteenth international conference on Artificial Intelligence and Statistics (AISTATS), 2012.
[2] C.R.Qi, H.Su, K.Mo, and L.J.Guibas: PointNet: Deep learning on point sets for 3d classification and segmentation, IEEE Conference on Computer Vision and Pattern Recognition, 2017.
[3] C.R.Qi, H.Su, and L.J.Guibas: PointNet++: Deep Hierarchical Feature Learning on Point Sets in Metric Space, Neural Information Processing Systems, 2017.
[4] 石原龍太: 多層ニューラルネットワークとGAを用いたTOPIX運用AI, 第19回 人工知能学会 金融情報学研究会(SIG-FIN), 2017.
[5] 今村光良, 中川慧, 吉田健一: 機械学習を用いた共和分ペア・トレード戦略, 第19回 人工知能学会 金融情報学研究会(SIG-FIN), 2017.
[6] 梅田裕平, 金児純司, 菊地英幸: トポロジカルデータアナリシスと時系列データ解析への応用, FUJITSU, Vol.69, No.4, pp.97-103, 2018.


適時開示情報の業績に対するリスク有無の自動判定

はじめに:適時開示情報とリスク判定の課題

近年、個人投資家の数が増加している中、適時開示情報への関心が高まっている。適時開示情報とは、上場企業が証券取引所の規則に基づいて義務付けられている「重要な会社情報の開示」のことである。適時開示情報の中には、その上場企業の株価に影響を与える可能性のある情報も数多く含まれている。特に「業績予想の修正」や「営業停止処分」といった業績にリスクのある情報は株価への影響も大きく、投資判断にも重大な影響を与える。

しかしながら、適時開示情報はインターネット上でいつでも閲覧できる一方で、常に新しい情報が大量に掲載され続けているため、すべてを閲覧することは事実上困難である。さらに、その膨大な情報群の中から業績にリスクのある情報のみを手動で判別して閲覧することは、多大な労力と時間を必要とする。

そこで本研究では、上場企業が公開する適時開示情報を深層学習によって解析し、業績にリスクがあると考えられる情報のみを自動で抽出・分類する手法を提案した。例えば「業績予想の修正に関するお知らせ」の適時開示情報を「リスクあり」と判定し、さらに「特別損失」に分類するといった処理を自動化することが目的である。本研究により、業績にリスクのある適時開示情報の閲覧を容易にし、投資家の投資判断に役立てることを目指した。

関連研究として、企業の発行している「決算短信」をテキストマイニング技術で解析し経済市場を分析する研究がいくつか行われている。酒井らは企業の決算短信PDFから業績要因文を自動抽出する研究を行っているが、業績要因の抽出のみではリスクの有無を判断することはできない。本研究はリスクの有無を直接判定できる点が異なる。

提案手法の概要

2-1 処理フロー

Step 1
学習データの作成
ワードリストで
リスク有無を分類
Step 2
Doc2Vecベクトル化
文書をベクトルに変換
Step 3
モデル構造の決定
中間層・batch
のチューニング
Step 4
Chainerで学習
分類モデルを作成
Step 5
リスク判定・分類
リスクあり/なし
+カテゴリ分類

  • Step 1:適時開示情報の中から業績にリスクがあると考えられる情報を人手で抽出して学習データとし、後述のワードリスト(表1)に示す語により分類する。
  • Step 2:学習データ・テストデータを適時開示情報の文書ごとにDoc2Vecによりベクトル化する。
  • Step 3:深層学習モデルの最適な中間層のユニット数やbatch数を決定する。
  • Step 4:Chainerを用いて学習データで学習を行い、分類モデルを作成する。
  • Step 5:作成されたモデルに基づき、文書を「リスクあり」「リスクなし」に分類し、さらに「リスクあり」と判定された文書をその内容に基づいてカテゴリ分類する。

2-2 使用するデータ

学習データには2017年の適時開示情報を使用し、テストデータには2016年の適時開示情報を使用した。

ラベルの設計方法は以下のとおりである。まず、表1のワードリストにある語が含まれている文書を「リスクあり」とし、含まれていない文書を「リスクなし」とする。次に「リスクあり」とした文書を、表2の分類語とラベルに基づき3種類に分類する。

ラベル 内容・代表的な含有語
特別損失 業績予想の修正、特別損失の計上に関連する語を含む文書
違反 法令違反、行政処分、営業停止等に関連する語を含む文書
その他 「火災」「訴訟」「損害」等、特別損失・違反以外のリスク語を含む文書
リスクなし ワードリストの語を含まない文書

分類した学習データの件数構成については、リスクなし文書が全体の多数を占め、リスクあり文書はその中の少数であるという、実際の適時開示情報の分布を反映した不均衡データ構造となっている。

2-3 深層学習に使用するモデル

Chainerを用いて学習データからモデルを構築した。採用したアーキテクチャは多層パーセプトロン(MLP)であり、「入力層 → X → X → X → 出力層」という3つの中間層を持つ構造である。

モデル決定の手順:

  1. epochを30として、中間層Xのユニット数を変化させ、テストデータにおける精度を比較する。
  2. 過学習を避けるため、最も早く「学習データにおける精度」が1.0になったユニット数800を中間層に採用する。
  3. batchの値を変化させてテストデータにおける精度を比較する。
  4. 同様の理由でbatch = 50を採用する。

入力層の設計:Doc2VecによってWikipediaから約500MBの記事を次元数400で学習させたモデルに基づき、適時開示文書をベクトル化したものを入力とした。学習データそのものではなくWikipediaを使用した理由は、学習データのみではDoc2Vecの学習に必要な十分な量のコーパスが確保できなかったためである。汎用的な日本語表現を学習したWikipediaモデルを事前学習済みの文書ベクトライザーとして利用することで、語彙の不足を補った。

出力層:4クラス分類(特別損失・違反・その他・リスクなし)に対応する4ユニット。活性化関数:ReLU関数を使用した。

モデルのアーキテクチャをまとめると以下のとおりである。

詳細
入力層 400次元(Doc2Vec / Wikipediaで事前学習)
中間層(×3) 各800ユニット、活性化関数:ReLU
出力層 4ユニット(特別損失 / 違反 / その他 / リスクなし)
batch数 50
実装フレームワーク Chainer

評価:全体精度87.4%を達成

本手法の評価は、テストデータとした2016年の適時開示情報から、ワードリストに基づき作成した正解データと照合することで行った。

分類の全体精度は87.4%であった。各ラベルの精度は以下のとおりである。

ラベル 精度 コメント
特別損失 95.2% 最高精度。文書の特徴が明確に学習できた。
リスクなし 89.4% 高精度。リスクあり/なしの2値分類は良好。
違反 80%超 全体水準を確保。
その他 74.7% 最低精度。多様なリスク事象を包含するため特徴が掴みづらかった。

考察:ワードリストを超えた特徴学習

各ラベルとも精度が80%を超えており、全体として良好な精度を達成した。「その他」における精度が74.7%と相対的に低い結果となったのは、このラベルに「火災」「損害」「訴訟」など多様なリスク事象に関する文書が混在しており、カテゴリの幅が広くなってしまったためと考えられる。

一方で「リスクなし」の精度は89.4%と高い精度が得られており、「リスクあり」か「リスクなし」かという最も重要な2値分類は高い精度で達成できていることが確認された。

特に注目すべき点は、本手法がワードリストに依存しない特徴学習を実現していることである。以下の2つの例がそれを示している。

【例1:ワードリストに語がないのに「リスクあり」と正しく判定した例】

(略)損益の状況〈連結決算の概況〉平成29年3月期第四半期決算総括①実質業務純益〈1〉は、連結子会社からの利益寄与が増加した一方、単体の資金関連利益の減少等により、前年同期比205億円減益(略)

この文書には表1のワードリストに掲載されている語は含まれていないが、「減益」「資金関連利益の減少」といった類似する意味を持つ単語のベクトル的近接性を捉えてリスクありと判定できた。Doc2VecによるWikipediaの事前学習が、語彙の幅を広げて汎化性能に寄与したと考えられる。

【例2:リスクワードを含むのに「リスクなし」と正しく判定した例】

平成28年1月5日にノースカロライナ州ナッシュ郡ロッキーマウントのゲートウェイブルバード200に位置するホテルで発生した火災に関して、(略)今後の見通し:本件和解金は損害保険により支払われるため、当社には財務上の負担はなく、平成30年3月期連結業績への影響はありません。

この文書には「火災」という語が含まれているにも関わらず、「損害保険により支払われるため財務上の負担なし」「業績への影響なし」という文脈を捉え、「リスクなし」と正しく判定している。単純なキーワード照合では誤判定してしまうケースを、文書全体の意味ベクトルを学習することで正しく処理できたことを示している。

以上のように、ワードリストの単語による単純な抽出では得られないような文書の意味的特徴を、深層学習によって学習・判定することができていることが確認された。

適時開示情報テキストをAIが自動分類するイメージ
適時開示情報テキストをAIが自動分類するイメージ

むすびと今後の展望

本研究では、深層学習によって適時開示情報を「特別損失」「違反」「その他」「リスクなし」の4種類に分類する手法を提案し、全体精度87.4%を達成した。また、ワードリストの単語の有無に関わらず文書の特徴を学習できていることが確認された。

実際の業務への適用を考える際、「リスクあり」である適時開示情報を「リスクなし」と誤判定すること(見逃し)も、「リスクなし」であるものを「リスクあり」と誤判定すること(誤報)も、ともに大きな問題となる。この観点から、リスク有無の2値分類精度(「リスクなし」で89.4%)を高く維持できたことは、実務応用の観点で特に重要な成果といえる。

今後の実務への応用を考慮すると、判別されたリスクが当該企業以外に波及する二次リスクを同時に把握することが求められる。具体的には、ある企業の適時開示情報でリスクが検知された際に、その企業と取引関係・資本関係・競業関係等にある関連先企業を、その関係性の強さとともに自動抽出できる仕組みがあれば、投資家にとってより実用的なシステムとなる。例えば、主要仕入先が営業停止処分を受けた場合、それが取引先企業のサプライチェーンに与える影響も同時に把握できるようになることが期待される。

参考文献

[1] 酒井浩之,西沢裕子,松並祥吾,坂地泰紀, “企業の決算短信PDFからの業績要因の抽出”, 人工知能学会論文誌, vol.30, no.1, pp.172-182, 2015.
[2] 坂地泰紀,酒井浩之,増山繁, “決算短信PDFからの原因・結果表現の抽出”, 電子情報通信学会論文誌D, vol.J98-D, no.5, pp.811-822, 2015.
[3] Shiori Kitamori, Hiroyuki Sakai, Hiroki Sakaji, “Extraction of sentences concerning business performance forecast and economic forecast from summaries of financial statements by deep learning”, IEEE Symposium on Computational Intelligence for Financial Engineering & Economics (IEEE CIFEr’17), Hawaii, November, 2017.
[4] 酒井浩之, 松下和暉, “決算短信からの業績要因文の抽出”, 第11回テキストアナリティクス・シンポジウム, pp.87-91, 2017.
[5] Hiroki Sakaji, Risa Murono, Hiroyuki Sakai, Jason Bennett, Kiyoshi Izumi, “Discovery of Rare Causal Knowledge from Financial Statement Summaries”, IEEE Symposium on Computational Intelligence for Financial Engineering & Economics (IEEE CIFEr’17), Hawaii, November, 2017.
[6] TDnet 適時開示情報閲覧サービス, 2018年アクセス: https://www.release.tdnet.info/inbs/I_main_00.html

まとめ

人工知能学会 金融情報学研究会 第21回では、金融×AIの異なる2つのアプローチが発表された。第一の研究「為替情報の幾何的特徴を用いた売買アルゴリズム」では、点群処理ネットワークPointNet++を転用して為替データの幾何的構造を学習するという新規性の高い試みが行われた。次元削減にt-SNEを用いた場合のみ5 pipsシミュレーションで黒字となり、非線形な情報保持の優位性が示唆された。一方で過学習の問題が残り、為替データのランダム性の高さが課題として明確になった。第二の研究「適時開示情報のリスク自動判定」では、Doc2VecとChainerによるMLPを組み合わせた4クラス分類器が全体精度87.4%を達成した。特にワードリストに依存せずに文書の意味的特徴を学習できる点と、リスク有無の2値分類で89.4%という高精度を実現した点が実務応用上の大きな成果である。今後は関連企業への波及リスクの自動把握など、さらなる発展が期待される。

AIブログ購読

 
クリスタルメソッドがお届けする
AIブログの更新通知を受け取る

Study about AI

AIについて学ぶ

  • Claude Code 公式ドキュメント完全読解ガイド|導入判断から運用まで

    Claude Code 公式ドキュメント完全読解ガイド|導入判断から運用まで

    監修 河合 継(クリスタルメソッド株式会社 代表取締役) AI・ディープラーニングに関する特許16件の発明者。国立がん研究センターとの共同研究や、テレビ番組での...

  • Claude Code ベストプラクティス完全解説|実装現場で使える設計指針2026

    Claude Code ベストプラクティス完全解説|実装現場で使える設計指針2026

    監修 河合 継(クリスタルメソッド株式会社 代表取締役) AI・ディープラーニングに関する特許16件の発明者。国立がん研究センターとの共同研究や、テレビ番組での...

  • Claude Code 自動化の実装ガイド――設計・事例・セキュリティを徹底解説

    Claude Code 自動化の実装ガイド――設計・事例・セキュリティを徹底解説

    監修 河合 継(クリスタルメソッド株式会社 代表取締役) AI・ディープラーニングに関する特許16件の発明者。国立がん研究センターとの共同研究や、テレビ番組での...

View more