Pythonコード集

【Pythonコード集】たった数行でラインチャートをつくってみよう!

目安:この記事は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()』を追記するだけで、以下のチャートが作成できます。

アップル(AAPL)の株価チャート

 

Pythonコードを5行書くだけで、アップル(AAPL)のラインチャートが作成できました!

 

チャートを編集してみよう!

ここで終わっては、あまりにも味気ない記事となってしまいます。

なのでここから先は、以下4つのことを編集&追加して、シンプルすぎるラインチャートをもう少しかっこよくしてみましょう!

簡単な流れ

  • サイズの編集
  • グリッドラインの追加
  • 色と太さの設定
  • タイトルの追加

 

サイズの編集

上のチャートは、あまりにも小さすぎます。

なので、まずはチャートのサイズを編集してみましょう!

Pythonコード

aapl['Adj Close'].plot(figsize = (15,7))

plotのカッコの中にー

figsize

『figsize = (横のサイズ,縦のサイズ)』

と書くだけです。

今回は横:15、縦:7の長方形サイズのチャートとしました。

アップル(AAPL)の株価チャート:チャートサイズ

figsizeを設定するだけで、自在にチャートサイズを変更することができます!

 

グリッドラインの追加

次は、チャートの中に縦と横の線ーつまり『グリッドライン』を描画します。

Pythonコード

aapl['Adj Close'].plot(figsize = (15,7), 
                       grid = True);

plotのカッコの中にー

grid

grid = True

と書くだけです。

アップル(AAPL)の株価チャート:グリッドライン

より見やすいチャートへ編集することができました。

 

ラインチャートの編集

次に、ラインチャートの色と太さを編集しています。

まずは色の設定です。今回は黒にしてみました。

Pythonコード

aapl['Adj Close'].plot(figsize = (15,7), 
                       grid = True, 
                       color ='black');

plotのカッコの中にー

color

color ='black'

と書くだけです。

アップル(AAPL)の株価チャート:ラインの色

すると、ラインチャートが薄い青から黒に変わりました。

バックが白なので、黒にすると見やすくなりましたね。

 

次は、ラインの太さを変えてみましょう。

Pythonコード

aapl['Adj Close'].plot(figsize = (15,7), 
                       grid = True, 
                       color ='black', 
                       lw = 5);

plotのカッコの中にー

line_width

lw = 数字

と書くだけです。数字が大きくなればなるほど、ラインが太くなります。

今回は『5』としました。

アップル(AAPL)の株価チャート:太さ

ラインを太くすることで、より見やすくなってきましね!

 

さて、最後にチャートにタイトルをつけてみましょう!

今回は、新しく2行のコードを追記します。

Pythonコード

plt.title('Apple Stock Price', fontsize = 30)
plt.ylabel('Price(USD)',fontsize = 20)

plt.title
チャートのタイトルを追加するコードです。
カッコの中で、タイトル名とフォントサイズを設定します。

plt.ylabel
縦軸(y軸)のタイトル(ラベル)を追加するコードです。
カッコの中で、タイトル名とフォントサイズを設定します。

ちなみに、横軸(x軸)のタイトル(ラベル)を追加するコードは『plt.xlabel』となります。

上のコードを追記すると、以下のチャートが描画されます。

アップル(AAPL)の株価チャート:タイトル

最初のウルトラシンプルなラインチャートと比べると、かなり見やすくなりましたね!

 

おまけ

ここから先は、おまけです。

上のチャートをみると、今年の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つのコードを追記すると、さらにプロフェッショナルなチャートが描画されました!

アップル(AAPL)の株価チャート:水平&垂直線

 

あなたも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');

今回は以上です!


注記事項

ジェイの米国株投資ブログ(以下当サイト)に掲載されている記事は、投資の助言を目的としたものではありません。当サイトに掲載されたコンテンツの正確性については、可能な限り注意を払っています。しかし、意図せず誤情報が紛れ込む可能性や情報そのものが古くなっている可能性があり、その正確性を完全に保証するものではありません。
当サイトのコンテンツを参考に投資を行い、その後発生したいかなる結果についても、当サイト並びにブログ運営者は一切責任を負いません。すべての投資行動は『自己責任の原則』のもとで行ってください

 

-Pythonコード集