Skip to content
All library documents

Using CRSP Data for Historical Shares and Market Capitalization

Article Quant Q&A · Author: Valentin

Summary

The document addresses how to obtain historical shares outstanding and market capitalization for companies currently in the S&P 500. The questioner wants monthly market-cap figures extending back to 2013, ideally for use in Python, and notes that Yahoo Finance supplies current market capitalization but not the needed historical series. Cost and access speed are constraints, and bid-ask data is mentioned as a secondary interest.

The response points university researchers to CRSP, a research database that may be available through their institution. It says CRSP provides bid and ask information and identifies price and shares-outstanding fields whose product can be used to calculate market capitalization. It also notes that the calculation can be applied across US stocks. The exchange does not give field definitions, units, code, or a worked example, and it does not confirm coverage for the exact current S&P 500 constituent set or the desired monthly dates. Availability depends on university access.

Key ideas

  • CRSP is suggested as a university-accessible source for historical US equity data.
  • The response identifies price and shares-outstanding variables as inputs to market-cap calculations.
  • Bid and ask fields may also support analysis of spreads.
  • The suggested database can be queried across US stocks, though implementation details are not provided.
  • Access to the data depends on the researcher's institution.

Tags

Full text
# For a university project I need the historical number of outstanding shares for all companies currently in the S&P 500


# For a university project I need the historical number of outstanding shares for all companies currently in the S&P 500












Up until now I have been using the yahoo finance api which provides lots of data already that I can use for my analysis. Unfortunately I need the historical number of outstanding shares for multiple calculations including the historical market capitalization. Useful would also be the bid ask spread but that is not the focus here. I am writing my project in python and ideally want to pass a function the stock symbols. Using the stock symbols, the function would return the monthly market capitalizations reaching as far back as 2013

I have tried via the yahoo finance api but that only provides the current markt cap. Haven't found solutions via alpha vantage either and want to avoid paying for access. University Databases don't seem to provide the necessary information and are slow to access.

If any of you have some experience in that area, help would be greatly appreciated.

Thanks a lot :)

## Answer by phdstudent (score 2)

https://quant.stackexchange.com/a/76340

If you are at a University you likely have access to CRSP. CRSP is very fast to access and has the information you need. See a list of variables below.

You have bid, ask and if you multiply the variables prc and shrout you get market caps.

You can do this for all US stocks at once. It's pretty straightforward.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.