![見出し画像](https://assets.st-note.com/production/uploads/images/141165003/rectangle_large_type_2_d8c90dc1ce583fd41114508bf476ae52.png?width=1200)
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列)に保有資産を書いておきます。
![](https://assets.st-note.com/img/1716117205447-ROg6lkldeg.png?width=1200)
機能① Webから金融商品の現在価格など)を取得
実行ボタンを押すと、金融商品の情報(現在価格など)がシート(E~U列)へ書き出されます。
![](https://assets.st-note.com/img/1716117370197-tUi8FJTyik.png?width=1200)
A列に書かれた文字が「銘柄コード(ティッカーシンボル)」か否かを自動的に判別し、該当する場合は同じ行に取得情報を書き出します。
株価情報の情報源は、YH Finance API(米国版ヤフー)です。
取得する項目は「市場」「通貨」「前日終値」「現在価格」「200日平均」「52週最低-最高」「日次取引量」「各種EPS」「各種P/E比」。
中長期投資や資産管理する人向けに作ったので、リバランスや売買時期の判断に活用してください。
YH Finance APIの無料利用枠は「APIコール100回/日迄」です。1回のAPIコールで10銘柄まで情報取得できるので、1日最大1000銘柄分まで無料取得できます。
機能② 値動きをLINE通知する
手元のスマートフォン等へLINEのプッシュ通知を送ります。例えば、保有している資産が10%値下りしたらアラートを出すよう設定すると…
![](https://assets.st-note.com/img/1716117580313-nwJt76Dpqi.png?width=1200)
![](https://assets.st-note.com/img/1716117706412-wn55TZUORU.png?width=1200)
こんな感じで通知を受け取れます。
設定条件次第では、利益確定/損切の見極めにも使えます。
LINE Messaging APIの無料利用枠は「メッセージ通数200通/月迄」です。
単純計算で200÷31日=1日あたり6.4通の送信ができます。
処理の様子(処理スピードは通信状況にも依ります。)
※ここでは一画面で分かる様に、PC版LINEからバナー通知を出しています。
機能③ 総資産額の集計表を作成
総資産額をシート「集計表」へ書き出します。
ドル建て資産は、現在の為替レートで円換算してから勘定します。
マクロ実行毎に集計結果を左詰めで挿入していくため、以前の集計結果と比較することで総資産額の推移を確認できます。
![](https://assets.st-note.com/img/1716117755426-vnIDLIskT4.png?width=1200)
ついでに、金融商品ごとのリバランスをしやすい様に、円グラフで資産ポートフォリオも作成。
なお、現在の為替レートを取得するため、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ファイル)がこちら。
ここから先は
¥ 500
この記事が気に入ったらサポートをしてみませんか?