米国株の銘柄分析に「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証券」。ARKKも可能】
IG証券
ARKK・ARKQなどのARKのETFを取り扱う国内証券はここだけ(CFD)
米国株、日本株、欧州株、ETF等のCFD:約12,000銘柄
世界の主要株価指数CFD:約40銘柄
金、原油など商品CFD:約70銘柄
通貨(FX):約100通貨ペア
ノックアウト・オプション
ロンドン取引所上場、世界23万人以上が利用、CFD世界No1
全部IG証券のCFDでワンストップ取引!

【(オススメ)下落局面でも利益を狙える株価指数CFD】
楽天CFD
レバレッジ:日米欧株価指数:10倍、商品:20倍
下落局面でも売りから入って利益を狙える
はじめてのCFDを楽天証券で
MT4自動売買も可能
取引手数料ゼロ
US30(ダウ平均)、US500(S&P500)、US100(ナスダック100)、JP225(日経平均)、UK100(英FT100)、GER30(独DAX30)、EU50(ユーロ50)
DMM CFDDMM CFD
レバレッジ:日米株価指数:10倍、商品:20倍
下落局面でも売りから入って利益を狙える
原則固定スプレッド
安心のDMMグループ
US30(ダウ平均)、US500(S&P500)、US100(ナスダック100)、JP225(日経平均)

【米国株の個別銘柄・ETFを取り扱う国内証券会社】
マネックス証券
銘柄数:4,000超
手数料:0.45%(税抜)下限0$~上限20$
特定口座対応
米国株専用スマホアプリTradeStation
為替手数料ゼロ(円貨決済での買付も適用)
銘柄スカウター米国株
NISA対応
楽天証券
銘柄数:4,000超
手数料:0.45%(税抜)下限0$~上限20$
特定口座対応
スマホiSPEED、マーケットスピード
特定ETF買付Feeゼロ
広瀬隆雄氏レポート・バロンズ要約
ドル・円決済選択可
NISA対応
SBI証券
銘柄数:4,000超
手数料:0.45%(税抜)下限0$~上限20$
特定口座対応
米国立会時間に注文可
逆指値注文可
定期的買付可
住信SBIネット銀行で入出金手数料無料
IPOスピードキャッチ
NISA対応
PayPay証券(旧OneTapBuy)
銘柄数:100超
手数料:基準価格x0.5%
2021年2月1日、One Tap BUYは「PayPay証券」へ
1,000円から米国の優良銘柄の株主に
操作はスマホ3タップだけ
誕生記念キャンペーン・キャッシュバック
BDCのARCC、MAIN取扱


【ビットコイン業者比較】
コインチェックCoincheck (コインチェック)
取扱銘柄16種類・国内No.1
取引手数料無料、マネックス運営
国内最強。初心者はまずココ
DMM BitcoinDMMビットコイン
レバレッジ取引可能!(4倍)
スマホアプリのチャート充実
安心のDMMグループ
GMOコイン
取引手数料無料
安心の東証一部
ビットコイン購入まで最短10分
bitFlyerbitFlyer (ビットフライヤー)
国内ビットコイン取引高No1
ユーザー数が多く相場が安定
スマホアプリでFX取引もOK
暗号資産CFDマネックスビットコイン
レバレッジ最大2倍
土日も含めて24時間365日取引可能
各種手数料0円
かんたんスマホアプリ

モトリーフール
米国株投資ガイド『米国株.com』
タイトルとURLをコピーしました