Skip to main content

A Python implementation for retrieving and transforming macroeconomic time series data from TCMB EVDS (CBRT EDDS) API.

Project description

evdsts

PyPI version PyPI - Downloads PyPI - Python Version PyPI - Status GitHub - License GitHub issues GitHub top language GitHub Fork

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:

  1. The Connector: Responsible for processes such as; connecting to EDDS, data retrieving, data renaming, etc.
  2. The Transformator: Works co-integrated with the Connector 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 its Transformator class. The Transformator is designed to co-work with Connector 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 any string type is returned for a data type which actually represents a datetime, float or int 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 or dict types optionally.
  • All retrieved data can be written on disk in JSON, CSV and XLS 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 Open In Colab

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:

  1. cpython >= 3.6.15 (or equivalent PyPy distribution)
  2. pandas >= 0.25.3
  3. 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

GitHub

Changelog

Changelog

License

MIT

Contact

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

evdsts-1.0rc3.tar.gz (311.5 kB view hashes)

Uploaded Source

Built Distribution

evdsts-1.0rc3-py3-none-any.whl (315.2 kB view hashes)

Uploaded Python 3

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