みなさんは株やクリプト、投資信託のポートフォリオや評価損益の管理をどうされていますでしょうか?本記事ではGoogle Spread Sheetを用いて資産運用の管理を自動化させる方法についてご紹介します。
本記事の最後には無料でスプレッドシートのテンプレートも公開しておりますので
- 米国株のポートフォリオ及び評価損益の管理
- 日本株のポートフォリオ及び評価損益の管理【コピペでOK】
- クリプトのポートフォリオ及び評価損益の管理
- 投資信託のポートフォリオ及び評価損益の管理【コピペでOK】
- GASで運用額や純資産の推移図の作成を自動化させる方法【コピペでOK】
- 無料でテンプレートを公開します。
- まとめ
米国株のポートフォリオ及び評価損益の管理
まず米国の個別株やETFなどのポートフォリオや評価損益がリアルタイムでわかるようにする方法をご説明いたします。
やり方は至って
=googlefinance(ティッカーシンボル)
※ティッカーシンボルとは欧米などで金融商品取引所に上場する銘柄を識別するために付けられるコードのことで、アルファベット1文字から4文字程度で表示されます。例えばTESLAはTSLAで、AppleはAAPLです。
Google Finance関数を用いれば米国株の株価は自動更新されますので手間なしで評価損益を把握することができます。但し最大20分の遅れがあるようなので注意は必要です。
公式ドキュメントはこちらより。
またETFについて詳しく知りたい方は下記の記事をご覧くださいませ。
日本株のポートフォリオ及び評価損益の管理【コピペでOK】
次に日本株や日本のETFなどのポートフォリオ及び評価損益の管理を自動化させる方法についてご説明します。
日本株に関しては、前項のGoogle Finance関数の対象外のためGoogle Apps Script(GAS)を用いて外部のサイトからデータを抽出する必要があります。
具体的なやり方としては、まず下記コードをGAS(Google Apps Script)にコピペします。
※GASに関しては、スプレッドシートを開いた時のトップ画面の上部の『拡張機能』ところから開けます。
- // 日本株を自動で取得するためのGAS
- function STOCKPRICEJP(code){
- let url = "https://www.google.com/finance/quote/" + code + ":TYO";
- let html = UrlFetchApp.fetch(url).getContentText();
- let stockPrice = Parser.data(html)
- .from("<div class=\"YMlKec fxKbKc\">")
- .to("</div>")
- .build();
- return stockPrice;
- }
次に、下記の関数をスプレッドシートのセルに入力して日本株の価格を取得します。
=VALUE(SUBSTITUTE(SUBSTITUTE((STOCKPRICEJP(ティッカーシンボル)), "¥", ""), ",", ""))
※ティッカーシンボルは日本株の場合、通常4ケタの数字で表示されます。例えばトヨタは7203で、『NEXT FUNDS 日経225連動型上場投信』は1321です。
以上で、日本株の株価をリアルタイムで取得することができますので、日本株の管理も自動化されました。
クリプトのポートフォリオ及び評価損益の管理
次に、ビットコイン(BTC)やイーサリアム(ETH)などのクリプトの株価を自動で取得するための方法を説明します。クリプトの種類によってやり方が2つに分かれます。
BTCとETHの2銘柄のみはGoogle Finance関数で抽出できます。
BTCとETHの2銘柄に関してのみGoogle Finance関数の対象内になりますので簡単に価格を取得できます。日本円換算の場合はBTCJPYと、米ドル換算の場合はBTCUSDと()内に入力します。
=googlefinance(BTCJPY)
ビットコインやイーサリアムに関して詳しく知りたい方は下記の記事をご覧くださいませ。
BTCとETH 以外の銘柄は、CoinMarketCapの無料APIを取得してGASを用いれば可能
BTCやETH以外のクリプトを保有されている方々は日本では稀かと存じますので、恐縮ですが本記事では割愛させて頂きます。
簡単に説明しますと、CoinMarketCapが提供している無料APIを取得して、そのAPIを取得するためのGASをかいて、オリジナルの関数を定義すれば可能です。
詳しくはこちらの記事をご覧くださいませ。
投資信託のポートフォリオ及び評価損益の管理【コピペでOK】
簡単に流れをご紹介します。
次に具体的にご説明します。
=SUBSTITUTE(IMPORTXML("https://www.nikkei.com/nkd/fund/?fcode=0331418A","/html/body/div[2]/div/div[7]/div/div/div/div[1]/div/div[3]/div[2]/dl[1]/dd"),"円","")
その後、日本経済新聞の公式ページにアクセスして頂き自動取得した投資信託のコードを取得します。下記画像では具体例としてeMAXIS Slim 米国株式(S&P500)のコード『03311187』(※左上の部分)を取得しております。
=SUBSTITUTE(IMPORTXML("https://www.nikkei.com/nkd/fund/?fcode=〜","/html/body/div[2]/div/div[7]/div/div/div/div[1]/div/div[3]/div[2]/dl[1]/dd"),"円","")
上記の関数を下記に置換。
=SUBSTITUTE(IMPORTXML("https://www.nikkei.com/nkd/fund/?fcode=03311187","/html/body/div[2]/div/div[7]/div/div/div/div[1]/div/div[3]/div[2]/dl[1]/dd"),"円","")
GASで運用額や純資産の推移図の作成を自動化させる方法【コピペでOK】
次に、株やクリプトなどの運用額の合計の推移図の作成を自動化させる方法を説明します。GASのコードをコピペするだけデイリーで自分の資産額を出力し上図のようなグラフを作ってくれます。
やり方としては、まずSUM関数で株やクリプトの合計額を算出します。
その後、下記のコードをGASでコピペします。但し下記コード内のM1と記載のある部分を運用額の合計が入力されているセルに変更してください。
- const setDataLastRow = () => {
- //シートを指定
- const sheet = SpreadsheetApp.getActiveSheet();
- //最終行を取得
- const lastRow = sheet.getLastRow();
- //今日の日付
- const today = new Date();
- //入力する内容
- const contents = sheet.getRange("M1").getValue()
- //スプレッドシートに入力するデータ
- const inputData = [today, contents];
- //入力する行
- const inputCell = sheet.getRange(lastRow + 1, 1, 1, inputData.length);
- //データの入力
- inputCell.setValues([inputData]);
- };
次に、GASのトリガー(左の時計マーク)を押して、トリガーを追加します。
 その後、実行する関数を先ほどのGASで作成した関数に設定します。これでGASで書かれたコードが毎日一定の時間なると自動でデプロイされるようになります。
そうすると下記のように毎日の運用額のログを出力してくれるのでこれをグラフ化すればOKです。※グラフの選択範囲はもちろんA列とB列の全体にしてください。(毎日行が増えるため) 
無料でテンプレートを公開します。
上記の関数やGASのコードを全て含んだ私のスプレッドシートのテンプレートを公開します。料金は結構ですので、私のブログ内の任意の広告をクリックだけして頂けますと嬉しいです。
ダウンロードののち、コピーしてご使用くださいませ。
まとめ
以上、本記事をまとめますと下記になります。
最後までお読みいただき誠にありがとうございました。本記事が投資を勉強する上で、参考になりましたら望外の喜びでございます。ブックマークへの追加やTwitterやネットでの拡散も大歓迎です。
引き続き何卒宜しくお願い致します。