見出し画像

ExcelとLINEで作る、資産運用ツール(株価取得&LINE通知&一元管理表)

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

ツールの機能は3つ。
機能① Webから株価情報を取得する。
   ・銘柄コードを元に株価情報を取得。
   ・情報源はYH Financial API。
機能② 損失が10%以上あればLINE通知する。
   ・取得した前日終値と、予めシートに書いた取得単価を比較。
   ・LINE Messaging APIを使ってプッシュ通知。
機能③ 総資産額の集計表と円グラフ(ポートフォリオ)を作成。
   ・ドル建て資産は、為替レートを元に円換算してから集計。
   ・為替レートの情報源はopen exchange rates API。

Excelとネット環境があれば使えます。APIは全て完全無料で使えますが、1日辺りのAPIコール回数に上限があります。また予めWeb上でAPI利用登録が必要です。
今回は資産運用ネタです。プライベートの資産管理(=休日の業務)について、効率化を考えてみました。


ツールの特徴

強み
・複数の証券口座や預金口座を一元管理できる
・複数の金融商品(国内外の株式,ETF,債券,為替,先物)を一元管理できる
・Excel管理ゆえ自由度が高い
・無料で利用できる

弱み
・1日の無料利用回数に制限がある(短期売買には不向き)
・API利用にあたり事前登録が必要
・非上場金融商品(投資信託など)の場合はひと手間必要(コード実装時)

やはり最大のメリットは、資産を安心して一元管理できることです。複数の証券口座でバラバラに買った銘柄も、全部まとめて1シートで管理できます。
証券会社毎に異なるアプリをいちいち開く手間が無くなりますし、一元管理しておかないと資産のリバランスの判断がしづらい(というか判断出来ない)ですよね。
世の中に出回っている無料の管理アプリも悪くないんですが、どこで情報漏洩が起きるか分からないし、証券会社のログインIDとパスワードを登録(連携)する気にはなれません。プライベートのお金に関することなのでExcelマクロで自己管理した方が精神衛生上良いと思い、このツールを作りました。
Excelマクロなら、VBAコードをちょこちょこ手直しすることも簡単ですね。

できること

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

【赤枠部】 こんな感じで、A~D列に保有資産を手入力

機能① Webから金融商品の現在価格など)を取得

実行ボタンを押すと、金融商品の情報(現在価格など)がシート(E~U列)へ書き出されます。

【赤枠部】 株価情報が更新される(E~U列の情報を更新)

A列に書かれた文字が「銘柄コード(ティッカーシンボル)」か否かを自動的に判別し、該当する場合は同じ行に取得情報を書き出します。

株価情報の情報源は、YH Finance API(米国版ヤフー)です。
取得する項目は「市場」「通貨」「前日終値」「現在価格」「200日平均」「52週最低-最高」「日次取引量」「各種EPS」「各種P/E比」。
中長期投資や資産管理する人向けに作ったので、リバランスや売買時期の判断に活用してください。
YH Finance APIの無料利用枠は「APIコール100回/日迄」です。1回のAPIコールで10銘柄まで情報取得できるので、1日最大1000銘柄分まで無料取得できます。

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

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

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

こんな感じで通知を受け取れます。
設定条件次第では、利益確定/損切の見極めにも使えます。
LINE Messaging APIの無料利用枠は「メッセージ通数200通/月迄」です。
単純計算で200÷31日=1日あたり6.4通の送信ができます。

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

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

機能③ 総資産額の集計表を作成

総資産額をシート「集計表」へ書き出します。
ドル建て資産は、現在の為替レートで円換算してから勘定します。
マクロ実行毎に集計結果を左詰めで挿入していくため、以前の集計結果と比較することで総資産額の推移を確認できます。

総資産額をシート「推移表」へ書き出す&円グラフ作成

ついでに、金融商品ごとのリバランスをしやすい様に、円グラフで資産ポートフォリオも作成。
なお、現在の為替レートを取得するため、open exchange rates APIを使います。無料利用枠は「APIコール1000回/月迄」です。

処理の全体像

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

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

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

ここから先は

29,441字 / 9画像 / 1ファイル

¥ 500

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