ネットネット株とは、企業の換金性の高い資産から、負債を引いた値が、時価総額よりも大きい銘柄のことです。PBRには、在庫やのれんなど、換金性の低い資産が含まれるため、これらの影響を除外して、安全側に寄せて考えることで、真の割安株を抽出することができます。

ネットネット株かどうかを判定するには、企業が公開しているバランスシートを使って、手動で計算する必要があります。しかし、東証は適時開示でXBRLを公開しているので、これを解析することで、バランスシートの分析を自動化することができます。

XBRLはzipファイルとなっており、展開すると、複数のhtmlファイルが出てきます。この中にある、bsというIDを持つファイルがバランスシートです。

XBRLにはタクソノミという定義があり、勘定項目ごとに、タグに設定するnameが規定されています。例えば、現金及び預金はjppfs_cor:CashAndDepositsです。これを利用して、htmlから正規表現で勘定項目の値を取得することができます。

今回は、以下のような正規表現を用いました。

it = re.finditer("<ix:.*contextRef=\"Current[a-zA-Z_]*\".*name=\""+item+"\".*?>([ 0-9,]+)<", line, re.DOTALL)

また、千円単位か、百万円単位かというのは、scaleという要素に設定されています。

it2 = re.finditer("scale=\"([0-9]+)\"", m.group(0), re.DOTALL)

これを使って、東証のXBRLを解析した例は以下です。

オリバー - 平成28年10月期 第2四半期決算短信〔日本基準〕(連結)

TDnetSearchでは、XBRLを含む決算短信に、ANALYZEリンクを表示します。これをクリックするだけで、バランスシートを読まずに、ネットネット株かどうかを判別することができます。pbrクエリである程度絞り込んだ後に、ネットネット株かどうかの分析をして確度を上げるのがオススメです。

今後は、四半期決算を蓄積したタイミングで、割安度ランキングを作成してみたいと思います。

---
2016/6/5追記
ネットネット倍率のランキングを計算できるBS Analyzerを公開しました。

2018/7/18追記
XBRLのパーサをオープンソース化しました。
abars/xbrl2bspl