3
6

More than 1 year has passed since last update.

Pythonで株価データを取得し、グラフ化

Last updated at Posted at 2023-03-12

サンプルコード1

import pandas_datareader.data as web
import datetime
import matplotlib.pyplot as plt

start = datetime.datetime(2020, 1, 1)
end = datetime.datetime(2021, 12, 31)
df = web.DataReader("AAPL", "yahoo", start, end)

print(df.head())

plt.plot(df.index, df['Close'])
plt.title('AAPL stock price')
plt.xlabel('Date')
plt.ylabel('Price ($)')
plt.show()

解説

ライブラリのインストール
Pythonで株価データを取得するためには、pandas-datareaderライブラリを使用することができます。また、グラフを描画するためにmatplotlibライブラリも必要です。これらのライブラリをインストールするには、次のコマンドを実行します。

!pip install pandas-datareader matplotlib
データの取得
pandas-datareaderライブラリを使用して、株価データを取得します。以下の例では、AAPL(Apple Inc.)の株価データを取得しています。

Python
import pandas_datareader.data as web
import datetime

start = datetime.datetime(2020, 1, 1)
end = datetime.datetime(2021, 12, 31)
df = web.DataReader("AAPL", "yahoo", start, end)

上記の例では、2020年1月1日から2021年12月31日までのAAPL(Apple Inc.)の株価データをyahooファイナンスから取得しています。

データの確認
取得したデータを確認するために、DataFrameのhead()関数を使用することができます。

print(df.head())
グラフの作成
matplotlibライブラリを使用して、株価データをグラフ化します。
以下の例では、AAPL(Apple Inc.)の株価を折れ線グラフで表示しています。

Python
import matplotlib.pyplot as plt

plt.plot(df.index, df['Close'])
plt.title('AAPL stock price')
plt.xlabel('Date')
plt.ylabel('Price ($)')
plt.show()

上記の例では、x軸には日付、y軸には株価を表示しています。また、グラフのタイトル、x軸、y軸のラベルも設定しています。最後に、plt.show()関数を使用してグラフを表示します。

サンプルコード2

import pandas_datareader as pdr
import matplotlib.pyplot as plt

# Alpha VantageからAPIキーを取得(無料)
api_key = "YOUR_API_KEY"

# 株価データを取得(例:ソフトバンクグループ)
df = pdr.DataReader("9984.T", "av-daily", start="2021-01-01", end="2021-03-10", api_key=api_key)

# グラフにタイトルと軸ラベルを設定
plt.title("SoftBank Group Stock Price")
plt.xlabel("Date")
plt.ylabel("Price (JPY)")

# グラフに株価データをプロット
plt.plot(df.index, df["close"])

# グラフを表示
plt.show()

このPythonコードは、Pandas DataReaderを使用して、Alpha Vantage APIから株価データを取得し、Matplotlibを使用して株価グラフをプロットして表示するものです。

解説

モジュールのインポート

import pandas_datareader as pdr
import matplotlib.pyplot as plt

まず、pandas_datareaderとmatplotlibモジュールをインポートします。

APIキーの取得

api_key = "YOUR_API_KEY"

Alpha VantageからAPIキーを取得して、変数api_keyに代入します。
無料で取得できます。

株価データの取得

df = pdr.DataReader("9984.T", "av-daily", start="2021-01-01", end="2021-03-10", api_key=api_key)

pandas_datareaderを使用して、Alpha Vantage APIから株価データを取得し、PandasのDataFrameに格納します。
ここでは、DataReader関数を使用して、株価コード("9984.T"はソフトバンクグループのコード)、データの種類("av-daily"は日次株価データ)、期間("2021-01-01"から"2021-03-10"まで)、APIキーを指定しています。

グラフの設定

plt.title("SoftBank Group Stock Price")
plt.xlabel("Date")
plt.ylabel("Price (JPY)")

Matplotlibを使用して、グラフのタイトル、横軸ラベル、縦軸ラベルを設定します。

株価データのプロット

plt.plot(df.index, df["close"])

Pandas DataFrameから、株価の日付(インデックス)と終値の列を取得して、plt.plot()関数でグラフにプロットします。

グラフの表示

plt.show()

plt.show()関数で、グラフを表示します。

メソッド説明

plt.plot()とplt.show()は、matplotlibライブラリでグラフを描画するために使用される関数です。

plt.plot()は、グラフを描画するためのメソッドであり、引数として横軸と縦軸のデータを指定します。
例えば、以下のように書きます。

plt.plot(x, y)

ここで、xは横軸のデータ、yは縦軸のデータを表します。
このコードを実行することで、x軸にxの値、y軸にyの値を持つグラフが描画されます。

一方、plt.show()は、描画したグラフを表示するためのメソッドです。
このメソッドを呼び出すことで、グラフが画面に表示されます。

plt.show()
上記のコードは、plt.plot(x, y)で描画したグラフを表示するために、plt.show()を呼び出しています。

つまり、plt.plot()はグラフの描画のみを行い、plt.show()は描画されたグラフを表示するためのメソッドです。グラフを描画した後にplt.show()を呼び出すことで、描画したグラフを表示することができます。

3
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6