株式情報、株価、センチメントを取得するアプリを作成する  

Watson Discovery、Cloudant NoSQL DB、Node.js を利用して、個々の上場株に関するセンチメント、株価、ニュースをモニターする Web アプリを作成する

Description

投資の世界には、考慮しなければならない要素が多数あります。株価や収益といった通常のメトリックだけでなく、十分な情報に基づいた意思決定を行うためには、企業に関するセンチメントといった要素も考慮しなければなりません。このコード・パターンでは、Watson Discovery、Node.js、Cloudant NoSQL DB を利用して、投資の意思決定を行う際に役立つアプリを作成する方法を説明します。このアプリを参考に、自身のコーディング・プロジェクトを活性化させてください。

Overview

株式市場への投資は、考慮しなければならない多数のメトリックがあることから難しい判断になりがちです。株価、株価収益率、アルファ、株価純資産率、純現金収支などは、考慮しなければならない要素のほんの一部です。さらに、ニュース・ソースから得られる定性データもあります。つまり、肯定的ニュースか否定的ニュースかを基に企業の将来価値を見据えて、投資の意思決定を行うためのデータです。このような意思決定をサポートするには、Watson Discovery によって事前にエンリッチされたニュース・コレクションを使用して、さまざまな企業の状況を追跡するという方法があります。このコード・パターンに従えば、投資の候補として考えている企業を対象に、センチメント情報をモニターして表示したり、ニュース記事へのリンクを取得したり、株価の推移を追跡したりできる Web アプリを作成できます。

このコード・パターンでは、Blackrock Digital が提供しているオープンソースのブートストラップ・テンプレートを使用した Node.js Web アプリの作成方法を説明します。このアプリは Watson Discovery を利用して企業に関する情報を収集し、肯定的または否定的センチメントの分析結果を表示します。Alpha Vantage から収集する株価情報を含め、すべての情報は Cloudant NoSQL データベース内に保管されます。

このコード・パターンをひと通り完了すると、以下の方法がわかるようになります。

  • Watson Discovery News を利用する
  • 株式情報への Web インターフェースとなる Node.js アプリを作成する
  • Alpha Vantage が無料で提供している API を使用して株式情報にアクセスする
  • Cloudant NoSQL データベース内に情報を保管し、そこから情報を取得する

Flow

  1. Web UI を使用して株式を追加および削除します。
  2. アプリが入力を処理してバックエンド・サーバーにルーティングします。
  3. バックエンド・サーバーが株式情報を Cloudant NoSQL データベース内に保管します。
  4. バックエンド・サーバーは Watson Discovery を利用して、特定の企業に関する情報を見つけます。
  5. Watson Discovery は Watson News Collection に対してクエリーを実行し、企業に関連するニュース記事を検出します。
  6. 特定の企業の市場価格を調べるために、Alpha Vantage API に対するクエリーが実行されます。
  7. Web アプリにニュース、センチメント、株価が返されて、そのすべてがレンダリングされます。

Instructions

このパターンの詳細な手順については、README を参照してください。手順の概要は以下のとおりです。

  1. watson-stock-advisor リポジトリーを複製します。
  2. IBM Cloud サービスを作成します。
  3. Watson Discovery を構成して資格情報を取得します。
  4. Cloudant NoSQL データベースをプロビジョニングして資格情報を取得します。
  5. IBM Cloud 資格情報を .env ファイルに追加します。
  6. アプリケーションを実行します。

Related Blogs

IBM Developer へようこそ

