LoginSignup
2
4

yfinanceを使って株価データを取得する方法

Posted at

yfinanceとは?

yfinanceは、Yahoo Financeから株価データを取得するためのPythonライブラリです。
このライブラリを使うことで、株価データの取得が非常に簡単になります。

環境設定

まず、yfinanceをインストールする必要があります。
以下のコマンドを実行してインストールしましょう。

pip install yfinance

株価データの取得

それでは、実際にyfinanceを使って株価データを取得してみましょう。
今回は、Appleの株価データを例にします。

# yfinanceをインポート
import yfinance as yf

# 銘柄シンボルを指定してデータを取得
apple = yf.Ticker("AAPL")

# 歴史的な株価データを取得
hist = apple.history(period="1mo")

# 取得したデータを表示
print(hist)

各処理の説明

  1. ライブラリのインポート

    import yfinance as yf
    

    まず、yfinanceライブラリをインポートします。

  2. 株式データの取得

    apple = yf.Ticker("AAPL")
    

    Tickerクラスを使って、Appleの株価データを取得します。
    ここでは、Appleのティッカーシンボル(AAPL)を指定します。

  3. 歴史的な株価データを取得

    hist = apple.history(period="1mo")
    

    historyメソッドを使って、過去1ヶ月間の株価データを取得します。
    periodパラメータには、取得したい期間を指定します。
    (例: "1d"、"5d"、"1mo"、"3mo"、"6mo"、"1y"、"2y"、"5y"、"10y"、"ytd"、"max")

  4. データの表示

    print(hist)
    

    取得した株価データを表示します。

グラフの作成

取得した株価データをグラフに表示してみましょう。
Pythonのmatplotlibライブラリを使用します。

まず、matplotlibをインストールします。

pip install matplotlib

以下のコードを実行して、株価データのグラフを表示します。

# 必要なライブラリのインポート
import matplotlib.pyplot as plt

# 株価データの取得
apple = yf.Ticker("AAPL")
hist = apple.history(period="1mo")

# グラフのサイズを設定
plt.figure(figsize=(10, 5))

# 日付をX軸、終値をY軸にしてグラフを作成
plt.plot(hist.index, hist['Close'], label='Apple (AAPL)')

# グラフのタイトルを設定
plt.title('Apple Stock Price - Last 1 Month')

# X軸のラベルを設定
plt.xlabel('Date')

# Y軸のラベルを設定
plt.ylabel('Closing Price (USD)')

# 凡例を表示
plt.legend()

# グリッドを表示
plt.grid()

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

各処理の説明

  1. ライブラリのインポート

    import matplotlib.pyplot as plt
    

    matplotlibライブラリをインポートします。

  2. 株価データの取得
    ここは先ほどの株価データ取得と同じです。

  3. グラフの作成

    # グラフのサイズを設定
    plt.figure(figsize=(10, 5))
    # 日付をX軸、終値をY軸にしてグラフを作成
    plt.plot(hist.index, hist['Close'], label='Apple (AAPL)')
    # グラフのタイトルを設定
    plt.title('Apple Stock Price - Last 1 Month')
    # X軸のラベルを設定
    plt.xlabel('Date')
    # Y軸のラベルを設定
    plt.ylabel('Closing Price (USD)')
    # 凡例を表示
    plt.legend()
    # グリッドを表示
    plt.grid()
    # グラフを表示
    plt.show()
    

以上

2
4
0

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
2
4