Accessの活用例として株価データを蓄積し、これらデータから株価指標を計算するクエリを作成する方法をシリーズとして紹介しています。最終回である第5回目では、第4回目までにAccessへ取り込んだ株価情報を基に株価指標をクエリで算出する方法を紹介します。
なお、第4回目までのインポート設定については、以下の記事もご参考にしてください。
今回算出する株価指標としては、PERとPBRとします。
ここで、本サイトでは「投資」について紹介する目的ではなく、Accessのクエリでデータベース中の値を用いて計算処理をするための例として、株価指標の算出方法を紹介しています。投資について詳しく知りたい方は別途専門書などをご確認ください。
スポンサーリンク
株価指標について
クエリで株価指標を計算するにあたり、PERとPBRがどのように表されるかを確認しましょう。
まず、PERは「Price Earnings Ratio」の略で株価収益率のことを指します。PERは、株価が1株当たり純利益(すなわち、当期純利益を発行済株式数で割った値)の何倍の値段がつけられているかを判断するための指標であり、一般的には10倍~15倍に入っていると適正であり、これよりも低い値であれば割安と判断されます。
次に、PBRは「Price Book-value Ratio」の略で株価純資産倍率のことを指します。PBRは、株価が1株当たり純資産(すなわち、純資産(資本とも言います。)を発行済株式数で割った値)の何倍の値段がつけられているかを判断するための指標であり、一般的には1倍が適正であり、これよりも低い値であれば割安と判断されます。
これまでに株価データは取得してきましたが、PER(1株当たり純利益)とPBR(1株当たり純資産)を算出するために必要な「当期純利益」、「発行済株式数」及び「純資産」の情報はデータベースで保持していないため、これらを「T_銘柄」テーブルを作成し保持するようにします。
サンプルテーブルの作成
これまでに株価データを保持するための「T_株価」テーブルを作成してきましたが、これとは別に有価証券報告書等で公開される「当期純利益」、「発行済株式数」及び「純資産」を保持するためのテーブルとして、「T_銘柄」テーブルを作成します。
「T_銘柄」テーブルのフィールド名、データ型は表1に示すとおりです。
表1 「T_銘柄」テーブルのフィールド名、データ型及び単位の注意書き
フィールド名 | データ型 | 説明(オプション) |
コード | 数値型 | |
会社名 | 短いテキスト | |
発行済株式数 | 数値型 | 千株単位 |
当期純利益 | 数値型 | 百万円単位 |
純資産 | 数値型 | 百万円単位 |
続いて、作成した「T_銘柄」テーブルにサンプルデータを入力します。
先に作成している「T_株価」テーブルにはトヨタ自動車と日本電信電話の株価情報を登録していますので、これら企業からの開示情報を登録します。詳しくは表2のとおりです。
表2 「T_銘柄」テーブルに登録するサンプルデータ
コード | 会社名 | 発行済株式数 | 当期純利益 | 純資産 |
7203 | トヨタ自動車株式会社 | 16314987 | 2874614 | 27154820 |
9432 | 日本電信電話株式会社 | 3622013 | 1181083 | 9018132 |
なお、「発行済株式数」、「当期純利益」及び「純資産」は2022年度業績に基づいており、また、それぞれに入力する値は単位が千株単位、百万円単位として入力していることに注意してください。
クエリの作成
株価指標を計算するためのクエリを作成していきます。
図1に示すように「Q_株価指標」クエリを作成し、テーブルの追加で「T_株価」及び「T_銘柄」テーブルを追加し、それぞれを「企業コード」フィールドと「コード」フィールドでリレーションをします。
続いて、フィールド行に「PER」と「PBR」フィールドを追加します。
特にこれら株価指標は、上述のとおりの式で算出できることから、以下のように記載します。
なお、計算結果を小数点第1位までの表示とするため、「Round関数」を用いています。
「PER: Round([株価]/([当期純利益]*1000000/([発行済株式数]*1000)),1)」
「PBR: Round([株価]/([純資産]*1000000/([発行済株式数]*1000)),1)」
これでクエリが完成しましたので、早速データシートビューで計算結果を確認しましょう。
サンプルデータを用いると、図2に示す結果が得られます。
このようにして、株価指標を計算することができました。今回は、「PER」と「PBR」の指標のみの取り扱いとしましたが、クエリにフィールドを追加することで、様々な株価指標を算出することができるようになります。
また、今回の例では株価データが1企業に対して1レコードでしたが、Pythonによるデータ取得により「T_株価」テーブルにレコードが増えてくると、株価指標の時間推移を確認できるようになります。
つまり、一度クエリを作成しておけば、ルーチン処理として株価指標をチェックできるようになります。
まとめ
これまで5回のシリーズで、Pythonからのデータスクレイピング、Accessへのデータインポート、得られたデータから必要な情報を計算により算出するといった一連の処理をするためのデータベース構築方法を紹介してきました。
説明を平易にするため、簡単な内容での紹介に留めましたが、より複雑な処理についてもVBAで実装することで、ルーチン業務であればコマンドボタンをワンクリックするだけで処理が完遂できるようにすることも可能です。是非、今回紹介した内容を例に、業務効率の改善を図っていただけると幸いです。
Accessでデータベースを作成するにあたって、専門書も参考になりますので、お手元に用意されるといざというときに非常に便利です。
スポンサーリンク
コメント