Skip to content

evdsts; Türkiye Cumhuriyet Merkez Bankası Elektronik Veri Dağıtım Sistemi (EVDS) API üzerinden makroekonomik veri alımı için geliştirilmiş bir Python uyarlamasıdır. evdsts, verdiği zaman serileri analizine hazır çıktılar ve diğer faydalı dönüşümleriyle; hem veri alımını hem de zaman serileri anzlizlerini kolaylaştırmak için dizayn edilmiştir.

License

Notifications You must be signed in to change notification settings

syncoding/evdsts

Repository files navigation

evdsts

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

Amaç

evdsts Türkiye Cumhuriyet Merkez Bankası Elektronik Veri Dağıtım Sistemi (EVDS) API üzerinden makroekonomik veri alımı için geliştirilmiş bir Python uyarlamasıdır. evdsts, verdiği zaman serileri analizine hazır çıktılar ve diğer faydalı dönüşümleriyle; hem veri alımını hem de zaman serileri anzlizlerini kolaylaştırmak için dizayn edilmiştir.

Tanıtım

evdsts genel olarak EVDS'den alınan veriden, zaman serileri analizlerine hazır veri setleri hazırlamak için dizayn edilmiştir. evdsts, gelişmiş özellikleri ve veri üzerinde size verdiği kontrol sayesinde hem veri alımını kolaylaştırır hem de veri alınır alınmaz üzerinde çalışmaya başlamanızı sağlar.

evdsts iki önemli sınıftan oluşmuştur:

  1. Connector: EVDS'ye bağlantı, veri indirme, isimlendirme gibi süreçleri üstlenir.
  2. Transformator: Connector tarafından alınan veri ile tam uyumlu çalışır ve zaman serileri analizinde size veri hakkında ön fikirler verebilecek bazı yararlı dönüşümleri yapar.

evdsts'nin bazı önemli özellikleri aşağıda verilmiştir:

  • evdsts ile alınan veri üzerinde; z-skor serisi hesaplama, kukla değişken serileri oluşturma, dışa düşen verilerin tespiti, fark serileri oluşturma gibi bazı dönüşümleri veri alınır alınmaz kolayca yapılabilir. Bu dönüşümlerden sorumlu olanTransformator sınıfı, Connector sınıfı tarafından oluşturulan veri ile tam uyumlu olarak çalışması için dizayn edilmiştir.
  • İndirmek istediğiniz serilerin isimlerini aramak için EVDS web sitesini ziyaret etmenize gerek kalmadan evdsts içinde anahtar kelimeler ile seri tanımlarını arayabilirsiniz. Aramalar lokal olarak (disk üzerinde) yapılır ve anında sonuç verir.
  • evdsts geri döndürdüğü verinin başka hiçbir dönüşüme gerek kalmadan matematiksel süreçlerde kullanılabilir olmasını sağlar. Bu, aslında bir datetime, float ya da int gibi matematiksel bir veri türünü ifade hiçbir verinin bir string veri olarak geri dönmemesini garanti eder.
  • Alınan tüm veri otomatik olarak gerçek zaman serilerine dönüştürülür (seçimli, kapatılabilir)
  • Servisten veri almak için EVDS'nin karmaşık seri etiketlerinin bilinmesine gerek yoktur. evdsts size tüfe, faiz, gsmh ve usdtry gibi anlamlı isimlerin seri isimleri olarak atama özgürlüğü verir ve bu atanan isimler EVDS'den veri almak için kullanılır. Kullanıcı tarafından atanan isimler referans isimler olarak adlandırılır ve silinmedikleri ya da değiştirilmedikleri sürece kalıcıdırlar. Ek olarak, mevcut bir projedeki referans isimler kolayca başka bir projeye taşınabilir.
  • Bütün transformasyon ve yığılma fonksiyonları ve frekansla parametreleri daily, quarterly, percent, diff, max, vs. gibi anlamlı parametrelere dönüştürülmüştür. Böylece artık EVDS'nin transformasyon ve yığılma fonksiyonları ve zaman serileri frekansları için atadığı karmaşık parametre haritasını bilmeye gerek yoktur.
  • evdsts, EVDS'ye bağlantı yapılmadan önce bir çok hatayı tespit edebilir ve sizi uyarabilir. Bu, niçin verilen parametrelere veri alınamayacağını ya da verilen parametrelerin niçin belirsizlik yarattığını bilmenize olanak tanır.
  • evdsts, veri üzerinde log-return serileri ya da 2., 3., n. seviye fark serileri gibi API tarafından desteklenmeyen fakat zaman seri analizlerinde sıklıkla kullanılan dönüşümleri yapabilmenizi sağlar.
  • Alınan tüm veriler DataFrame, JSON ya da dict sınıfları olarak isteğe bağlı biçimde geri döndürülebilir.
  • Alınan tüm veriler daha sonra kullanılmak üzere saklanmak ya da; R, EViews, SAS ya da RATS gibi diger analiz uygulamarında kullanılmak üzere JSON, CSV ve XLS formatında diske yazılabilir.
  • Tüm fonksiyon ve sınıf metotlarının anotasyonu yapılmıştır. Bu sayede; Spyder IDE, Pycharm, VS Code ya da Jupyter üzerinde kullanmak istediğiniz herhangi bir fonksiyon hakkında anlık yardım alabilirsiniz.
  • Geliştiricilerin kaynak kod üzerinde çalışmasını kolaylaştırmak için kaynak kod içinde tüm değişken tiplerinin anotasyonu (gerekli yorumlarla birlikte) yapılmıştır.

Dökümanlar

evdsts'yi nasıl kullanacağınızı ve EVDS'ye bağlantı için gereken API anahtarını nasıl alacağınızı detaylı olarak öğrenmek için:
KULLANICI EL KITABI (TR) ya da
THE USER MANUAL (EN)
dökümanlarına göz atın.

Örnekler Open In Colab

Ana kullanım senaryolarını içeren Jupyter Notebook Uygulaması'nı indirin ya da yukarıdaki Open in Colab linkini kullanarak uygulamayı Google Colab üzerinde açın.

Gereklilikler

evdsts bir Python 3 projesidir ve aşağıda sıralananlar gereklidir:

  1. cpython >= 3.6.15 (ya da eşdeğer PyPy sürümü)
  2. pandas >= 0.25.3
  3. requests >= 2.12.5

Ek Gereklilikler

Alınan verileri MS Excel formatında diske kaydetmeyi düşünüyorsanız openpyxl paketi gereklidir. Eğer MS Excel dosyaları ile çalışmayı düşünmüyorsanız openpyxl bağımlılığı yoktur.

Kurulum

evdsts'nin stabil sürümü GitHub, PyPI ve conda-forge üzerinde bulunur ve aşağıdaki yollardan herhangi biri kullanılarak kurulum gerçekleştirilebilir.

PyPI

pip install evdsts

GitHub

pip install git+https://github.com/syncoding/evdsts.git

Conda

conda install evdsts -c conda-forge

Kaynak Kod

GitHub

Versiyon Değişiklik Günlüğü

Changelog

Lisans

MIT

İletişim

Telegram

About

evdsts; Türkiye Cumhuriyet Merkez Bankası Elektronik Veri Dağıtım Sistemi (EVDS) API üzerinden makroekonomik veri alımı için geliştirilmiş bir Python uyarlamasıdır. evdsts, verdiği zaman serileri analizine hazır çıktılar ve diğer faydalı dönüşümleriyle; hem veri alımını hem de zaman serileri anzlizlerini kolaylaştırmak için dizayn edilmiştir.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages