はじめに
Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率について解説し、Pythonでどのように算出するのか?について解説します。

ファイナンスでは、対数利益率の計算は、もっとも基礎の内容なのでしっかりと抑えましょう。
対数利益率とは?
対数利益率は、以下の式で算出される割合を表します。
- Pt:t日の株価
- Pt-1:t-1日の株価

Pythonで対数利益率を計算
開発環境
今回は、Jupyter Notebookで計算をしていきます。Jupyter Notebookのインストール方法等がわからない方は、こちらを参考にしてみてください。Anacondaをインストールすることで、Jupyter Notebookも合わせてインストールすることが可能です。
コード
ライブラリのインポート
pandas_datareaderだけは、Anacondaには含まれていないので、こちらは、別途インストールしてください。
インストール方法は、以下のコマンドを入力することで可能です。
- Mac:ターミナル
- Windows:コマンドプロンプト
pip install pandas_datareader
インストール後以下を、Jupyter Notebookで入力します。
import numpy as np
from pandas_datareader import data as wb
import matplotlib.pyplot as plt
株価の取得
今回は、googleの株価を取得し、対数利益率を求めていきます。
GOOG = wb.DataReader('GOOG', data_source='yahoo', start='1995-1-1')
GOOG
このコードにより1995年1月1日からのGoogleの株価を取得可能です。’GOOG’がgoogleを指します。
- pandas_datareaderで、簡単に株価を取得できる
実行結果は以下です。

それぞれのカラムは以下を指します。
- High:高値
- Low:安値
- Open:始値
- Close:終値
- Adj Close:調整後終値
1日ごとの対数利益率を算出
GOOG['log_return'] = np.log(GOOG['Adj Close'] / GOOG['Adj Close'].shift(1))
print (GOOG['log_return'])
実行結果は以下です。

- GOOG[‘Adj Close’].shift(1):1行ずらすことができる
- np.log(GOOG[‘Adj Close’] / GOOG[‘Adj Close’].shift(1))で1日あたりの対数利益率を算出できる
次に位置にあたりの対数利益率をプロットします。
GOOG['log_return'].plot(figsize=(8, 5))
plt.show()
出力結果は以下です。figsize=(8, 5)で横長のグラフサイズになるよう指定しています。


前回解説した投資利益率の計算結果に比べると少し数字(レンジ)が小さくなりましたね。
前回の記事は、こちらです。
1年あたりの利益率を算出
log_return_d = GOOG['log_return'].mean()
log_return_a = GOOG['log_return'].mean() * 250
print (str(round(log_returns_a, 5) * 100) + ' %')
1日あたりの投資利益率の平均値を算出し、それに250をかけると1年あたりの対数利益率になります。
ちなみに250というのは、年間を通して、株式市場が開いているおおよその日数を指します。正確な値ではないので注意しましょう。
最後の行は、小数点第5位を四捨五入して、100倍することで、百分率にして算出しています。
実行結果は以下です。
21.848 %

Googleへの投資は、対数利益率21.848%も見込めるのね。
まとめ
今回の記事では、対数利益率について解説し、Pythonでどのように算出するのか?について解説します。
Pythonを使えば、簡単に投資利益率を算出することができます。
- pandas_datareaderで、簡単に株価を取得可能
- np.log(GOOG[‘Adj Close’] / GOOG[‘Adj Close’].shift(1))で1日あたりの対数利益率を算出できる
Pythonをもっと勉強したいという方は、以下を参考にしてみてください。私が、勉強に使っている本や勉強方法などを解説しています。
今回の記事は、以上です。
最後までお読みいただきありがとうございました。
コメント
[…] 対数利益率の算出方法 […]
[…] 【Python】対数利益率の算出方法|ファイナンスの基礎Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率に […]
[…] 【Python】対数利益率の算出方法|ファイナンスの基礎Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率に […]
[…] 【Python】対数利益率の算出方法|ファイナンスの基礎Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率に […]
[…] 【Python】対数利益率の算出方法|ファイナンスの基礎Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率に […]
[…] 【Python】対数利益率の算出方法|ファイナンスの基礎Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率に […]
[…] 【Python】対数利益率の算出方法|ファイナンスの基礎Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率に […]