見出し画像

マーケットスピード2のRSSで出来高のない銘柄の現在値を表示させたい

私は2000年に株を始めてから、エクセルで管理してますが、楽天証券のマーケットスピード(MARKETSPEED)のRSSが出てから、株価が自動で入力出来、とても重宝しています。
パソコンを買い替えたついでにマーケットスピード2(MARKETSPEED II)に移行したのですが、資産総額が証券外社と一致しない事態が発生しました。

しかたなく一銘柄一銘柄チェックすると、高見澤(5283)の株価が「0」になってることが判明。原因は容易に想像つき、超絶過疎銘柄なので出来高0で取引成立しない日があるわけですね。そうすると
=@RssMarket(証券コード,"現在値")
で現在値を引っ張ってこれず、「0」になってしまう。マーケットスピード1の仕様だと、おそらく直近の終値をもってきてるのですが、マーケットスピード2で劣化してる訳です。

これは不便なのでなんとか出来ないものかとAPI仕様書を見てみる。

マーケットスピードⅡ RSS 関数一覧 (marketspeed.jp)

最初目に入ったのは「29:時価総額」。発行済株式数で割れば株価は取れるがスマートじゃない。しかも百万円単位だし。
次に目に入ったのが「138:当日基準値」。直近の終値だね。これが欲しかった値。

ということで、以下のようなIF文で式を組んで、売買不成立銘柄の株価を得ることが出来た。

=IF( @RssMarket(証券コード,"現在値")=0, @RssMarket(証券コード,"当日基準値"), @RssMarket(証券コード,"現在値"))

同じ式を繰り返したくなくて、Microsoft365を使ってる人はLET関数を使うとやや長いが、処理は軽くなるはず。
=LET(現在値,@RssMarket(証券コード,"現在値"),当日基準値,@RssMarket(証券コード,"当日基準値"),IF(現在値=0,当日基準値,現在値))

当日、市場が開く前とか、開いた直後でまだ売買成立してない時など使えるんじゃないかな。

ところで楽天証券さん、これいわゆるデグレだよね?直して欲しいな。

いいなと思ったら応援しよう!