Python

【Python】対数利益率の算出方法|ファイナンスの基礎

Python

はじめに

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

月見
月見

ファイナンスでは、対数利益率の計算は、もっとも基礎の内容なのでしっかりと抑えましょう。

対数利益率とは?

対数利益率は、以下の式で算出される割合を表します。

  • Pt:t日の株価
  • Pt-1:t-1日の株価
画像に alt 属性が指定されていません。ファイル名: image-222.png

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

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

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

コメント

  1. […] 対数利益率の算出方法 […]

  2. […] 【Python】対数利益率の算出方法|ファイナンスの基礎Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率に […]

  3. […] 【Python】対数利益率の算出方法|ファイナンスの基礎Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率に […]

  4. […] 【Python】対数利益率の算出方法|ファイナンスの基礎Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率に […]

  5. […] 【Python】対数利益率の算出方法|ファイナンスの基礎Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率に […]

  6. […] 【Python】対数利益率の算出方法|ファイナンスの基礎Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率に […]

  7. […] 【Python】対数利益率の算出方法|ファイナンスの基礎Pythonで株価などのファイナンスの分析の基礎について解説します。今回の記事では、ファイナンスの基礎の一つである対数利益率に […]

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