目安:この記事は2分で読めます。
今回のサマリー
Pythonを使えば、簡単に株価チャートが作成できます。
今回はたった数行で、株価のラインチャートを作成するコードをご紹介します。
なお、最後のまとめでは、今回紹介したコードを一気にご紹介しています。
ぜひ、最後までお付き合いください!
この記事の対象となる人
こんな人におすすめ
- Pythonでチャートを作成したい人
- Pythonを学びたいと思っている人
この記事でわかること
わかること
- PythonとYahoo!finance USのデータを使って、爆速で株価チャートをつくる方法
▼ Udemyおすすめの講座 ▼
・Pythonの基礎から応用まで一気に学ぶならこのコース おすすめ度
▶現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
・データサイエンスを学ぶならこの2コース 2コースのおすすめ度
▶【世界で37万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜
▶【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門
・Python、ファイナンス、英語を一気に学ぶ ”欲張りコース” おすすめ度
▶Python for Finance: Investment Fundamentals & Data Analytics
※このコースには日本語の字幕がついています。
Python、ファイナンスそして英語の力を同時に上げるコースとしては、Udemy最強のコースです。
ジェイもこのコースで学び、今も復習で使っているコースです。
必要なのはたった5行のコードだけ
結論からいいます。
PythonとYahoo!finance USの株価データを使えば、たった5行のコードでシンプルなラインチャートがつくれます!
実際に、アップル(ティッカーコード:AAPL)で実践してみます。
たった4行のPythonコード
#必要なライブラリのインポート import pandas as pd import pandas_datareader as web import matplotlib.pyplot as plt #アップルの株価を取得 aapl = web.DataReader(name='aapl', data_source='yahoo', start='2021-01-01', end='2021-12-31') # ラインチャートの作成 aapl['Adj Close'].plot()
以下では、上で書いたコードをひとつひとつ解説します。
ライブラリの解説
使うライブラリはたったの3つだけです。
3つのライブラリ
- pandas
- pandas_datareader
- matplotlib
1番目の『pandas』は、Python版のエクセルと思ってください。
これは、Pythonの分析で必ずといって良いほど使うライブラリです。
2番目の『pandas_datareader』が、Yahoo!finance USから株価のデータを取得するための可視化ライブラリです。
3番目の『matplotlib』は、Pythonでチャートやグラフを作成するためのライブラリです。
コードの書き方は色々ありますが、今回のようにー
コード書き方
import matplotlib.pyplot as plt
と書くのが、一番シンプルです。
次は、アップルの株価データを取得する時に使った『pandas_datareader』について解説します。
pandas_datareaderの解説
ポイントは、『pandas_datareader』の引数にあります。
これを設定することで、あなたが取得したい銘柄や期間を自在に設定することができます。
pandas_datareaderの引数
- name
- data_source
- start
- end
1番目の『name』で、取得したい銘柄のコードを設定します。
例:アップルならAAPL、アマゾンならAMZN、ネットフリックスならNFLX
2番目の『data_source』はYahoo!finance USから株価のデータを取得するので、必ず『yahoo』と設定します。
3番目の『start』は、株価のデータを取得したい最初の日を設定します。
4番目の『end』は、株価のデータを取得したい最後の日を設定します。
今回のように日付を直接入力してもOK。
その場合は文字型になるので、必ず『' '』や『" "』で日付をくくります。
以下の記事の中で書いたコードのように、『datetime関数』で設定してもOKです。
-
【Pythonコード集】たったの数行でYahoo!finance USから株価データを取得する方法
続きを見る
結果
上のコードを実行すると、以下の結果が表示されます。
たった4行のコードを書くだけで、株価データの基本である四本値ー『始値・高値・安値・終値』だけでなく、出来高や調整後の終値まで一気に取得できました!
価格データが取得できたので、次はいよいよチャートの作成です。
チャートの作成
Pythonでチャートを作成する場合、よく使うライブラリが『matplotlib』です。
結論から言いますと、ラインチャートの場合、以下の1行でサクッとつくることができます。
matplotlib
変数名.plot()
今回は、アップルの終値でラインチャートを作成します。
よって、価格データの中から『Adj Close』のみをピックアップします。
matplotlib
変数名[ ' ピックアップしたいカラム名 ' ]
とすれば、以下のように調整後の終値のみのデータを抽出できます。
この『aapl['Adj Close']』に、上の『.plot()』を追記するだけで、以下のチャートが作成できます。
Pythonコードを5行書くだけで、アップル(AAPL)のラインチャートが作成できました!
チャートを編集してみよう!
ここで終わっては、あまりにも味気ない記事となってしまいます。
なのでここから先は、以下4つのことを編集&追加して、シンプルすぎるラインチャートをもう少しかっこよくしてみましょう!
簡単な流れ
- サイズの編集
- グリッドラインの追加
- 色と太さの設定
- タイトルの追加
サイズの編集
上のチャートは、あまりにも小さすぎます。
なので、まずはチャートのサイズを編集してみましょう!
Pythonコード
aapl['Adj Close'].plot(figsize = (15,7))
plotのカッコの中にー
figsize
『figsize = (横のサイズ,縦のサイズ)』
と書くだけです。
今回は横:15、縦:7の長方形サイズのチャートとしました。
figsizeを設定するだけで、自在にチャートサイズを変更することができます!
グリッドラインの追加
次は、チャートの中に縦と横の線ーつまり『グリッドライン』を描画します。
Pythonコード
aapl['Adj Close'].plot(figsize = (15,7), grid = True);
plotのカッコの中にー
grid
grid = True
と書くだけです。
より見やすいチャートへ編集することができました。
ラインチャートの編集
次に、ラインチャートの色と太さを編集しています。
まずは色の設定です。今回は黒にしてみました。
Pythonコード
aapl['Adj Close'].plot(figsize = (15,7), grid = True, color ='black');
plotのカッコの中にー
color
color ='black'
と書くだけです。
すると、ラインチャートが薄い青から黒に変わりました。
バックが白なので、黒にすると見やすくなりましたね。
次は、ラインの太さを変えてみましょう。
Pythonコード
aapl['Adj Close'].plot(figsize = (15,7), grid = True, color ='black', lw = 5);
plotのカッコの中にー
line_width
lw = 数字
と書くだけです。数字が大きくなればなるほど、ラインが太くなります。
今回は『5』としました。
ラインを太くすることで、より見やすくなってきましね!
さて、最後にチャートにタイトルをつけてみましょう!
今回は、新しく2行のコードを追記します。
Pythonコード
plt.title('Apple Stock Price', fontsize = 30) plt.ylabel('Price(USD)',fontsize = 20)
▷plt.title
チャートのタイトルを追加するコードです。
カッコの中で、タイトル名とフォントサイズを設定します。
▷plt.ylabel
縦軸(y軸)のタイトル(ラベル)を追加するコードです。
カッコの中で、タイトル名とフォントサイズを設定します。
ちなみに、横軸(x軸)のタイトル(ラベル)を追加するコードは『plt.xlabel』となります。
上のコードを追記すると、以下のチャートが描画されます。
最初のウルトラシンプルなラインチャートと比べると、かなり見やすくなりましたね!
おまけ
ここから先は、おまけです。
上のチャートをみると、今年の6月以降、アップル株の上昇圧力が高まっていることがわかります。
そして142ドルの水準が、レジスタンスのポイントからサポートのポイントへ転換していることがわかります。
これらの点をわかりやすくするため、縦と横にそれぞれラインを描画してみましょう!
Pythonコード
#水平のライン plt.axhline(y = 142, color = 'red', ls = 'dotted') #垂直のライン plt.axvline(x = '2021-06', color = 'red', ls = 'dotted')
▷plt.axhline
チャート内に水平の線を設定するコード
カッコの引数
- y:yの水準を設定
- color:色の設定
- ls:ラインスタイルの設定
最後の『ls:ラインスタイル』には、以下の種類があります。
ラインスタイルの種類
-
'-', '--', '-.', ':'
- 'solid', 'dashed', 'dashdot', 'dotted'
▷plt.axhline
チャート内に垂直の線を設定するコード
今回は『2021-6(2021年6月)』としました。
カッコの引数
- x:xの水準を設定
- color:色の設定
- ls:ラインスタイルの設定
上2つのコードを追記すると、さらにプロフェッショナルなチャートが描画されました!
あなたもPythonの可視化ライブラリ『matplotlib』を使って、オリジナルチャートの作成にチャレンジしてみてください!
▼ matplotlibの基本▼
matplotlibについて知りたい方はこちらへ!
Pythonを学びたい方へ
この記事で見てきたように、Pythonを使えばたったの数行で株価チャートがつくれます。
matplotlibに『seaborn』というライブラリを組み合わせれば、もっとみやすく、そしてカッコいいチャートが作れます。
今回紹介した方法は、いずれも基本的なコードです。
しかし、シンプルなコードを見ただけでも『プログラミングって難しそう...』と感じてしまう初心者の方を多く見かけます。
ジェイも最初はそうでした。
しかし、プログラミングは『習うより慣れろ』です。
今回の記事を読んで『よし!自分もPythonに挑戦してみよう!』と思った方は、以下のリンク先をご覧ください。
ジェイが考える『Pythonを効率良く学習する方法』について解説しています。
▼ Pythonを効率的に学ぶ方法を知りたいなら以下をクリック ▼
Pythonを学ぼう
このブログと出会ったのも何かの縁です。
ぜひ挑戦してみてください!!
まとめ
今回は、たった数行のPythonコードを書くだけで、簡単にラインチャートを作成できるコードを紹介しました。
また、ジェイが考える効率的なPythonの学習方法については、上のリンク先からご覧いただけます。
最後に今回のコード一覧をご紹介します。
コピペして遊んでみてください!
Pythonコード一覧
#ライブラリのインポート import pandas as pd import pandas_datareader as web import matplotlib.pyplot as plt #アップルの株価データを取得 aapl = web.DataReader(name='aapl', data_source='yahoo', start='2021-01-01', end='2021-12-31') #ラインチャートの作成 aapl['Adj Close'].plot(figsize = (15,7), grid = True, color ='black', lw = 5) #チャートの編集&追記 plt.title('Apple Stock Price', fontsize = 30) plt.ylabel('Price(USD)',fontsize = 20) plt.axhline(y = 142, color = 'red', ls = 'dotted') plt.axvline(x = '2021-06', color = 'red', ls = 'dotted');
今回は以上です!
注記事項
当サイトのコンテンツを参考に投資を行い、その後発生したいかなる結果についても、当サイト並びにブログ運営者は一切責任を負いません。すべての投資行動は『自己責任の原則』のもとで行ってください。