Bu repo, Türkiye Cumhuriyet Merkez Bankası (TCMB) tarafından sunulan Elektronik Veri Dağıtım Sistemi (EVDS) API’sine Python üzerinden nasıl erişileceğini adım adım gösterir.
Bu proje ile EVDS API üzerinden ekonomik verileri (örneğin döviz kurları, faiz oranları, endeksler vb.) Python kullanarak çekmeyi, düzenlemeyi ve analiz etmeyi öğreneceksin.
- EVDS Resmî Sitesine Git →
- Giriş yap veya yeni bir hesap oluştur.
- Profil sayfandan bir API Key (anahtar) oluştur.
- Bu anahtarı kodda
YOUR_API_KEYolarak kullanacaksın.
🔐 Not: API anahtarını paylaşma. Kodunu GitHub’a yüklerken gizli tut.
Terminal veya Colab hücresine şu komutu yaz:
pip install evds pandas matplotlibAşağıdaki kod, 2013’ten bugüne kadar EUR/TL kurunu EVDS API üzerinden çekip CSV’ye kaydeder:
from evds import evdsAPI
import pandas as pd
from datetime import date
# 1️⃣ EVDS API bağlantısı
api = evdsAPI("YOUR_API_KEY")
# 2️⃣ Veri çekme (EUR / TL kuru)
df = api.get_data(
series=["TP.DK.EUR.A.YTL"],
startdate="01-01-2013",
enddate=date.today().strftime("%d-%m-%Y"),
)
# 3️⃣ Tarih formatlama
df["Tarih"] = pd.to_datetime(df["Tarih"], dayfirst=True, errors="coerce")
df = df.sort_values("Tarih")
# 4️⃣ CSV çıktısı oluşturma
df.to_csv("TP_DK_EUR_A_YTL_2013_today.csv", index=False, encoding="utf-8-sig")
# 5️⃣ İlk 5 satırı görüntüle
print(df.head())Veriyi çizdirmek için matplotlib kütüphanesini kullanabilirsin:
import matplotlib.pyplot as plt
plt.figure(figsize=(10,5))
plt.plot(df["Tarih"], df["TP.DK.EUR.A.YTL"], label="EUR/TL")
plt.title("EUR / TL Döviz Kuru (2013–Günümüz)")
plt.xlabel("Tarih")
plt.ylabel("Kur")
plt.grid(True)
plt.legend()
plt.show()| Tarih | TP.DK.EUR.A.YTL |
|---|---|
| 2013-01-02 | 2.33 |
| 2013-01-03 | 2.34 |
| 2013-01-04 | 2.34 |
| ... | ... |
| Veri Türü | EVDS Kodu |
|---|---|
| USD / TL Döviz Kuru | TP.DK.USD.A.YTL |
| TÜFE (Genel) | TP.FG.J0 |
| Faiz Oranları | TP.KK.MB.AO |
| Sanayi Üretim Endeksi | TP.SUE.A |
🔍 Farklı serileri öğrenmek için EVDS Seri Pazarı sayfasına göz atabilirsin.
❓ API Key geçersiz diyor, ne yapmalıyım?
→ EVDS hesabından yeni bir anahtar oluştur. Kopyalarken boşluk kalmadığından emin ol.
❓ Veri çekilmiyor, neden olabilir?
→ Seri kodunu doğru girdiğinden emin ol (büyük/küçük harf ve noktalama farkı önemlidir).
❓ CSV dosyası Türkçe karakter hatası veriyor.
→ encoding="utf-8-sig" parametresi eklenmeli.