日経平均株価74年間の年足チャート
チャート等一部のデーター差し替え:2023年6月11日
算出元の期間:1949年5月16日~2023年6月9日の終値
データー数:19325
※ザラ場の高値・安値は含まれていません
このチャートはPythonとplotlyを使って作成しました。
動いている様子はTwitterをご覧下さい。
日経平均株価がバブル後の最高値を更新!
ニュースで賑わっています。
実はバブル後に何度も使われたフレーズ。
主要証券会社のツールではバブル期までさかのぼったチャートは見ることが出来ない。
Pythonで74年前からの年足チャートを表示させています。
つづく。 pic.twitter.com/RUqYKt7xbc
— あしお ゆたか (@yutaka_ashio) June 10, 2023
Pythonによる作成方法を解説します。
長期の株価情報を取得
長期の株価情報を取得します。
セントルイス連邦準備銀行fredデーターベースより、1949年以降最新のデータを取得します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 株価情報を取得するために必要な pandas_datareader ライブラリーをインポート 名前をwebとします。 import pandas_datareader.data as web # 株価データーを取得する期間を指定 start="1949/5/16" # 取得期間はスタートとエンドを指定できますが、今回はエンドを指定していません。 # エンドを指定しないと、最新の情報まで取得出来ます。 # end="2020/10/30" # ←今回は使用しませんが、エンドを指定するにはこのように記述します。 # セントルイス連邦準備銀行fredデーターベースより、1949年以降最新のデータまで取得 # N225という名前のデーターフレームに格納 nk225 = web.DataReader("NIKKEI225", 'fred',start) |
取得したデーターの先頭部分を確認
nk225.head()
NIKKEI225 | |
---|---|
DATE | |
1949-05-16 | 176.21 |
1949-05-17 | 174.80 |
1949-05-18 | 172.53 |
1949-05-19 | 171.34 |
1949-05-20 | 169.20 |
取得したデーターの後半部分を確認
nk225.tail()
NIKKEI225 | |
---|---|
DATE | |
2021-07-15 | 28279.09 |
2021-07-16 | 28003.08 |
2021-07-19 | 27652.74 |
2021-07-20 | 27388.16 |
2021-07-21 | 27548.00 |
リサンプリング
今回取得した日経平均株価は日毎の終値です。
終値データーから、年ごとの 始値・高値・安値・終値を算出します。
※ザラ場の高値・安値は含まれていないので注意
resample(‘Y’)でリサンプリングに年(’Y’)を指定します。
その戻り値に対して ohlc()を指定します。
※ ohlc()は、open(始値)/high(高値)/low(安値)/close(終値)を算出
1 2 3 4 5 6 |
#年ごとの 始値・高値・安値・終値を算出する。 #年を指定 resample('Y') #戻り値に対して ohlc()を指定 nk225_y = nk225['NIKKEI225'].resample('Y').ohlc() |
データーの中身を確認
nk225_y
上で出力された年ごとのデーターフレームは、インデックスが年の最終日となっています。
もちろん、リサンプリングは年毎だけで無く、月、週で実行する事も可能です。
年ごと:resample(‘Y’)
月ごと:resample(‘M’)
週ごと:resample(‘W’)
試しに月ごとにリサンプリングしてみました。
1 2 3 4 |
#月ごとにリサンプリング nk225_m = nk225['NIKKEI225'].resample('M').ohlc() nk225_m |
DATE | open | high | low | close |
---|---|---|---|---|
1949-05-31 | 176.21 | 176.52 | 169.20 | 176.52 |
1949-06-30 | 175.97 | 175.97 | 146.14 | 146.92 |
1949-07-31 | 147.37 | 149.14 | 134.80 | 144.59 |
1949-08-31 | 145.63 | 175.18 | 145.63 | 175.18 |
1949-09-30 | 176.89 | 176.89 | 160.41 | 163.29 |
… | … | … | … | … |
2021-03-31 | 29663.50 | 30216.75 | 28405.52 | 29178.80 |
2021-04-30 | 29388.87 | 30089.25 | 28508.55 | 28812.63 |
2021-05-31 | 29331.37 | 29518.34 | 27448.01 | 28860.08 |
2021-06-30 | 28814.34 | 29441.30 | 28010.93 | 28791.53 |
2021-07-31 | 28707.04 | 28783.28 | 27388.16 | 27548.00 |
867 rows × 4 columns
チャートに表示する
チャートに表示させます。
グラフを表示させるライブラリー plotly をインポートします。
plotlyなら動くグラフ(チャート)を簡単に作る事が出来るんです。
1 2 3 |
#plotlyをインポート import plotly.graph_objects as go |
plotlyでチャートを表示させるために、インデックスをリセットします。
1 2 3 |
nk225_r = nk225_y.reset_index() nk225_r |
DATE | open | high | low | close | |
---|---|---|---|---|---|
0 | 1949-12-31 | 176.21 | 176.89 | 98.50 | 109.91 |
1 | 1950-12-31 | 108.56 | 114.99 | 85.25 | 101.91 |
2 | 1951-12-31 | 102.10 | 168.87 | 102.10 | 166.06 |
3 | 1952-12-31 | 167.80 | 370.55 | 167.80 | 363.91 |
4 | 1953-12-31 | 364.89 | 474.43 | 295.18 | 377.95 |
… | … | … | … | … | … |
68 | 2017-12-31 | 19594.16 | 22939.18 | 18335.63 | 22764.94 |
69 | 2018-12-31 | 23506.33 | 24270.62 | 19155.74 | 20014.77 |
70 | 2019-12-31 | 19561.96 | 24066.12 | 19561.96 | 23656.62 |
71 | 2020-12-31 | 23204.86 | 27568.15 | 16552.83 | 27444.17 |
72 | 2021-12-31 | 27258.38 | 30467.75 | 27055.94 | 27548.00 |
73 rows × 5 columns
plotryの設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#初期化 fig = go.Figure() #ローソク足データーを指定 fig = go.Figure(data=[go.Candlestick(x=nk225_r['DATE'], open=nk225_r['open'], high=nk225_r['high'], low=nk225_r['low'], close=nk225_r['close'])]) # チャートのタイトルを表示 fig.update_layout(title_text="日経平均株価年足チャート") #スライドバー非表示 fig.update_layout(xaxis_rangeslider_visible=False) #チャートを表示 fig.show() |
特定のデーターを抽出する
高値が3万円を超えた年を抽出します。
1 2 3 |
#高値が3万円を超えた年を抽出 nk225_r[nk225_r['high'] > 30000] |
バブル期の3年と2021年、そして今年。
まとめ
1949年5月16日から74年以上にわたる日経平均株価を年足チャートに表しました。
証券会社が提供するツールでも、なかなか年足チャートまで見られるものは少ないのではないでしょうか。
バブル崩壊後の凄まじい下落が見て取れます。
これからも、Pythonを使った独自のチャートや、株価分析について記事を公開するつもりです。
この記事を書いた人
あしおゆたか
投資歴21年の個人投資家
机上の理論ではなく、実体験に基づいた記事作りをモットーにしています。
スポーツクラブに毎週2日~3日通い、サウナ後の暴飲暴食が趣味。(現在自粛中)
◇主な投資対象
日本株式
株式ETF(上場投資信託)
日経225先物
日経225先物オプション
◇運営者情報はこちら