A Python implementation for retrieving and transforming macroeconomic time series data from TCMB EVDS (CBRT EDDS) API.
Project description
evdsts
The Purpose
evdsts
is a Python implementation for retrieving and transforming macroeconomic time series data from
The Central Bank of Republic of Türkiye Electronic Data Delivery System (EDDS) API.
evdsts
is designed for making both data retrieving and also time series analysis easy thanks to its
time series analysis ready outputs and other useful transformations.
The Overview
evdsts
is mainly designed for preparing the time series analysis ready datasets from the data
retrieved from EDDS. evdsts
both makes the data retrieving easy and also allows you to start
working on data instantly with its advanced features that gives you complete control over the
retrieved data.
evdsts
is consisted of two important classes:
The Connector
: Responsible for processes such as; connecting to EDDS, data retrieving, data renaming, etc.The Transformator
: Works co-integrated with theConnector
and responsible for making some useful transformations which can provide you a preliminary undestanding about the series you're dealing with.
Some key features of evdsts
are listed below:
evdsts
can perform instant transformations on retrieved data thanks to itsTransformator
class. The Transformator is designed to co-work withConnector
and perform a set of frequently used transformations on retrieved data such as; z-score calculation, dummy series creation, outliers detection, differentiation and others.- You can search series by keywords in
evdsts
without any need for visiting EDDS website to find series definitions you would like to retrieve from the service. Searches are done locally and gives you instant results. evdsts
ensures that all returned data can be used for mathematical operations instantly. That guarantees no anystring
type is returned for a data type which actually represents adatetime
,float
orint
type.- All retrieved data are converted to real time series automatically (optional, can be disabled)
- Requesting data from the API doesn't require remembering the complex series names definitions of
the original EDDS database to retrieve them.
evdsts
allows you to assign meaningful names to the series such as; cppi, ir, gdp and usdtry, and these assigned names can be used when retrieving data from the EDDS later on. User assigned names are called reference names, and they are permanent once they are assigned to series unless they're changed or deleted. Additionally, current reference names in a project can be transferred to new projects easily. - All parameters belong to transformation and aggregation functions and frequencies are renamed in
a meaningful manner like
daily
,quarterly
,percent
,diff
,max
, etc. and these definitions are used as parameters for retrieving data from the API service. Therefore, there is no need to know original API's complex parameter definitions for transformation or aggregation functions or time series frequencies anymore. evdsts
detects many kinds of errors and warns you before a connection request is made. This allows you to know why the data would not be able to be retrieved with provided parameters, or, about emerged ambiguities which are arisen from the provided parameter sets.evdsts
allows you to make useful data transformations such as higher order differentiations or log-returns that are originally not supported by the API, but is used for time series analysis frequently.- All types of retrieved data can be returned in
DataFrame
,JSON
ordict
types optionally. - All retrieved data can be written on disk in
JSON
,CSV
andXLS
formats in order to store and use them later, or in other softwares such as R, EViews, SAS or RATS. - All functions and class methods are fully annotated and you can get peak hints for everything you need to use while working with Spyder IDE, Pycharm, VS Code or Jupyter.
- All types in source code are annotated (and commented) to make working easy on source code for developers.
Documentation
Please see THE USER MANUAL for detailed explanations about how to get an API key from the EDDS and use evdsts
Examples
Please download the Jupyter Notebook Application that covers the main use cases of evdsts
,
or alternatively open it on Google Colab by clicking the Open in Colab link above.
Dependencies
evdsts
is a Python 3 only project and depends on below packages:
- cpython >= 3.8.0 (or equivalent PyPy distribution)
- pandas >= 2.0.0
- requests >= 2.12.5
Additional Requirements
openpyxl is required if you would like to write data on disk in MS Excel format. openpyxl is not required if you don't think working with MS Excel files.
Installation
Stable version of evdsts
is available on GitHub, PyPI and conda-forge and can be installed
following one of the below ways:
PyPI
pip install evdsts
GitHub
pip install git+https://github.com/syncoding/evdsts.git
Conda
conda install evdsts -c conda-forge
Source Code
Changelog
License
Contact
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 evdsts-1.0rc4.tar.gz
.
File metadata
- Download URL: evdsts-1.0rc4.tar.gz
- Upload date:
- Size: 445.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3853343a0688b621f8e634b9071dadf28053190ea9ce5f61cef4f7636a58b723 |
|
MD5 | 3e6a3f9089d6657b935e4e6f1c786c28 |
|
BLAKE2b-256 | dc1656f4d31d464f07d7c2c853cb2a8bb375cb3fbec431025908a4e8efb8048a |
File details
Details for the file evdsts-1.0rc4-py3-none-any.whl
.
File metadata
- Download URL: evdsts-1.0rc4-py3-none-any.whl
- Upload date:
- Size: 447.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99227d8d4afd2d1c39f239c63e50705de12f44f21d77d153d802927309a53f6f |
|
MD5 | afbc7b65b013c79e73a3def6fc06f230 |
|
BLAKE2b-256 | 20f5c759e2fad1ff860c2bbb3c4c12a22e4764c1c25c747aa4da7092f03ab4dd |