見出し画像

ExcelとLINEで作る、株価取得&アラート機能付き資産管理ツール

Webから現在の株価情報を無料取得して、取得単価との差(損失)が10%以上あった場合にLINE通知してくれるExcelツールを作りました。

ツールの機能は2つ。
機能① Webから株価情報を取得する。
   ・銘柄コードを元に株価情報を取得。
   ・情報源はYH Financial API。
機能② 損失が10%以上あればLINE通知する。
   ・取得した前日終値と、予めシートに書いた取得単価を比較。
   ・LINE Messaging APIを使ってプッシュ通知。

Excelとネット環境があれば使えます。ただし事前にAPIの利用登録(無料)が必要です。また無料で使える1日辺りの回数に上限があります。

今回は資産運用ネタです。プライベートの資産管理も広い意味では「休日の業務」と言えます。休日の業務効率化について考えてみました。


ツールの特徴

強み
・証券口座に関係なく一元管理できる
・Excel管理ゆえ自由度が高い
・国内外の株式,ETF,債券,為替,先物に対応
 (コードの微修正で柔軟に対応可)
・無料で利用できる

弱み
・1日の無料利用回数に制限がある
 (短期売買には不向きだが、中長期投資なら問題なし)
・API利用にあたり事前登録が必要
・非上場金融商品(投資信託など)には未対応

やはり最大のメリットは、資産を一元管理できることです。複数の証券口座でバラバラに買った銘柄も、国内外を問わず、全部まとめて1シートで管理できます。
証券会社毎に異なるアプリをいちいち開く手間が無くなりますし、一元管理しておかないと資産のリバランスの判断がしづらい(というか判断出来ない)ですよね。
そこらの怪しい管理アプリを使うのも情報漏洩が怖かったので、自分でExcel管理した方がよっぽど安心という事情もあり、自分のために資産管理表を作りました。

できること

冒頭で紹介した機能2つを紹介します。
まず、手入力欄(A〜D列)に保有資産を書いておきます。

こんな感じで、国内・海外銘柄を問わず保有資産を記載

機能① Webから株価情報を取得

実行ボタンを押すと、A列の銘柄コードを拾って株式情報を取得し、シート(E列以降)へ書き出します。

株価情報が更新された(E~U列の情報を更新)

A列に書かれた文字が「銘柄コード(ティッカーシンボル)」か否かは、ツール側で自動的に判別します。自動判別の結果、銘柄コートなら情報取得、それ以外(無関係な文字)なら無視して処理継続です。

株価情報の情報源は、YH Finance API(米国版ヤフー)です。
取得する項目は「市場」「通貨」「前日終値」「現在価格」「200日平均」「52週最低-最高」「日次取引量」「各種EPS」「各種P/E比」。
投機的な短期売買を繰り返す人(デイトレードやスキャルピング)には物足りないかもしれませんが、中長期売買(スイングトレードやポジショントレード)や資産管理が目的であれば問題ありません。リバランス(最適な資産配分のポートフォリオ調整)や売買タイミングの判断に活用して下さい。

機能①を使うためには、YH Finance APIの利用登録が必要です。(後述)
実はこれ、海外銘柄も広くカバーしていて無料で合法的に使えて便利なんですが、1日の無料利用のAPIコール100回/日迄という制約があります。
※1回のAPIコールで10銘柄まで情報取得できるので、1日最大1000銘柄分まで無料取得可能。

機能② 値動きをLINE通知する

手元のスマートフォン等へLINEのプッシュ通知を送ります。例えば、保有している資産が10%値下りしたらアラートを出すよう設定すると…

10%値下がりしている銘柄にチェックを付けて…
スマートフォンへLINEプッシュ通知を送信

こんな感じで通知を受け取れます。
設定条件次第では、利益確定/損切の見極めにも使えます。

機能②を使うためには、LINE Messaging APIの利用登録が必要です。
こちらも無料利用できる上限が決まっており、メッセージ通数200通/月という制約あり。
単純計算で200÷31日=1日あたり6.4通の送信ができます。

処理の様子(処理スピードは通信状況にも依ります。)

※ここでは一画面で分かる様に、PC版LINEからバナー通知を出しています。

処理の全体像

全体像はこちら。(よく分からない人は読み飛ばしてOK)
【概要】
・Windows API不使用(64bit/32bitマシンに依存しない)
・機能①の処理
 1.シート(A列)から、YH Finance APIコール用のパラメータを作成
 2.HTTPリクエストを作成・送信・レスポンス受信。
 3.レスポンスデータから必要情報を抽出し、シートへ貼付け。
・機能②の処理
 1.シート(F列)から、LINE Messaging APIコール用のパラメータを作成
 2.上記1を引数にしてHTTPリクエストを作成・送信。
【動作確認済み環境】
・Windows 11 Home (64bit)、Excel® 2021 (64bit)
・Windows 10 Home (64bit)、Excel® 2021 (32bit)

ソースコードとExcelファイル

まず、Excelファイル(.xlsmファイル)がこちら。

ここから先は

18,147字 / 7画像 / 1ファイル

¥ 500

この記事が気に入ったらサポートをしてみませんか?