Struggling with Virtual Environments
So before I was even able to pull financial data off Yahoo Finance using Python, I really struggled with remembering how to create a virtual environment (venv). I’ve always known that it is important to work on a venv so as to not interfere with the global Python environment. Additionally, it makes it easier to share my work with other developers.
Libraries and Dictionaries
Regardless, after being saved by tech Indian gurus on YouTube, I immediately got started on reviewing an article by Ran Aroussi , who developed the yfinance library. This library is able to reliably extract data from Yahoo Finance.
After installation of the pip command (pip install yfinance), I had to pass an argument of the ticker symbol that I wish to extract information from. A ticker represents each stock/security uniquely for trading purposes. In this illustration, I wanted to extract Facebook’s financial data using the ticker “FB”.
Extracting keys from the dictionary
Company information is contained within the info dictionary. I was able to extract certain elements of the dictionary by printing the keys of the info dictionary. Examples of the keys I extracted include: ‘sector’, ‘address1’ and ‘fiftyTwoWeekHigh’.
Additionally, it is possible to extract daily prices over a specified period of time. This is possible through specifying the period. Valid entries include 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y and ytd(year to date).
Furthermore, I was able to extract daily prices within a range of time. First, I had to import the datetime library. According to Python documentation, the datetime module supplies classes for manipulating dates and times. Specifically, the class datetime.datetime contains attributes of year, month, day, hour, minute, second, microsecond and tzinfo.
I proceeded to define my start and end dates and got an output of daily prices between the specified dates.