Skip to main content

Access WRDS data through PostgreSQL in Python.

Project description

WRDS-Py from Wharton Research Data Services

WRDS-Py is a Python package for examining datasets on the Wharton Research Data Services (WRDS) platform, and extracting data to Pandas dataframes. A WRDS account is required.

Installation

The WRDS-Py package requires Python 3.8 or newer. To ensure you have a supported Python version, type python --version at a command line interface, and check that it is greater than 3.8. On some systems, Python may be in installed as python3. You can download Python here if it isn't installed.

The WRDS-Py package must be installed before it can be used for the first time. The recommended method is to use a virtual environment (venv), so you can import it to use in Python. This example will install the WRDS-Py package (wrds) and IPython, which provides a much nicer command line interface than is included with Python.

Linux or MacOS

$ python -m venv --copies --prompt wrds-py wrds-py
$ source wrds-py/bin/activate
(wrds-py) $ python -m pip install -U pip wheel wrds ipython

In this example, Python will create a venv in your current directory ./wrds-py, so that when you want to use it again, you can simply activate it:

$ source wrds-py/bin/activate

Windows

C:\Users\username> python -m venv --copies --prompt wrds-py wrds-py
C:\Users\username> wrds-py\Scripts\activate
(wrds-py) C:\Users\username> python -m pip install -U pip wheel wrds ipython

In this example, Python will create a venv in the directory C:\Users\username\wrds-py, so that when you want to use it again, you can simply activate it:

C:\Users\username> wrds-py\Scripts\activate

For detailed information on installation of the module, please see PYTHON: From Your Computer (Jupyter/Spyder)

Using the Py-WRDS Package

Type ipython to start the IPython command line interface.

For detailed information on use of the module, please see Querying WRDS Data using Python

A quick tutorial:

In [1]: import wrds
In [2]: db = wrds.Connection()
Enter your credentials.
Username: <your_username>
Password: <your_password>
In [3]: db.list_libraries()
['audit', 'bank', 'block', 'bvd', 'bvdtrial', 'cboe', ...]
In [4]: db.list_tables(library="crsp")
['aco_amda', 'aco_imda', 'aco_indfnta', 'aco_indfntq', ...]
In [5]: db.describe_table(library="crsp", table="stocknames")
Approximately 58957 rows in crsp.stocknames.
       name    nullable              type
0      permno      True  DOUBLE PRECISION
1      namedt      True              DATE
2   nameenddt      True              DATE
...

In [6]: stocknames = db.get_table(library="crsp", table="stocknames", rows=10)
In [7]: stocknames.head()
   permno  permco      namedt   nameenddt     cusip    ncusip ticker  \
0  10000.0  7952.0  1986-01-07  1987-06-11  68391610  68391610  OMFGA
1  10001.0  7953.0  1986-01-09  1993-11-21  36720410  39040610   GFGC
2  10001.0  7953.0  1993-11-22  2008-02-04  36720410  29274A10   EWST
3  10001.0  7953.0  2008-02-05  2009-08-03  36720410  29274A20   EWST
4  10001.0  7953.0  2009-08-04  2009-12-17  36720410  29269V10   EGAS

In [7]: db.close()  # Close the connection to the database.

In [8]: with wrds.Connection() as db:  # You can use a context manager
   ...:     stocknames = db.get_table(library='crsp', table='stocknames', rows=10)
   ...: stocknames.head()
   permno  permco      namedt   nameenddt     cusip    ncusip ticker  \
0  10000.0  7952.0  1986-01-07  1987-06-11  68391610  68391610  OMFGA
1  10001.0  7953.0  1986-01-09  1993-11-21  36720410  39040610   GFGC
2  10001.0  7953.0  1993-11-22  2008-02-04  36720410  29274A10   EWST
3  10001.0  7953.0  2008-02-05  2009-08-03  36720410  29274A20   EWST
4  10001.0  7953.0  2009-08-04  2009-12-17  36720410  29269V10   EGAS

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wrds-3.2.0.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

wrds-3.2.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file wrds-3.2.0.tar.gz.

File metadata

  • Download URL: wrds-3.2.0.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.7

File hashes

Hashes for wrds-3.2.0.tar.gz
Algorithm Hash digest
SHA256 dc6adc7a8628f827c344b5c2a3969b0b19f6ab5db8437d7b1f9861fe471017a6
MD5 1d8c2e74d22b6c2b0251fd27f5b97c36
BLAKE2b-256 01c27e01a543309deb62e6665d6000fd3ad43c98576edfc97ef7f40b950a6753

See more details on using hashes here.

File details

Details for the file wrds-3.2.0-py3-none-any.whl.

File metadata

  • Download URL: wrds-3.2.0-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.7

File hashes

Hashes for wrds-3.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8fad8cc1309ea1a66f421dd07e7f8186524f02dbafceeec8601b7eb7b785f173
MD5 f527096b5d8af0456abad946248a4a6f
BLAKE2b-256 478c3cce877628950ccb3a0a8d3c77ca6c28d2f5068c20ac3f0c1b44a1db3d7c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page