見出し画像

Python で平成の株価を振り返る ダウとの日経平均の比較 (12倍と3割減)

Python で平成の株価を振り返ります。
平成は1989年1月7日にスタートし、2019年4月30日に終わります。
前回紹介した ”20行で資産運用モデル作成 [米国株の株価を取得し、グラフ・チャートを表示]” を少し改変して表示してみたいと思います。

対象にする銘柄は米国株の代表的な指標であるダウと日経平均株価です。
今回もGoogle Colaboratoryのpythonを使うことにより、無料で、簡単に解析を行うことにします。

Colaboratoryを使えば、Chromeブラウザ上で無料でPythonの実行環境を手に入れる ことができます。新規に費用をかけずにやりたいことである「株価データの取得と解析」ができるのでお勧めのツールになります。

前回同様、まずプログラム自体をご紹介します。

!pip install fix_yahoo_finance

import datetime
import fix_yahoo_finance as yf
import matplotlib.pyplot as plt

#start = datetime.date(2018,1,1)
#end = datetime.date.today()
#codelist = ["SPY","^N225","AMZN"]

HeiseiS="1989-1-7"
HeiseiE="2019-4-30"
codelist = ["^DJI","^N225"]

data2 = yf.download(codelist, start=HeiseiS, end=HeiseiE)["Adj Close"]
display(data2.head().append(data2.tail()))

df_all=(1+data2.pct_change()).cumprod()
display(df_all.head().append(df_all.tail()))

df_all.plot(figsize=(8,6),fontsize=18)
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)  

plt.grid(True)
plt.show()

前回との変更点は

#start = datetime.date(2018,1,1)
#end = datetime.date.today()
#codelist = ["SPY","^N225","AMZN"]

HeiseiS="1989-1-7"
HeiseiE="2019-4-30"
codelist = ["^DJI","^N225"]

ですね、、平成の始まりの日にちと、平成の終わり日にちを指定して、その区間のデータをYahooから入手することになります。
また銘柄はダウと、日経平均の二銘柄になります。
あと、 # で始まる行はPythonではコメントアウト行になりますので、プログラムでは参照されないようになります。

結果は以下の通りです。

ダウの強さが際立ちますね、、その位上昇したのか見てみましょう。

print("始値",str(data2["^DJI"][0])," / ",str(data2["^N225"][0]))
print("高値",str(data2["^DJI"].max())," / ",str(data2["^N225"].max()))
print("安値",str(data2["^DJI"].min())," / ",str(data2["^N225"].min()))
print("終値",str(data2["^DJI"][-1])," / ",str(data2["^N225"][-1]))か

結果は以下のようになると思います。(値は引け値でのもので、ザラバでの高安などはもう少し、違う値になります。)

始値 2199.459961 / 30678.390625
高値 26828.390625 / 38915.871094
安値 2193.209961 / 7054.97998
終値 26543.330078 / 22258.730469

ダウは2199から26543と12倍に、
日経平均は30678から22258と0.7倍ですね。

平成という時代が1990年から2010年までがどれほど苦しい時代だったか誰の目にも明らかですね。

このままだと暗いまま令和を迎えるのも残念なので、少し明るい話題も入れておきましょう。アベノミクスが始まったのは当時の民主党の国会解散からだと言われています。2012年11月を基準にしたグラフも下に示しておきます。

df_all=(1+data2["2012-11-1":].pct_change()).cumprod()
display(df_all.head().append(df_all.tail()))

df_all.plot(figsize=(8,6),fontsize=18)
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)  

plt.grid(True)
plt.show()

いろいろ批判もあるのは承知していますが、平成の時代の比較を見れば、よくやっているという評価をしてもいいのかな、とも思えます。
ただ、ブレが大きいので、いわゆるbuy&holdがしにくいだろうな、というチャート形状にはなっていますね。


なお、今回の期間内での高値、安値等は以下のサイト等も参考にさせていただきました。ありがとうございました。


ーー

Pythonで資産運用モデルを作成する記事をまとめました。
Pythonを用いて、株価取得、チャート表示、株価分析、株価予測、株価の機械学習、ポートフォリオの構築、ポートフォリオの最適化、スクレイピングなどを行う記事を集めました。
もし興味を持っていただけるなら読んでみてください。


今回このような記事を書いた理由は
>pythonの記事も少しだけ
というリクエストをいただいたからです。全てのリクエストにこたえられるわけではないですが、できる範囲内で、お答えしたいと思います。

もしうまくいって、もっと知りたいとか、ほかの人にも伝えたい!と思えたら、このnoteのフォローと、ツイッターで@AnalyseTfフォローしてくれるととてもうれしいです!

サポートしていただき大変ありがとうございます。 励みになります。