IG証券

【米国株.comへようこそ!】
ランキングと個別銘柄チャートの最終更新日は、2022年12月25日です。
コラム

米国株の銘柄分析に「RPA」ロボットを活用してみよう

米国株の銘柄分析に「RPA」ロボットを活用してみよう

米国株の銘柄分析をする場合に、Webサイトからデータを自動取得して、分析できれば有利ですね。
今回の記事は、RPA(Robotic Process Automation)のロボットを自作して、Webサイトから情報を全自動で取得、銘柄分析に活用できるようにまとめました。

サンプルとして、Yahoo Financeからデータを自動取得するロボットの作りかたを、ステップごとに細かく説明していきます。

RPAを習得すると、投資分析だけでなく、仕事の上でも何かと有利になります。
ぜひRPAを検討してみてください。

作業の全体の概要

まずサンプルの全体の概要を説明します。

最初の状態は、エクセルの下記の状態です。ファイル名は、「銘柄リスト.xlsx」です。
A1は列見出しで、見出し名は「ティッカー」です。


ここからRPAのUiPathが、今回の肝となる作業を行います。
UiPathで「Sheet1」のティッカー別にYahoo Financeの統計ページで情報を取得、ティッカー別に以下のようにシートを作成して、取得データを各シートに貼り付けます。
(このサンプルでは、銘柄が5つだけですが、銘柄数が100でも200でも同じで、ロボットが全自動でこの作業を行います。RPAの威力を実感できると思います。)


最後に「Sheet1」上で自由に集計・整形して完成です。(この作業はすぐ終わります。)

目次に戻る

 

具体的な作業の流れ

それではさっそくはじめましょう。
以下、UiPathのコミュニティ版(個人ユーザーは無料で利用できるライセンス)を前提にします。

UiPathコミュニティ版のダウンロードやインストールの説明は、省略します。このリンク先のサイトなどを参考にインストールしてください。特に難しい点はないです。

インストールして最初に立ち上げた状態は、以下のような感じです。


まず、作業の準備として、上部メニューの「パッケージを管理」にすすんでください。

「UiPath.Excel.Activities」と「UiPath.WebAPI.Activities」をインストールします。
(これは一度きりの作業です。慣れてくるとWord関係やメール関係なども将来的にインストールしますが、今回のサンプルではこの2つだけでOKです。)


なお、ブラウザでChromeをお使いの場合は、Chromeのエクステンションをインストールする必要があります。UiPathの「ツール」から、以下の赤枠にすすんでインストールしてください。

その後、Chromeの設定画面で、以下のようにエクテンションを有効化してください。


それでは作業を始めます。

上部メニューの「新規」から「フローチャート」を選んでください。
(「シーケンス」は単純な流れで、「フローチャート」は分岐などがある構造です。とりあえず「フローチャート」を選んでおけばOKです。)
名前は「米国株分析支援ロボット」にしました。場所はデフォルトでOKです。


以下のように表示されると、フローを作る準備が完了です。


それではフローを作っていきます。
左下の「アクティビティ」タブを選んでください。

アクティビティリストの中から、「Excelアプリケーションスコープ」を検索して、中央の作業エリアにドラッグ・ドロップします。

なお、よく使うアクティビティは、右クリックで「お気に入りに追加」しておくと、次から検索する手間が省けます。

次に、中央の「Excelアプリケーションスコープ」をダブルクリックで開いてください。
「銘柄リスト.xlsx」のパスを入力します。
(注:パスには必ず「”」(ダブルクオーテーション)を前後に付けてください。)


次に
1.「範囲を読み込み」アクティビティを中央の「実行」の+マークにドラッグ&ドロップします。
2.シート名は”Sheet1”、セル名は”A1″とします。
3.下側の変数設定ペインで、変数「銘柄リスト」、型を「DataTable」、スコープは実行のままで設定します。
4.右側のペインで、「ヘッダーの追加」にチェックを入れて、「データテーブル」の代入先を変数「銘柄リスト」とします。

次に、
1.「繰り返し(各行)」アクティビティを中央の「実行」の+マークにドラッグ&ドロップします。
2.「繰り返し」を「row」、「次のコレクション内の各要素」を「銘柄リスト」にします。
3.右側のペインで、「データテーブル」の対象を、変数「銘柄リスト」とします。
次に、
1.「ブラウザを開く」アクティビティを中央の「本体」の+マークにドロップ、
2.URL欄に、以下のように入力します。(ここは重要です。)
“https://finance.yahoo.com/quote/”+row(“ティッカー”).ToString+”/key-statistics?p=”+row(“ティッカー”).ToString
「row(“ティッカー”).ToString」は、銘柄リスト.xlsxのティッカー列の値を文字列に変えて代入する関数です。繰り返し(各行)のこの処理によって;
1回目は、「https://finance.yahoo.com/quote/GOOG/key-statistics?p=GOOG
2回目は、「https://finance.yahoo.com/quote/AAPL/key-statistics?p=AAPL
と順番にアクセスしていきます。

3.右側のペインで、ブラウザの種類を選択(クロームなどお使いのブラウザを選択)、エラー発生時に実行を継続を「True」にしてください。


「ウインドウを最大化」アクティビティを、「Do」の中の+マークにドラッグ&ドロップします。


次に、上部メニューの「データスクレイピング」を選択します。
なお、ブラウザで「https://finance.yahoo.com/quote/GOOG/key-statistics?p=GOOG」を開いておいてください。


