日経平均のチャートを対数価格で表示する

Python+金融 プロジェクト

そろそろN225のチャートは見飽きてきましたがもうちょっとだけN225の長期チャートで遊びます。

スポンサーリンク

対数価格とは?

500円の株が100円値上りするのと、1000円の株が100円値上りするのは、同じ値幅でもそれが持つ意味は異ります。

「1000円の株が100円上昇した」と「10000円の株が100円上昇した」の持つ意味が違うことはなんとなくわかりますよね。

じゃあ、株価の大きさに左右されない指標は何か?

すぐに思いつくのは、変化率を使って比較することです。株Aは20%上昇した、株Bは10%上昇した、というように比較するわけです。直感的なのでわかりやすそうな気がしますが、次のようなケースを考えてみます。

1000円の株が50%上昇して、50%下落して、50%上昇して、、、というのを続けた場合、価格は1000, 500, 750, 325, 487.5, 243.75 … というように、どんどん下落していきます。

ある日500円の株が100円値上りして、次の日に100円値下りしたとします。この場合、上昇した値幅と下落した値幅は同じですが、逆に変化率(騰落率)は異なってしまいます。

そこで出てくるのが対数価格です。

対数価格というのは、価格には依存せずに下落と上昇を対称に見せるための指数です。

ある日500円の株が100円値上りして、次の日に100円値下りした場合、対数価格の場合は上昇も下落も同じ数値になります。

日経平均を対数価格で表示する

numpy の log を使って、対数価格表示のグラフを表示してみます。

In [1]: import pandas as pd
In [2]: import pandas_datareader as web
In [3]: import matplotlib.pyplot as plt
In [4]: import numpy as np
In [5]: N225 = web.DataReader('NIKKEI225','fred','1949/5/16')
In [6]: lnN225=np.log(N225)
In [7]: lnN225.plot()
Out[7]: 
In [8]: plt.show()

日経平均と見比べてみると、だいぶ異なった印象を受けます。

※短期的には、対数収益率、変化率、価格差は近似的に等しくなります

スポンサーリンク

フォローする