- ニュースの良い悪いってFXにどれくらい影響するの?
- ニュースの良い悪いを使ってFXの値動きを予測できないの?
はじめに
今回、ニュースの感情分析(ネガポジ判定)と為替の変動の相関を分析してみました。ロイターニュースの内容をネガティブかポジティブか判定して、それが為替にどう影響するかを定量的に評価してます。
今回は為替ペアとして、日本円とイギリスポンドを選びました。理由は、1日の変動率が大きいと言われ、かつ、取引量も多いため手数料も安いからです。
感情分析とは?
文章の感情を判断することです。ポジティブな感情なのか、ネガティブな感情なのか、それともニュートラルなのかを判別してくれます。
今では様々な企業が感情分析APIを公開していて、テキストを送るだけで、文章のスコアが返ってくるような仕様になってます。
使ったもの
世界で最速と言われるロイターニュースを選んでいます。ロイターニュースの収集はNews APIを使いました。無料会員でも1ヶ月分のニュースを取得できて、なおかつニュースソースや検索ワードを指定できるのが魅力的です。
News APIについては、使い方も含めこちらで詳しく解説しているので、参考にしてみてください。
今回は、ロイターニュースの中で「Japan」と「UK」で検索をかけて、日本が登場するニュースとイギリスが登場するニュースに分けて抽出しています。
感情分析APIはGoogleの「Google Cloud Natural Language API」を使いました。理由は、GCP(Google Cloud Platform)無料枠でも十分まかなえると思ったのと、将来GCP使ってシステムトレード(自動売買)を構築する予定で都合がいいと思ったからです。また、後に解説しますが、エンティティ(一般名詞)ごとの感情スコアも出してくれるのが魅力的です。
https://cloud.google.com/natural-language?hl=ja
それでは、試しにこの「Google Cloud Natural Language API」を使って感情分析してみましょう。
今回は、「Mizuho Securities is constructive on Tesla (TSLA) and (NIO) ahead of the upcoming earnings reports 」というテキストを分析してみます。
(訳:みずほ証券はテスラとニオの次の決算に対して建設的な見方をしています。)

結果は上記のようになります。文章全体だとスコア:0.3、マグニチュード:0.3を獲得しています。
スコアについては、「-1」が最もネガティブ、「0」がニュートラル、「1」が最もポジティブになります。今回の結果は、まあまあポジティブと言えるでしょう。
マグニチュードについては、感情の大きさを表す指標で、「0~1」の値をとります。テキスト中にネガティブとポジティブが混在していた場合に、スコアは相殺される一方、マグニチュードは加算されていきます。
また、文章全体だけでなく、「みずほ証券」や「テスラ」などのエンティティ(一般名詞)に対してもネガティブかポジティブか判定されている点もGOODです。この一般名詞ごとのスコアを機械学習に説明変数として入れ込んで学習・予測させればもっと高精度なFXや株価予測ができるのではないかと思います。
ニューステキスト分析においてはロイターニュースの要約文(200字程度)のテキストをこの感情分析APIに送って、スコアとして受け取りました。
分析結果
・横軸:ある1時間に放たれた日本に関するロイターニュースのネガポジ判定
・縦軸:ある1時間に放たれたイギリスに関するロイターニュースのネガポジ判定
・カラーマップ:ある1時間の為替(1イギリスポンドあたりの日本円)変動率

注目すべきは、右下と左上の領域でしょうか。
右下では、ポジティブの日本ニュースが出ている一方、ネガティブのイギリスニュースが出ています。為替は「変わらず」の緑系のプロットが多い中で、「下がる」の青系のプロットが目立ちます。「下がる」とは、1イギリスポンドあたりの日本円が下がったことになるので、日本円の価値は上がっています。これはイメージ通りであり、妥当の結果が得られました。
また左上は、ネガティブな日本のニュースと、ポジティブなイギリスのニュースが同時に出ている領域です。こちらも「変わらず」の緑系のプロットが多い中で、今度は「上がる」の赤系のプロットが目立ちます。「上がる」=「イギリスポンドの価値が上がる」であり、こちらもイメージ通りで、ある程度妥当な結果が得られました。
まとめ
今回は、「1時間」の間に出たニュースの感情分析と為替の変動率の相関を調べましたが、時間間隔の設定には改良の余地はありそうです。実際、間隔10分にしてみるとより顕著な結果が出る一方、システムトレードを考慮すると、なかなか、グラフの右下と左上に現れるタイミングが無く、投資チャンスが減ってしまいます。
このあたりのちょうどいい感じの時間間隔を見つけたり、テキスト分析の方法を変更してみるなど、改良の余地はありそうです。