Angel DiazIBM VP Developer Technology & Advocacy 新しい IBM Developer へようこそ! 私たちはこの新しいプロジェクトに大いに張り切っていますが、まずは皆さんについて、つまり開発者についてお話ししたいと思います。 私は開発者である皆さんを称賛します。 私自身も開発者として、この業界で起きていること、つまりクラウド、データ/アナリティクス、人工知能、トランザクション、ブロックチェーンのコンバージェンスを目にしていますが、開発者の皆さんの、文字どおりすぐに新しいテクノロジーに対応する能力に心から敬服します。 これまでの歴史全体を通して、ソフトウェア開発者という職業を、今ほど誇らしく思える時代はありません。 IBM での私たちの使命は、開発者という専門的職業を、世界で最も尊敬すべき、最も需要の高い職業として受け止められるようにすることです。 なぜなら、開発者は毎日、未来を築いているからです。 このサイトは、皆さんと一緒に築いていきたい未来を映し出し、讃えるためのものです。 私たちのチームは、開発者のアドボケイト (支持者)、デザイナー、コンテンツ編集者で構成されています。 この有能なチームが、必要なツールを確実に開発者に提供できるよう、全力を尽くします。 間違いなく、このサイトは皆さんのサイトです。 私たちは開発者の価値観を反映するために、コード、コンテンツ、コミュニティーからなる IBM Developer サイトを立ち上げました。 私たちがこのサイトで目標としているのは、皆さんが開発者としての責務をより迅速に、よりスマートに、より効果的に果たせるよう支援することに尽きます。 この目標を達成する IBM Developer ならではの手段として、コード、コンテンツ、コミュニティーを 1 つのエンティティーにまとめています。 コード 開発者の能力は、開発者が世に送り出すコードにそのまま反映されます。 開発者の能力がコードの威力を超えることはありません。 だからこそ、開発者が非の打ちどころのない美しいコードをより迅速に作成し、競争相手よりも迅速にコードをデプロイして市場に送り出せるようサポートすることが、私たちの任務だと思っているのです。 ただそれだけです。 IBM Developer を開始するきっかけとなったのは、開発者にフォーカスしたサイトを作成したらどうだろうかというアイデアです。そのサイトでコードを前面に押し出し、実際の問題を解決することを重点に置き、開発者がその責務をより迅速に、よりスマートに、より効果的に果たすために利用できるようにするには、どこから始めればよいだろうか考えました。 答えは明白です。コードが出発点となります。 開発者の目標は、開発者自身と同じく、それぞれに異なります。意図も、情熱も、才能もそれぞれに異なる開発者が取り組むプロジェクトは、とんでもなくシンプルなものから気が遠くなるほどに複雑なものまで、多岐にわたります。 独自のアプリケーションを開発して数分で稼働できるよう開発者をサポートするためには、すぐに使えるコードを用意し、開発者が簡単にそれを入手してフォークし、本番アプリケーションに組み込めなければなりません。単純にとらえ過ぎていると思われるかもしれませんが、文字どおり単純な話なのです。そして、コードをすぐに利用できるようにする手段となるのが、私たちが作成するコンテンツです。 コンテンツ 開発者が利用するコンテンツについてと、そうしたコンテンツをどのような方法で利用したいかについて、開発者たちとかなりの時間をかけて話し合いました。その結果、クラウド、データ、AI、ブロックチェーンなどのテクノロジーを使用して特定の機能をアプリケーションに統合する方法を垣間見られる、数百のコード・パターンを作成することになりました。どのパターンをクリックしても、最初に表示されるのは、コードを取得するための「コードを入手する」ボタンです。このボタンをクリックしてコードを取得し、開発を始めることができます。 コード・パターンはこのサイトの特徴的なコンテンツですが、その一方で、皆さんは特定のテクノロジーを使用して特定のタスクに取り組む方法について理解するためのチュートリアルもお望みのはずです。そこで、コンテキストを説明し、最先端のテクノロジーに関する理解を広げる、SME による数々の記事も用意しています。また、IBM Developer 動画デモでは特定のテクノロジーを使用する手順を案内し、インタビューでは最新の傾向に対する業界トップの見解を紹介しています。さらに、ニュース・セクションでは、テクノロジー分野での最新の動向に関する洞察を得ることができます。 テクノロジー分野といえば、IBM Developer の寄稿者たちがフォーカスしている主なテクノロジー分野は 20...

続けて読む IBM Developer へようこそ

Call for Code Challenge 2018(9/28応募締切!)- まずは参加登録して、自然災害に役立つ IBM Cloud のサービスに触れてみよう

みなさまこんにちは! 年々、テレビのニュースや新聞を見て、異常気象による集中豪雨や猛暑が各地で発生していると感じている方は多いのではないでしょうか。自然災害による甚大な被害をもたらしているのは日本だけではありません。「自然災害」は、今、世界が立ち向かうべき最も大きな試練となっています。 IBMは、2018年5月24日、パートナー団体と共に「Call for Code」をいう取り組みを発表し、世界中のデベロッパーが最新の技術を駆使して、コードで世界にポジティブな変化を与える支援をはじめました。 2018年の Call for Code チャレンジでは、「自然災害」をテーマに自然災害を打ち破り、地域社会や自然災害対策を強化を目指し、IBM Cloud サービスを活用したソリューションを構築するコンペティッションを開催します。18歳以上の個人または最大5名までのチームで参加することができます。優勝チームには USD200,000 (2,200万円相当) が贈られます。 これを機に皆さんにも「Call for Code」にご参加いただき、クラウド、データ、AI、ブロックチェーンを活用するためのIBMのテクノロジーにも触れていただければと思います。詳しくはサイトをご覧ください。 Call for Code(日本語サイト) Call for Code への参加するまでの手引き(日本語解説資料) IBM Code Patterns : Watson を活用した AI やクラウドなどのアプリ開発に役立つサンプルコードを提供

続けて読む Call for Code Challenge 2018(9/28応募締切!)- まずは参加登録して、自然災害に役立つ IBM Cloud のサービスに触れてみよう

Related Links

Watson Discovery

Unlock hidden value in data to find answers, monitor trends, and surface patterns.

With Watson

Want to take your Watson app to the next level? Looking to utilize Watson Brand assets? Join the With Watson program to leverage exclusive brand, marketing, and tech resources to amplify and accelerate your Watson embedded commercial solution.

ETF strategist

The IBM Watson artificial intelligence platform has been hired to help pick stocks for a new ETF.