(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Linux】東証が取引日なのか休みだったのかを判定するスクリプト

スポンサーリンク

はじめに

その日に東京証券取引所で取引があるのか否かではなく、その日に取引があったのかどうかを15時以降に確認するスクリプトを作成しました。
使用例はピンポイントですが、例えば指定した株の終値を自動収集するスクリプトを動かすか否かの判定などに利用できます。

環境情報
Debian GNU/Linux 9

スクリプトコード

#!/bin/bash
curl https://minkabu.jp/stock/100000018 2>/dev/null | grep '株価<span class="fsm">' | grep -v "/[0-9]" | wc -l

取引日の場合は

1

取引日ではない場合は

0

が標準出力されます。

以下、解説です。

解説

取引日の判定には「みんなの株式」の「日経平均株価の株価情報TOP」を利用しました。

このページの中に以下のような日付が入った箇所があります。

                  <h2 class="stock_label fsl">
                    株価<span class="fsm">(07/22)</span>
                  </h2>

これは値に更新があった日付を指しており、その日に市場が開いていればその日の日付が入っています。

つまり株価(mm/dd)という文字列の有無で休日判定が可能です。
取引日の場合は以下のように時刻が記載されています。

株価<span class="fsm">(15:15)</span>

条件分岐まで書けば以下のようになります。

#!/bin/bash
a=`date +%m/%d`
b=`curl https://minkabu.jp/stock/100000018 2>/dev/null | grep '株価<span class="fsm">' | grep -v "/[0-9]" | wc -l`
if [ $b -eq 1 ]; then
  echo 'Open'
else
  echo 'Close'
fi

終わりに

祝日判定のスクリプトは巷にありますが、東証の稼働日か否かを判定するスクリプトは見当たらなかったのでメモに残しておきます。ご参考になれば幸いです。