Access WRDS data through PostgreSQL in Python.
Project description
PyWRDS from Wharton Research Data Services
PyWRDS 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 PyWRDS package is supported on Python 3.8 through 3.12. To ensure you have a supported Python version, type python --version at a command line interface, and check that it is between 3.8 and 3.12. On some systems, Python may be in installed as python3. You can download Python here if it isn't installed.
The PyWRDS 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 PyWRDS 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 pywrds pywrds
$ source pywrds/bin/activate
(pywrds) $ python -m pip install -U pip wheel wrds
In this example, Python will create a venv in your current directory ./pywrds, so that when you want to use it again, you can simply activate it:
$ source pywrds/bin/activate
Windows
C:\Users\username> python -m venv --copies --prompt pywrds pywrds
C:\Users\username> pywrds\Scripts\activate
(pywrds) C:\Users\username> python -m pip install -U pip wheel wrds
In this example, Python will create a venv in the directory C:\Users\username\pywrds, so that when you want to use it again, you can simply activate it:
C:\Users\username> pywrds\Scripts\activate
For detailed information on installation of the module, please see PYTHON: From Your Computer (Jupyter/Spyder)
Using the PyWRDS 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
Development and Test Suite
Clone the repository and install with pip install -e .[dev]. Then run pytest.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wrds-3.5.0.tar.gz.
File metadata
- Download URL: wrds-3.5.0.tar.gz
- Upload date:
- Size: 20.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c6f63a9e370e216b6d6f31da23d9fdb3b9cf4a93e7870449e11c4c597f3825f
|
|
| MD5 |
765541b0fef3f856b135b2a1bb8608b7
|
|
| BLAKE2b-256 |
e2f30e3baedf7ad4dbdca68766f24b107cca939474c43eccd048a1f1aa154dab
|
File details
Details for the file wrds-3.5.0-py3-none-any.whl.
File metadata
- Download URL: wrds-3.5.0-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5da209e8f84e75800b0c38237569a0ae0deb670707fabfb7036a9625392ced9
|
|
| MD5 |
36621c7cc1785d104430920d1c50cbdb
|
|
| BLAKE2b-256 |
54655ee72a4d1dba095b1068c7c8d5872d3d8c27bc7e8b7c3001ad6d09307838
|