Wednesday, November 18, 2020

Tip: Data retrieval with Python

If you're not familiar with Python, you should learn. It's a powerful programming language that can extract data from websites. And there are many code libraries for doing that retrieval. 

The Google Colaboratory website allows you to easily run Python code from the browser:

https://colab.research.google.com/notebooks/intro.ipynb#recent=true

A good introduction to retrieving Yahoo data is here:

https://medium.com/@realmistic/use-your-computer-to-make-informed-decisions-in-stock-trading-practical-introduction-part-2-832e6f67f590

For example, a program as simple as:

!pip install yfinance
import yfinance as yf
pfe = yf.Ticker('PFE')
pfe.info

...will allow access to all of this data:

{'52WeekChange': 0.025267482,
 'SandP52WeekChange': 0.16119564,
 'address1': '235 East 42nd Street',
 'algorithm': None,
 'annualHoldingsTurnover': None,
 'annualReportExpenseRatio': None,
 'ask': 36.55,
 'askSize': 4000,
 'averageDailyVolume10Day': 82095557,
 'averageVolume': 31018400,
 'averageVolume10days': 82095557,
 'beta': 0.641488,
 'beta3Year': None,
 'bid': 36.52,
 'bidSize': 1800,
 'bookValue': 11.744,
 'category': None,
 'circulatingSupply': None,
 'city': 'New York',
 'companyOfficers': [],
 'country': 'United States',
 'currency': 'USD',
 'dateShortInterest': 1604016000,
 'dayHigh': 37.42,
 'dayLow': 36.3,
 'dividendRate': 1.52,
 'dividendYield': 0.0422,
 'earningsQuarterlyGrowth': -0.714,
 'enterpriseToEbitda': 13.11,
 'enterpriseToRevenue': 5.206,
 'enterpriseValue': 253279617024,
 'exDividendDate': 1604534400,
 'exchange': 'NYQ',
 'exchangeTimezoneName': 'America/New_York',
 'exchangeTimezoneShortName': 'EST',
 'expireDate': None,
 'fiftyDayAverage': 35.149593,
 'fiftyTwoWeekHigh': 39.83871,
 'fiftyTwoWeekLow': 26.451612,
 'fiveYearAverageReturn': None,
 'fiveYearAvgDividendYield': 3.62,
 'floatShares': 5548891741,
 'forwardEps': 2.84,
 'forwardPE': 12.788733,
 'fromCurrency': None,
 'fullTimeEmployees': 88300,
 'fundFamily': None,
 'fundInceptionDate': None,
 'gmtOffSetMilliseconds': '-18000000',
 'heldPercentInsiders': 0.00046999997,
 'heldPercentInstitutions': 0.70032,
 'industry': 'Drug Manufacturers—General',
 'isEsgPopulated': False,
 'lastCapGain': None,
 'lastDividendDate': 1604534400,
 'lastDividendValue': 0.36053,
 'lastFiscalYearEnd': 1577750400,
 'lastMarket': None,
 'lastSplitDate': 1605571200,
 'lastSplitFactor': '1054:1000',
 'legalType': None,
 'logo_url': 'https://logo.clearbit.com/pfizer.com',
 'longBusinessSummary': 'Pfizer Inc. develops, manufactures, and sells healthcare products worldwide. It offers medicines and vaccines in various therapeutic areas, including cardiovascular metabolic and pain under the Eliquis, Chantix/Champix, and Premarin family brands; biologics, small molecules, immunotherapies, and biosimilars under the Ibrance, Sutent, Xtandi, Xalkori, Inlyta, Braftovi + Mektovi brands; and sterile injectable and anti-infective medicines under the Sulperazon, Medrol, Vfend, and Zithromax brands. The company also provides medicines and vaccines in various therapeutic areas, such as pneumococcal disease, meningococcal disease, and tick-borne encephalitis under the Prevnar 13/Prevenar 13 (pediatric/adult), FSME-IMMUN, Nimenrix, and Trumenba brands; biosimilars for chronic immune and inflammatory diseases under the Xeljanz, Enbrel, Inflectra, and Eucrisa brands; and amyloidosis, hemophilia, and endocrine diseases under the Vyndaqel/Vyndamax, BeneFIX, Genotropin, and Refacto AF/Xyntha brands. In addition, the company is involved in the contract manufacturing business. It serves wholesalers, retailers, hospitals, clinics, government agencies, pharmacies, and individual provider offices, as well as disease control and prevention centers. The company has collaboration and/or co-promotion agreements with Bristol-Myers Squibb Company and Astellas Pharma US, Inc.; a licensing agreement with Akcea Therapeutics, Inc; a strategic alliance with Verily Life Sciences LLC; collaboration agreements with Merck KGaA and Valneva SE; a clinical trial collaboration and supply agreement with IDEAYA Biosciences, Inc.; a material transfer and collaboration agreement with BioNTech SE; a clinical supply collaboration with Jiangsu Alphamab Biopharmaceuticals Co., Ltd; a research collaboration and license agreement with BioInvent International AB; and a multi-target drug discovery collaboration with Sosei Group Corporation. Pfizer Inc. was founded in 1849 and is headquartered in New York, New York.',
 'longName': 'Pfizer Inc.',
 'market': 'us_market',
 'marketCap': 201881092096,
 'maxAge': 1,
 'maxSupply': None,
 'messageBoardId': 'finmb_162270',
 'morningStarOverallRating': None,
 'morningStarRiskRating': None,
 'mostRecentQuarter': 1601164800,
 'navPrice': None,
 'netIncomeToCommon': 8686000128,
 'nextFiscalYearEnd': 1640908800,
 'open': 36.93,
 'openInterest': None,
 'payoutRatio': 0.96769994,
 'pegRatio': -12.73,
 'phone': '212 733 2323',
 'previousClose': 36.04,
 'priceHint': 2,
 'priceToBook': 3.092643,
 'priceToSalesTrailing12Months': 4.1497483,
 'profitMargins': 0.17854,
 'quoteType': 'EQUITY',
 'regularMarketDayHigh': 37.42,
 'regularMarketDayLow': 36.3,
 'regularMarketOpen': 36.93,
 'regularMarketPreviousClose': 36.04,
 'regularMarketPrice': 36.93,
 'regularMarketVolume': 62576363,
 'revenueQuarterlyGrowth': None,
 'sector': 'Healthcare',
 'sharesOutstanding': 5558400000,
 'sharesPercentSharesOut': 0.0083,
 'sharesShort': 45925049,
 'sharesShortPreviousMonthDate': 1601424000,
 'sharesShortPriorMonth': 45163995,
 'shortName': 'Pfizer, Inc.',
 'shortPercentOfFloat': 0.0083,
 'shortRatio': 1.93,
 'startDate': None,
 'state': 'NY',
 'strikePrice': None,
 'symbol': 'PFE',
 'threeYearAverageReturn': None,
 'toCurrency': None,
 'totalAssets': None,
 'tradeable': False,
 'trailingAnnualDividendRate': 1.5,
 'trailingAnnualDividendYield': 0.041620422,
 'trailingEps': 1.538,
 'trailingPE': 23.615084,
 'twoHundredDayAverage': 34.76005,
 'volume': 62576363,
 'volume24Hr': None,
 'volumeAllCurrencies': None,
 'website': 'http://www.pfizer.com',
 'yield': None,
 'ytdReturn': None,
 'zip': '10017'}