太陽がまぶしかったから

C'etait a cause du soleil.

Real-Time Google Finance API で Google Spread Sheet に株価を取得

f:id:bulldra:20171009120158j:plain

日本株に使えない株価取得API

 投資信託への気絶投資は別に小型バリュー株の積立をやっているのだけど、総合的な配当利回りを把握する手段がなくて難儀していた。過去にあった Yahoo!や Google のエンドユーザー向けAPIは廃止されており、その他のサービスもアカウントのアクティベーションなども必要となる。

f:id:bulldra:20171009115213j:plain

 Google Spread Sheet 内の GOOGLEFINANCE 関数でさえ日本株データへのアクセス権限が剥奪されている。

 それで、しらべていたらGoogle Financeで利用しているAPIをそのまま使う方法が載っていた。非公式ではあるのが暫定的には使えるか。配当額や優待など、株価以外の変数はそう頻繁には変わらないので、最新の株価さえ取得できれば便利。

Real-Time Google Finance APIの利用方法

 細かい使い方はリンク先のサイトを確認してもらえばよいのだけど、とりあえず欲しいのは前日の終値であれば、以下のリクエストURLで取得することができる。

https://finance.google.com/finance/getprices?x=TYO&p=1d&f=c&q={銘柄コード}

 レスポンスデータは下記の通り。

EXCHANGE%3DTYO
MARKET_OPEN_MINUTE=540
MARKET_CLOSE_MINUTE=900
INTERVAL=86400
COLUMNS=CLOSE
DATA_SESSIONS=[MORNING,540,690],[AFTERNOON,750,900]
DATA=
TIMEZONE_OFFSET=540
912

 欲しいデータは9行目の株価であるため、Google Spread Sheet の IMPORTDATA 関数でレスポンスを取得してからINDEX関数で絞り込む。

=INDEX(IMPORTDATA("https://finance.google.com/finance/getprices?x=TYO&p=1d&f=c&q="&A2),9,1)

利回り重視の投資がしたい

 最新の株価が取得できればスクリーニングした株について予想配当・株主優待の額面金額・貸株金利を入れていけば総合的な利回りが算出できる。

f:id:bulldra:20171009120520p:plain

 配当利回り5%は非常にめずらしいが、株主優待と貸株金利を考慮すればごろごろといるのが現状。証券システムにも個々の要素で検索・スクリーニングする機能はあるのだけど、小型バリュー株の合計利回りで比較しようとすると意外に面倒だったのでお手製のシートをつくって管理している。そんなわけで総合利回り重視のポートフォリオを組みたいなと。