rukbatの世界分散投資

30代後半のサラリーマンが国際分散投資で早期退職を目論むブログです。

Google Spreadsheetで資産管理 国内株式・投資信託編2

前回の方法ではできなかったひふみプラスの基準価額を取得する方法を紹介します。前回、少し触れたとおり、ひふみプラスのWebページでは、JavaScriptという技術が使われています。
rukbat.hateblo.jp

JavaScript

JavaScriptとは、簡単に言うとブラウザが実行するプログラムです。詳しくはWikipediaを参照してください。
wikipedia:JavaScript
ブラウザは、受信したhtmlファイルの中にJavaScriptがあると、それを実行して、その結果を埋め込んでページを表示します。ひふみプラスの基準価額は、この機能を利用して表示されています。一方、ブラウザのソースを表示する機能は、JavaScriptを実行して結果を埋め込む前の状態を表示するため、ソースには基準価額が記載されていなかったのです。
このようなWebページでは、JavaScriptで書かれたプログラムで他のファイルを開いて、そのファイルに記載されている情報を埋め込んで表示しています。つまり、JavaScriptで書かれたプログラムを読み解いて、基準価額が書かれているファイルを見つけ、そこから情報を取得すれば、自動で基準価額を取得できるようになります。
ただし、Google Spreadsheetの関数だけでこれを行うのは面倒なので、Google Apps Scriptで情報を取得する関数を作成しました。以下に公開しますので、ご自由にご利用ください。

基準価額取得関数

Scrape.txt - Google ドライブ

使い方

このファイルには、以下の関数が入っています。いずれの関数も、基準価額、前日比(金額)、前日比(%)、基準価額の日付という4つのデータを取得します。(例えば、B2セルに「=ImportHihumi("ひふみ投信")」と入力すると、B2、C2、D2、E2のそれぞれのセルに、基準価額、前日比(金額)、前日比(%)、基準価額の日付がそれぞれ入力されます。)

関数名 引数の意味
ImportHihumi(fundname) :fundname:"ひふみ投信"、"ひふみプラス"、"ひふみ年金"のいずれかを入力する。
情報を得たい投資信託の名前。
ImportNissay(fundcode) :fundcode:ニッセイアセットマネジメントのファンドコードを入力する。
ファンドコードは、各投資信託のWebページのソースから、「var var_fundcode = 'XXXXXX';」と書かれている行を見つけると、XXXXXXがファンドコード。
ニッセイ国内債券インデックスファンドの場合、121504になる。

他の運用会社の関数が欲しい場合は、コメント欄で依頼していただければ、やる気と暇があれば作ろうと思いますので、遠慮なくおっしゃってください。