Python

【Python】資本資産評価モデル(CAPM)におけるベータについて|ファイナンス理論入門

Python

はじめに

資本資産評価モデル(CAPM)とは、リスクフリーアセット(リスクがゼロ)の存在を想定したモデルを指します。その資本資産評価モデル(CAPM)における主な評価指標の一つである、ベータ(β)について解説します。

月見
月見

βと聞くと・・・難しそうと感じる方もいるかと思いますが、実はそんなに難しくないですよ。
なるべくわかりやすく解説したいと思いますので、ぜひ参考にしてみてください。

ベータ(β)とは?

ベータ(β)とは、個別銘柄と市場ポートフォリオの関係を定量化するために用います
特に、ポートフォリオに組む銘柄によって得られる分散によって、防ぐことができないリスクを定量化することが可能なのです。

市場ポートフォリオとは、株式や債券など世界中のあらゆる市場にあるリスク資産を、それぞれの時価総額の比率に応じて、投資したと仮定したポートフォリオのことを指します。例えば、株式だけに絞った場合は、全ての株式を時価総額に応じて保有するということです。

市場ポートフォリオには安全資産リスク資産があります。この安全資産かリスク資産を分ける指標が、ベータとなります。

  • β<1:安全資産(ディフェンシブ)
  • 1<β:リスク資産(アグレッシブ)

ベータは以下の式で算出可能です。

  • σpg,m:市場ポートフォリオと求めたい銘柄との共分散
  • σm:市場ポートフォリオの標準偏差

安全資産

  • 市場ポートフォリオ(マーケット)が伸びる時は、市場ポートフォリオより低い利益率になる。
  • ただし、下落時のリスクも少ない。

リスク資産

  • 市場ポートフォリオ(マーケット)が伸びる時は、市場ポートフォリオより高い利益率になる。
  • ただし、下落時のリスクが大きい

では、個別銘柄のβの値をPythonを使って、算出していきましょう。

pythonによるベータの計算の実装

それでは、Pythonで実装していきます。

コード

ライブラリのインポート

pandas_datareaderだけは、Anacondaには含まれていないので、こちらは、別途インストールしてください。

インストール方法は、以下のコマンドを入力することで可能です。

  • Mac:ターミナル
  • Windows:コマンドプロンプト
pip install pandas_datareader

以下のライブラリをインポートします。

  • numpy
  • pandas
  • pandas_datareader
  • matplotlib
import numpy as np
import pandas as pd
from pandas_datareader import data as wb
import matplotlib.pyplot as plt
%matplotlib inline

株価の読み込み

今回は、以下2つの2015年から2020年までの株価を取得します。

  • KDDI
  • トピックス
import numpy as np
import pandas as pd
from pandas_datareader import data as wb

tickers = ['9433.jp', '^TPX']
data = pd.DataFrame()
for t in tickers:
    data[t] = wb.DataReader(t, data_source='stooq', start='2015-1-1', end='2020-12-31')['Close']   

二つの株価の可視化

data = data.iloc[::-1]
(data / data.iloc[0] * 100).plot(figsize=(10, 5))
月見
月見

今回は、stooqからスクレイピングしているんですが、データが逆転するんですよね・・・なので、data = data.iloc[::-1]でデータを反転しています。

実行結果は以下です。

KDDIの方がトピックスに比べて、リターンが大きいことがわかります。一方で、ベータはどうなのでしょうか?確認してみましょう。

対数利益率の計算

対数利益率が不明な方は、以下の記事を参考にしてみてください。

sec_returns = np.log( data / data.shift(1) )

共分散の計算

共分散が不明な方は、以下の記事を参考にしてみてください。

cov_with_market = cov.iloc[0,1]
cov_with_market

実行結果は以下です。

そして、^TPXと^TPXのセル0.36788はトピックスの分散を表します。

ベータの算出

よってベータは以下となります。

KDDI_beta = cov.iloc[0,1] / cov.iloc[1,1]
KDDI_beta

実行結果は、以下です。

  • 0.7608743056436845

つまり、KDDIはディフェンシブな銘柄と言えます。

まとめ

その資本資産評価モデル(CAPM)における主な評価指標の一つである、ベータ(β)について解説しました。

市場ポートフォリオには安全資産リスク資産があります。この安全資産かリスク資産を分ける指標が、ベータとなります。

ベータは以下の式で算出可能です。

  • σpg,m:市場ポートフォリオと求めたい銘柄との共分散
  • σm:市場ポートフォリオの標準偏差

Pythonをもっと勉強したいという方は、以下を参考にしてみてください。私が、勉強に使っている本や勉強方法などを解説しています。

ファイナンス理論に関しては、以下の記事を参照ください。

今回の記事は、以上です。

最後までお読みいただきありがとうございました。

コメント

  1. […] 資本資産評価モデル(CAPM)におけるベータについて […]

タイトルとURLをコピーしました