抽出ウィザードの「次へ」をクリックします。


(ここは重要です。)
キーボードの「f2」を押すと、右下に3、2、1とカウントダウンが表示されます。
「f2」を押して、このカウントダウンが終わらないうちに、ブラウザでの「https://finance.yahoo.com/quote/GOOG/key-statistics?p=GOOG」をアクティベイトしてください。
カウントダウンが終わっても、再度「f2」を押すと、再度カウントダウンがはじまります。


青い領域がマウスの動きに応じて動きますので、下図のように、「Market Cap」のセルのような領域をクリックしてください。

下記のダイアログで、「Yes」をクリックします。

下記のプレビューデータで、「完了」をクリックします。

下記のダイアログで、「いいえ」をクリックします。


データスクレイピングの結果は、以下のように表示されます。
「構造化データを抽出 ‘TABLE’」をアクティベイトした後、「データスクレイピング」の上の「ウインドウの最大化」の下の領域にドラッグ&ドロップしてください(カット&ペーストでも可)。
「データスクレイピング」の枠は不要なので、削除してください。



次に、「構造化データを抽出 ‘TABLE’」について、
1.下の変数設定のエリアで、変数「Statistics」を設定、型はDataTable、スコープは実行のままとします。
2.右のエリアのデータテーブルの代入先を、変数「Statistics」にします。

次に、
1.「範囲に書き込み」アクティビティを、中央の「構造化データを抽出」の下にドロップ、
2.シート名を「row(“ティッカー”).ToString」を設定、開始セルは「”A1”」のまま、データテーブルに変数「Statistics」を設定します。


次に、
1.「データテーブルをクリア」アクティビティを、中央の「範囲に書き込み」の下にドロップします。
2.右側のエリアのデータテーブルを「Statistics」で設定します。
(次の銘柄の作業に進む前に、いったん変数Statisticsを空にします。)


次に、
1.「ホットキーを押下」アクティビティを、中央の「データテーブルをクリア」の下にドロップします。
2.「Ctrl」にチェックマークを入れて、キーに「W」を設定します。
3. 右側のエリアの特殊キーを「False」で設定します。
(次の銘柄の作業に進む前に、いったんブラウザを閉じます。)



以上で繰り返し処理は完了です。
最後に一番上の階層に戻って、「Start」と「Excelアプリケーションスコープ」をつなぎます。
(「Start」ボタンの右横付近にマウスを近づけるとコネクターが表示されますのでそれを「Excelアプリケーションスコープ」まで引っ張ってください。}

ここでいったんファイルを保存します。
(これまでの途中の作業でも、保存を繰り返した方が無難です。)

左上の「ファイルをデバッグ」をクリックします。
(実際は、なかなか1発で成功しないと思いますが、デバッグも徐々になれてきます。)


デバッグが成功すると、「銘柄リスト.xlsx」は以下の状態になります。
ここまでがUiPathの作業です。


最後に、「銘柄リスト.xlsx」の「Sheet1」に戻って、自由に集計・整形します。
複数シートの集計表は、「INDIRECT関数」が便利です。今回のサンプルに限らず、エクセルはVBAマクロや関数で自由に加工できる強みがあります。したがって、今回のサンプルでも、UiPathの作業の後にエクセル上で作業をして、UiPathとエクセルの両方の得意分野を生かすかたちとしました。

以上で完成です。

以上です。ここまで読んでいだたき、ありがとうございます。
この記事が米国株の銘柄分析作業の参考になれば、幸いです。


【(オススメ)グローバル投資戦略で最適な金融商品を選べる「IG証券」】IG証券
IG証券のメリット
日系証券の中で唯一、株価指数CFD・商品CFDの最小ロット「0.1」(これから株価指数CFD・商品CFD取引を始める場合、最小ロット「1」ではなく、最小ロット「0.1」をおすすめします。)
・日系証券の中で最も多い株価指数CFD・商品CFDの品揃え。グローバル分散投資に最適
・米国株価指数は、ダウ30、S&P500、ナスダック100、ラッセル2000、VIX指数、FANG指数(ラッセル2000を取引できるのは、日系証券ではIG証券とOANDAのみ)
・日系証券の中で唯一、24時間取引可能(いつでも決済取引が可能)
・世界の株価指数CFD:約40銘柄、株式CFD(米国株、米国ETF、欧州株、中国株、日本株等):約12,000銘柄、FX通貨ペア:101銘柄、金、原油、銅、コーンなど商品CFD:約70銘柄
・レバレッジあり、売りからも可能(信用取引と同様のトレード可能)
・リーズナブルな手数料・1株数百円~数千円から
・バイナリーオプション、ノックアウト・オプション
・ロンドン取引所上場、世界23万人以上が利用、CFD世界No1
・学習コンテンツ充実、新規口座開設キャンペーン(5万円キャッシュバック)
参考記事はこちら「株価指数CFD・商品CFDの取引は、どの証券会社を選ぶべきか?【徹底比較・2022年版】」
【(オススメ)最強のチャート分析ツールTradingView。活用方法は無限大!】

【(オススメ)グローバル分散投資に最適な江守氏のメルマガ。ヘッジファンドのノウハウを学んで投資スキルを高めよう!】

スポンサーリンク
米国株投資ガイド『米国株.com』
タイトルとURLをコピーしました