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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc6adc7a8628f827c344b5c2a3969b0b19f6ab5db8437d7b1f9861fe471017a6 |
|
MD5 | 1d8c2e74d22b6c2b0251fd27f5b97c36 |
|
BLAKE2b-256 | 01c27e01a543309deb62e6665d6000fd3ad43c98576edfc97ef7f40b950a6753 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fad8cc1309ea1a66f421dd07e7f8186524f02dbafceeec8601b7eb7b785f173 |
|
MD5 | f527096b5d8af0456abad946248a4a6f |
|
BLAKE2b-256 | 478c3cce877628950ccb3a0a8d3c77ca6c28d2f5068c20ac3f0c1b44a1db3d7c |