Skip to content
Advertisement

how to get dates from yahoo finance

I have a problem with getting the dates from yfinance into my matplotlib graph can somebody help/show me how to get the dates from yfinance into my matplotlib graph

import numpy as np
import yfinance as yf
import matplotlib.pyplot as plt
import pandas as pd

# function getting data for the last x years with x weeks space from checking data and specific 
observation.
def stock_data(ticker, period, interval, observation):
    ticker = yf.Ticker(ticker)
    ticker_history = ticker.history(period, interval)
    print(ticker_history[observation]) #is here to show you the data that we get
    date = pd.date_range(ticker_history[period])
    x = date 
    y = np.array(ticker_history[observation])
    plt.style.use('dark_background')
    plt.plot(x,y)
    plt.ylabel('Price($)')
    plt.xlabel('Date', rotation=0)
    plt.show()

stock_data('GOOGL', '6mo', '1wk', 'Open')

Advertisement

Answer

Tested ✅

🔰You could extract the date from ticker_history[observation]
🔰 It is a Pandas Series object, so here’s how I’d do it:

import numpy as np
import yfinance as yf
import matplotlib.pyplot as plt
import pandas as pd

# function getting data for the last x years with x weeks space 
# from checking data and specific observation.
def stock_data(ticker, period, interval, observation):
    ticker = yf.Ticker(ticker)
    ticker_history = ticker.history(period, interval)
    print((ticker_history[observation])) 

    sf = ticker_history[observation]
    df = pd.DataFrame({'Date':sf.index, 'Values':sf.values})

    x = df['Date'].tolist()
    y = df['Values'].tolist()

    plt.style.use('dark_background')
    plt.plot(x,y)
    plt.ylabel('Price($)')
    plt.xlabel('Date', rotation=0)
    plt.show()

if __name__ == '__main__':
    stock_data('GOOGL', '6mo', '1wk', 'Open')
User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement