こんにちは太郎です。
2週間休みと仕事終わりを利用して、自動ポートフォリオ計算機を作ったので、その軌跡を記録しておきます。
はじめに
これまで毎週、楽天証券の保有資産画面から株価をコピペにて抽出し、週次報告のグラフを作っていました。3銘柄くらいならコピペや手打ちでもいいですが、私のポートフォリオは個別株が20銘柄以上あるので、毎週打ち込みは正直大変です。
そこで、株価を自動で取得してグラフまで全部作成してくれるシステムを作ってみました。
S&P500マップは超イケてる
作成するグラフの目標は、Youtubeでよく見る、Finviz.comのS&P500マップ(下図)です。
このグラフ、本当にかっこいい!!!
タイルのサイズが時価総額を、色の濃淡が1日の騰落率(上昇:緑、下落:赤)を表しています。どのセクタが注目されているかが、視覚的にわかりますよね。
このような銘柄、時価総額、騰落率の3次元を表現したグラフを、この記事では便宜的に「ツリーヒートマップ」と呼びます。
目標はS&P500マップですが、実際どうなるのか。
私はプログラミングの知識は皆無なので、完璧なものは作れませんが、悪しからず。
ツリーマップ、ヒートマップってなに?
ツリーマップ
数値の大きさを長方形の面積で表現した、石畳状のグラフ。面積での大小比較は円グラフや棒グラフでもできますが、グループごとにまとめることができるのはわかりやすいですよね。Excel2016からツリーマップが作成できますが、騰落率でタイルの自動色分けをすることができませんでした。
ヒートマップ
数値の大きさを色の濃淡で表現したグラフ。地図に人口や降水量の色を付けたグラフはニュースでよく目にします。
Excel2016では右のようにセルを自動で色分けするヒートマップは作成できます。
繰り返しになりますが、ツリーマップのタイルを自動で色分けをつけることはできませんでした。
エクセルでツリーヒートマップ作ったテンプレートを公開している先人もいらっしゃいますが、私にはここまでのクオリティのものは、できませんでした。
テンプレートを拝借するのが、楽チンですが、株価自動取得機能も付随させたいので、一から自分で作ってみることにしました。
【EXCELでヒートマップ】投資資産の増減率をヒートマップで可視化するツール │ おかねまみれ
エクセルではなくGoogleスプレッドシートを使う(無料)
前述の通り、Excal2016と私のプログラミング技術ではヒートマップ、ツリーマップは作れても、これらを複合させたものは作れませんので、Googleの表計算ソフト「スプレッドシート」を利用していきます。
具体的な過程としては、
①自動で株価取得をしてくれて、
②自動で色分けツリーヒートマップを作ってくれる
ものを作っていきます。
株価情報の自動取得
GOOGLEFINANCE関数
=GOOGLEFINANCE (ティッカーシンボル)
これで米国株と仮想通貨の価格を算出します。
グーグルのサポートサイトに使い方が書いてあります。
GOOGLEFINANCE – ドキュメント エディタ ヘルプ
ImportXML関数
=ImportXML(サイトURL,サイト内のXpath)
これで日本株の株価と、投資信託の基準価額を取得します。
rukbatさんの記事を参考にさせていただきました。ありがとうございます。
Google Spreadsheetで資産管理 国内株式・投資信託編1 – rukbatの世界分散投資
余談ですが、楽天証券のMarketSpeedが提供するRSSのアドインをExcelにいれれば、日本株の株価自動取得ができます。
リアルタイムスプレッドシート | マーケットスピードオンラインヘルプ
グラフ作成
以下のような、保有資産のグループ分けをして、グラフを作成。
ポートフォリオ
L日本株
I Lハードオフ、レーザーテックなど
L米国株
LApple、amazonなど
あるとむさんの記事を参考にさせていただきました。ありがとうございます。
【Googleスプレッドシート】ツリーマップとヒートマップによる保有銘柄比率と株価騰落率の可視化|あとるむの自由への道
完成
最後に売買振り返り
今週は半導体が伸びましたが、高配当株は権利落ちと共に下落しました。
特にハードオフは配当分以上に値下がりしており、25日移動平均を大きく割り込みました。
株の買い時さんの本に、業績の盤石なイチオシ企業を数社リストアップし温めて置き、上昇トレンドになったところでその波に乗る戦略が紹介されていました。
定番ですが、私の中のイチオシ銘柄レーザーテックが、上昇トレンド入りと判断し、調整後の反発13150円で入りました。こちらは伸びてくれました。
その後配当権利落ちで下がりすぎのハードオフを買い増ししましたが、さらに下落し含み損になっています。
コメント