yfinance

Retrieve stock price data with yfinance

Table of contents

Daily OHLC bars

Retrieve daily OHLC bar data for MSFT, AAPL, AMZN, GOOG, and NLFX from Jan 1, 2020 to June 30, 2020.

In [1]:
import yfinance as yf
import pandas as pd

tickers = ['MSFT', 'AAPL', 'AMZN', 'GOOG', 'NFLX']
daily_df = yf.download(
    tickers = tickers,
    start='2020-01-01',
    end='2020-07-01',
    auto_adjust=True,
    group_by='ticker'
)
[*********************100%***********************]  5 of 5 completed
In [2]:
daily_df.head(2)
Out[2]:
NFLX AAPL ... AMZN GOOG
Open High Low Close Volume Open High Low Close Volume ... Open High Low Close Volume Open High Low Close Volume
Date
2020-01-02 326.100006 329.980011 324.779999 329.809998 4485800 73.552572 74.635108 73.291874 74.573036 135480400 ... 1875.0 1898.010010 1864.150024 1898.010010 4029000 1341.550049 1368.140015 1341.550049 1367.369995 1406600
2020-01-03 326.779999 329.859985 325.529999 325.899994 3806900 73.778510 74.630133 73.617125 73.848030 146322800 ... 1864.5 1886.199951 1864.500000 1874.969971 3764400 1347.859985 1372.500000 1345.543945 1360.660034 1186400

2 rows × 25 columns

In [3]:
daily_df.tail(2)
Out[3]:
NFLX AAPL ... AMZN GOOG
Open High Low Close Volume Open High Low Close Volume ... Open High Low Close Volume Open High Low Close Volume
Date
2020-06-29 445.230011 447.670013 432.140015 447.239990 4844000 88.153557 90.379547 87.661943 90.282219 130646000 ... 2690.010010 2696.800049 2630.080078 2680.379883 4223400 1358.180054 1395.599976 1347.010010 1394.969971 1810200
2020-06-30 450.019989 457.589996 447.000000 455.040009 4198500 89.857982 91.330333 89.838021 91.035858 140223200 ... 2685.070068 2769.629883 2675.030029 2758.820068 3769700 1390.439941 1418.650024 1383.959961 1413.609985 2042400

2 rows × 25 columns

Minute bars

Retrieve minute bars for MSFT on September 1, 2020 during trading hours.

In [4]:
tickers = ['MSFT']
minute_df = yf.download(
    tickers = tickers,
    start='2020-09-01', # start is inclusive
    end='2020-09-02', # end is exclusive
    auto_adjust=True,
    group_by='ticker',
    interval='1m'
)

minute_df.head(2)
[*********************100%***********************]  1 of 1 completed
Out[4]:
Open High Low Close Volume
Datetime
2020-09-01 09:30:00-04:00 225.559998 225.789993 225.438797 225.789993 1218430
2020-09-01 09:31:00-04:00 225.729996 225.880005 225.279999 225.330002 199552
In [5]:
minute_df.tail(2)
Out[5]:
Open High Low Close Volume
Datetime
2020-09-01 15:58:00-04:00 226.949997 227.070007 226.880005 227.044998 205554
2020-09-01 15:59:00-04:00 227.039993 227.449997 227.029999 227.320007 446572